From 405e274f22beca254354b48c065b7271558b3256 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 14 Jan 2025 00:08:26 -0600 Subject: [PATCH 001/330] Adds a .NET 9 SDK setup action to linters (#3979) ## About The Pull Request https://github.com/tgstation/tgstation/pull/88988 --------- Co-authored-by: Mark Suckerberg --- .github/workflows/autowiki.yml | 125 ++++++++++--------- .github/workflows/ci_suite.yml | 35 +++--- .github/workflows/docker_publish.yml | 2 +- .github/workflows/generate_documentation.yml | 4 +- .github/workflows/make_changelogs.yml | 2 +- .github/workflows/rerun_flaky_tests.yml | 4 +- .github/workflows/run_integration_tests.yml | 14 +-- .github/workflows/update_tgs_dmapi.yml | 2 +- .tgs.yml | 2 +- dependencies.sh | 2 +- 10 files changed, 100 insertions(+), 92 deletions(-) diff --git a/.github/workflows/autowiki.yml b/.github/workflows/autowiki.yml index 10d3cea1e676..baeb57421361 100644 --- a/.github/workflows/autowiki.yml +++ b/.github/workflows/autowiki.yml @@ -1,7 +1,7 @@ name: Autowiki on: schedule: - - cron: "5 4 * * *" + - cron: "5 4 * * *" workflow_dispatch: permissions: @@ -11,74 +11,75 @@ jobs: autowiki: runs-on: ubuntu-latest steps: - - name: "Check for AUTOWIKI_USERNAME" - id: secrets_set - env: - ENABLER_SECRET: ${{ secrets.AUTOWIKI_USERNAME }} - run: | - unset SECRET_EXISTS - if [ -n "$ENABLER_SECRET" ]; then SECRET_EXISTS=true ; fi - echo "SECRETS_ENABLED=$SECRET_EXISTS" >> $GITHUB_OUTPUT + - name: "Check for AUTOWIKI_USERNAME" + id: secrets_set + env: + ENABLER_SECRET: ${{ secrets.AUTOWIKI_USERNAME }} + run: | + unset SECRET_EXISTS + if [ -n "$ENABLER_SECRET" ]; then SECRET_EXISTS=true ; fi + echo "SECRETS_ENABLED=$SECRET_EXISTS" >> $GITHUB_OUTPUT - - name: Checkout - if: steps.secrets_set.outputs.SECRETS_ENABLED - uses: actions/checkout@v3 + - name: Checkout + if: steps.secrets_set.outputs.SECRETS_ENABLED + uses: actions/checkout@v4 - - name: Setup BYOND cache - id: cache-byond - if: steps.secrets_set.outputs.SECRETS_ENABLED - uses: actions/cache@v3 - with: - path: ~/BYOND - key: ${{ runner.os }}-byond-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }} + - name: Setup BYOND cache + id: cache-byond + if: steps.secrets_set.outputs.SECRETS_ENABLED + uses: actions/cache@v4 + with: + path: ~/BYOND + key: ${{ runner.os }}-byond-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }}-${{ hashFiles('.github/workflows/autowiki.yml') }} - - name: Install BYOND - if: steps.cache-byond.outputs.cache-hit != 'true' && steps.secrets_set.outputs.SECRETS_ENABLED - run: bash tools/ci/install_byond.sh + - name: Install BYOND + if: steps.cache-byond.outputs.cache-hit != 'true' && steps.secrets_set.outputs.SECRETS_ENABLED + run: bash tools/ci/install_byond.sh - - name: Install runtime dependencies - if: steps.secrets_set.outputs.SECRETS_ENABLED - run: | - sudo dpkg --add-architecture i386 - sudo apt update || true - sudo apt install -o APT::Immediate-configure=false libssl-dev:i386 - bash tools/ci/install_rust_g.sh + - name: Install runtime dependencies + if: steps.secrets_set.outputs.SECRETS_ENABLED + run: | + sudo dpkg --add-architecture i386 + sudo apt update || true + sudo apt install -o APT::Immediate-configure=false libssl-dev:i386 libgcc-s1:i386 + bash tools/ci/install_rust_g.sh - - name: Cache dependencies - if: steps.secrets_set.outputs.SECRETS_ENABLED - uses: actions/cache@v3 - with: - path: ~/.byond/bin - key: ${{ runner.os }}-deps-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }} + - name: Cache dependencies + id: cache-deps + if: steps.secrets_set.outputs.SECRETS_ENABLED + uses: actions/cache@v4 + with: + path: ~/.byond/bin + key: ${{ runner.os }}-autowiki-deps-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }}-${{ hashFiles('.github/workflows/autowiki.yml') }} - - name: Install build dependencies - if: steps.cache-deps.outputs.cache-hit != 'true' && steps.secrets_set.outputs.SECRETS_ENABLED - run: | - sudo apt install -o APT::Immediate-Configure=false libgcc-s1:i386 g++-multilib zlib1g-dev:i386 - rustup target add i686-unknown-linux-gnu + - name: Install build dependencies + if: steps.cache-deps.outputs.cache-hit != 'true' && steps.secrets_set.outputs.SECRETS_ENABLED + run: | + sudo apt install -o APT::Immediate-Configure=false g++-multilib zlib1g-dev:i386 + rustup target add i686-unknown-linux-gnu - - name: Build auxmos - if: steps.cache-deps.outputs.cache-hit != 'true' && steps.secrets_set.outputs.SECRETS_ENABLED - run: bash tools/ci/build_auxmos.sh + - name: Build auxmos + if: steps.cache-deps.outputs.cache-hit != 'true' && steps.secrets_set.outputs.SECRETS_ENABLED + run: bash tools/ci/build_auxmos.sh - - name: Build rust-g - if: steps.cache-deps.outputs.cache-hit != 'true' && steps.secrets_set.outputs.SECRETS_ENABLED - run: bash tools/ci/build_rust_g.sh + - name: Build rust-g + if: steps.cache-deps.outputs.cache-hit != 'true' && steps.secrets_set.outputs.SECRETS_ENABLED + run: bash tools/ci/build_rust_g.sh - - name: Compile and generate Autowiki files - if: steps.secrets_set.outputs.SECRETS_ENABLED - run: | - bash tools/ci/install_byond.sh - source $HOME/BYOND/byond/bin/byondsetup - tools/build/build --ci autowiki + - name: Compile and generate Autowiki files + if: steps.secrets_set.outputs.SECRETS_ENABLED + run: | + bash tools/ci/install_byond.sh + source $HOME/BYOND/byond/bin/byondsetup + tools/build/build --ci autowiki - - name: Run Autowiki - if: steps.secrets_set.outputs.SECRETS_ENABLED - env: - USERNAME: ${{ secrets.AUTOWIKI_USERNAME }} - PASSWORD: ${{ secrets.AUTOWIKI_PASSWORD }} - run: | - cd tools/autowiki - npm install - cd ../.. - node tools/autowiki/autowiki.js data/autowiki_edits.txt data/autowiki_files/ + - name: Run Autowiki + if: steps.secrets_set.outputs.SECRETS_ENABLED + env: + USERNAME: ${{ secrets.AUTOWIKI_USERNAME }} + PASSWORD: ${{ secrets.AUTOWIKI_PASSWORD }} + run: | + cd tools/autowiki + npm install + cd ../.. + node tools/autowiki/autowiki.js data/autowiki_edits.txt data/autowiki_files/ diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index 568e19a20a88..cfb850bd16fc 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -32,14 +32,13 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: master - - uses: actions/checkout@v3 - name: Restore SpacemanDMM cache id: cache-spacemandmm - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/dreamchecker key: ${{ runner.os }}-spacemandmm-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }} @@ -48,22 +47,24 @@ jobs: - name: Restore BYOND cache id: cache-byond - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/BYOND - key: ${{ runner.os }}-byond-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }} + key: ${{ runner.os }}-byond-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }}-${{ hashFiles('.github/workflows/ci_suite.yml') }} + - name: Install BYOND if: steps.cache-byond.outputs.cache-hit != 'true' run: bash tools/ci/install_byond.sh - name: Restore Yarn cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: tgui/.yarn/cache - key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }} + key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}-${{ hashFiles('.github/workflows/ci_suite.yml') }} restore-keys: | - ${{ runner.os }}-build-${{ secrets.CACHE_PURGE_KEY }}- - ${{ runner.os }}-build- + ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}- + ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}- + ${{ runner.os }}-yarn- ${{ runner.os }}- - name: Install Tools @@ -108,8 +109,13 @@ jobs: tools/bootstrap/python -m ci.check_regex --log-changes-only --github-actions cat check_regex_output.txt + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4.2.0 + with: + dotnet-version: 9.x + - name: Install OpenDream - uses: robinraju/release-downloader@v1.9 + uses: robinraju/release-downloader@v1.11 with: repository: "OpenDreamProject/OpenDream" tag: "latest" @@ -134,7 +140,7 @@ jobs: uses: actions/cache@v3 with: path: ~/BYOND - key: ${{ runner.os }}-byond-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }} + key: ${{ runner.os }}-byond-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }}-${{ hashFiles('.github/workflows/ci_suite.yml') }} - name: Install BYOND if: steps.cache-byond.outputs.cache-hit != 'true' run: bash tools/ci/install_byond.sh @@ -187,10 +193,11 @@ jobs: uses: actions/cache@v3 with: path: tgui/.yarn/cache - key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }} + key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}-${{ hashFiles('.github/workflows/ci_suite.yml') }} restore-keys: | - ${{ runner.os }}-build-${{ secrets.CACHE_PURGE_KEY }}- - ${{ runner.os }}-build- + ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}- + ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}- + ${{ runner.os }}-yarn- ${{ runner.os }}- - name: Compile diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml index 1d7c299831a2..65bccd871720 100644 --- a/.github/workflows/docker_publish.yml +++ b/.github/workflows/docker_publish.yml @@ -11,7 +11,7 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]')" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build and Publish Docker Image to Registry uses: elgohr/Publish-Docker-Github-Action@master diff --git a/.github/workflows/generate_documentation.yml b/.github/workflows/generate_documentation.yml index e987d05ad2a9..57362bd74f6d 100644 --- a/.github/workflows/generate_documentation.yml +++ b/.github/workflows/generate_documentation.yml @@ -23,9 +23,9 @@ jobs: url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Restore SpacemanDMM cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/SpacemanDMM key: ${{ runner.os }}-spacemandmm-${{ secrets.CACHE_PURGE_KEY }} diff --git a/.github/workflows/make_changelogs.yml b/.github/workflows/make_changelogs.yml index 1a30c8183e35..2d79d1c85e45 100644 --- a/.github/workflows/make_changelogs.yml +++ b/.github/workflows/make_changelogs.yml @@ -11,7 +11,7 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]')" steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 25 - name: Python setup diff --git a/.github/workflows/rerun_flaky_tests.yml b/.github/workflows/rerun_flaky_tests.yml index 317356dcee00..0e1b07ba33e1 100644 --- a/.github/workflows/rerun_flaky_tests.yml +++ b/.github/workflows/rerun_flaky_tests.yml @@ -16,7 +16,7 @@ jobs: if: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.run_attempt == 1 }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Rerun flaky tests uses: actions/github-script@v6 with: @@ -28,7 +28,7 @@ jobs: if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.run_attempt == 2 }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Report flaky tests uses: actions/github-script@v6 with: diff --git a/.github/workflows/run_integration_tests.yml b/.github/workflows/run_integration_tests.yml index 699151fe6f99..b9db5633076f 100644 --- a/.github/workflows/run_integration_tests.yml +++ b/.github/workflows/run_integration_tests.yml @@ -28,14 +28,14 @@ jobs: - 3306 options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup BYOND cache id: cache-byond - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/BYOND - key: ${{ runner.os }}-byond-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }} + key: ${{ runner.os }}-byond-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }}-${{ hashFiles('.github/workflows/run_integration_tests.yml') }} - name: Install BYOND if: steps.cache-byond.outputs.cache-hit != 'true' @@ -45,19 +45,19 @@ jobs: run: | sudo dpkg --add-architecture i386 sudo apt update || true - sudo apt install -o APT::Immediate-Configure=false libssl-dev:i386 + sudo apt install -o APT::Immediate-Configure=false libssl-dev:i386 libgcc-s1:i386 - name: Setup dependencies cache id: cache-deps - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.byond/bin - key: ${{ runner.os }}-deps-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }} + key: ${{ runner.os }}-deps-cache-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('dependencies.sh') }}-${{ hashFiles('.github/workflows/run_integration_tests.yml') }} - name: Install build dependencies if: steps.cache-deps.outputs.cache-hit != 'true' run: | - sudo apt install -o APT::Immediate-Configure=false libgcc-s1:i386 g++-multilib zlib1g-dev:i386 + sudo apt install -o APT::Immediate-Configure=false g++-multilib zlib1g-dev:i386 rustup target add i686-unknown-linux-gnu - name: Build auxmos diff --git a/.github/workflows/update_tgs_dmapi.yml b/.github/workflows/update_tgs_dmapi.yml index 8aa77d0d6310..f014a93be9f1 100644 --- a/.github/workflows/update_tgs_dmapi.yml +++ b/.github/workflows/update_tgs_dmapi.yml @@ -11,7 +11,7 @@ jobs: name: Update the TGS DMAPI steps: - name: Clone - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Branch run: | diff --git a/.tgs.yml b/.tgs.yml index 76a53577b505..c29326d77603 100644 --- a/.tgs.yml +++ b/.tgs.yml @@ -3,7 +3,7 @@ version: 1 # The BYOND version to use (kept in sync with dependencies.sh by the "TGS Test Suite" CI job) # Must be interpreted as a string, keep quoted -byond: "515.1633" +byond: "515.1642" # Folders to create in "/Configuration/GameStaticFiles/" static_files: # Config directory should be static diff --git a/dependencies.sh b/dependencies.sh index b702df60dacd..88e2d7a6422d 100755 --- a/dependencies.sh +++ b/dependencies.sh @@ -5,7 +5,7 @@ # byond version export BYOND_MAJOR=515 -export BYOND_MINOR=1633 +export BYOND_MINOR=1642 #rust version export RUST_VERSION=1.73.0 From 74e1d9761dc5dc34784d31a4642e31cc30d4bcfd Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 14 Jan 2025 01:26:48 -0500 Subject: [PATCH 002/330] Fix Runtime (#3975) Every time someone examined a machine it runtimed because of a bad proc --- code/game/objects/items/storage/backpack.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 88dd8d3cb534..3fcbd989206c 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -48,7 +48,7 @@ STR.use_sound = 'sound/items/storage/unzip.ogg' STR.worn_access = FALSE -/obj/machinery/examine(mob/user) +/obj/item/storage/backpack/examine(mob/user) . = ..() var/datum/component/storage/bpack = GetComponent(/datum/component/storage) if(bpack.worn_access == FALSE) From ad2840eac42d9bd4e24e7b065cf8f536d76166e7 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:59:53 -0600 Subject: [PATCH 003/330] attempting to fix our tests (#4011) bumping rust versions --- dependencies.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.sh b/dependencies.sh index 88e2d7a6422d..b9a4fcd40bdf 100755 --- a/dependencies.sh +++ b/dependencies.sh @@ -8,10 +8,10 @@ export BYOND_MAJOR=515 export BYOND_MINOR=1642 #rust version -export RUST_VERSION=1.73.0 +export RUST_VERSION=1.81.0 #rust_g git tag -export RUST_G_VERSION=3.0.0 +export RUST_G_VERSION=3.3.0 #node version export NODE_VERSION=16 From d166b40b2ce286d34415e2128cc87911b2296cbc Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 14 Jan 2025 19:31:22 -0500 Subject: [PATCH 004/330] Fix glowing guns (#3982) :cl: fix: guns no longer glow in the dark /:cl: Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/modules/projectiles/gun.dm | 3 ++- code/modules/projectiles/guns/ballistic/assault.dm | 2 ++ code/modules/projectiles/guns/ballistic/marksman.dm | 2 ++ code/modules/projectiles/guns/ballistic/pistol.dm | 2 ++ code/modules/projectiles/guns/ballistic/smg.dm | 2 ++ .../guns/manufacturer/solar_armories/ballistic.dm | 9 +++++++++ 6 files changed, 19 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 353630dfea74..f66dddfec9b5 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -34,6 +34,7 @@ light_range = 3 light_color = COLOR_VERY_SOFT_YELLOW + light_on = FALSE ///Icon state of the muzzle flash effect. var/muzzleflash_iconstate @@ -879,7 +880,7 @@ var/atom/movable/flash_loc = user if(!light_on) set_light_on(TRUE) - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, set_light_on), FALSE), 1 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, set_light_on), FALSE), 3) //Offset the pixels. switch(firing_angle) diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 70125488ccbe..a3247cc3dcf0 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -20,6 +20,8 @@ gunslinger_recoil_bonus = 2 gunslinger_spread_bonus = 16 + light_range = 2 + /obj/item/gun/ballistic/automatic/assault/skm name = "\improper SKM-24" desc = "An obsolete model of assault rifle once used by CLIP. Legendary for its durability and low cost, surplus rifles are commonplace on the Frontier, and the design has been widely copied. Chambered in 7.62x40mm CLIP." diff --git a/code/modules/projectiles/guns/ballistic/marksman.dm b/code/modules/projectiles/guns/ballistic/marksman.dm index 71458e24f1d2..9c89c551b124 100644 --- a/code/modules/projectiles/guns/ballistic/marksman.dm +++ b/code/modules/projectiles/guns/ballistic/marksman.dm @@ -5,3 +5,5 @@ zoomable = TRUE //this var as true without setting anything else produces a 2x zoom wield_slowdown = DMR_SLOWDOWN wield_delay = 1 SECONDS + + light_range = 2 diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index a6bbed500dfc..bd7a4728b188 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -19,6 +19,8 @@ wield_slowdown = PISTOL_SLOWDOWN muzzleflash_iconstate = "muzzle_flash_light" + light_range = 1 + /obj/item/gun/ballistic/automatic/pistol/deagle name = "\improper Desert Eagle" diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index 74d0a3f50860..52fb375b9424 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -11,6 +11,8 @@ recoil_unwielded = 4 w_class = WEIGHT_CLASS_BULKY + light_range = 1 + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) default_firemode = FIREMODE_SEMIAUTO diff --git a/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm b/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm index ac0cad28c21f..a053a8146831 100644 --- a/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm +++ b/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm @@ -37,6 +37,9 @@ spread_unwielded = 12 fire_select_icon_state_prefix = "slug_" + //gauss doesn't explode so there's not light. + light_range = 0 + valid_attachments = list( /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, @@ -118,6 +121,9 @@ slot_flags = ITEM_SLOT_BACK + //gauss doesn't explode so there's not light. + light_range = 0 + valid_attachments = list( /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, @@ -160,6 +166,9 @@ slot_flags = ITEM_SLOT_BACK + //gauss doesn't explode so there's not light. + light_range = 0 + valid_attachments = list( /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, From feb25b0c980ca7bbbe74b3e2ad93f4b7d2eb534f Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 14 Jan 2025 18:41:47 -0600 Subject: [PATCH 005/330] Automatic changelog generation for PR #3982 [ci skip] --- html/changelogs/AutoChangeLog-pr-3982.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3982.yml diff --git a/html/changelogs/AutoChangeLog-pr-3982.yml b/html/changelogs/AutoChangeLog-pr-3982.yml new file mode 100644 index 000000000000..e9554341a0ef --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3982.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {bugfix: guns no longer glow in the dark} +delete-after: true From c387ac263e5e3a3fe769490eaa648dd81ca64836 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 15 Jan 2025 01:01:55 +0000 Subject: [PATCH 006/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3982.yml | 4 ---- html/changelogs/archive/2025-01.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3982.yml diff --git a/html/changelogs/AutoChangeLog-pr-3982.yml b/html/changelogs/AutoChangeLog-pr-3982.yml deleted file mode 100644 index e9554341a0ef..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3982.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {bugfix: guns no longer glow in the dark} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index 0fc2d3b86d2d..bf7662ab5761 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -79,3 +79,6 @@ Erikafox: - rscadd: N+S Mine ruin now has ice for mining - bugfix: Mining Scanner feedback better +2025-01-15: + Erikafox: + - bugfix: guns no longer glow in the dark From c9eb8a13b0ad4f7917925f18fefee595dc347846 Mon Sep 17 00:00:00 2001 From: Ical <86125936+Ical92@users.noreply.github.com> Date: Tue, 14 Jan 2025 19:56:19 -0500 Subject: [PATCH 007/330] Properly marks merge conflicts in map editor (#3974) ## About The Pull Request Fixes #3965 (re)Adds a merge conflict marker to be used by mapmerge2, additionally adds an icon for it. ![image](https://github.com/user-attachments/assets/bcfc37e4-a50a-442b-96d0-d1c42419743c) ## Why It's Good For The Game Merge conflicts can be properly fixed in the map editor now ## Changelog :cl: fix: merge conflicts are now properly marked /:cl: --- code/game/objects/merge_conflict_marker.dm | 6 ++++++ icons/effects/mapping/mapping_helpers.dmi | Bin 9938 -> 13628 bytes shiptest.dme | 7 ++++--- 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 code/game/objects/merge_conflict_marker.dm diff --git a/code/game/objects/merge_conflict_marker.dm b/code/game/objects/merge_conflict_marker.dm new file mode 100644 index 000000000000..4e10b8d8658a --- /dev/null +++ b/code/game/objects/merge_conflict_marker.dm @@ -0,0 +1,6 @@ +/obj/merge_conflict_marker + name = "Merge Conflict Marker" // name & desc are set by merge script + desc = "Marks a merge conflict that needs manually resolved. If you're reading this, something has gone very wrong." + icon = 'icons/effects/mapping/mapping_helpers.dmi' + icon_state = "mergeconflict" + layer = ABOVE_ALL_MOB_LAYER diff --git a/icons/effects/mapping/mapping_helpers.dmi b/icons/effects/mapping/mapping_helpers.dmi index 0ef83c7b1719c0bcf55c26f6d4597d84c1ee02a3..9b15aec3d0342ec7c25d9ff074a57605fe570e24 100644 GIT binary patch literal 13628 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 literal 9938 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 Date: Tue, 14 Jan 2025 19:12:39 -0600 Subject: [PATCH 008/330] Automatic changelog generation for PR #3974 [ci skip] --- html/changelogs/AutoChangeLog-pr-3974.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3974.yml diff --git a/html/changelogs/AutoChangeLog-pr-3974.yml b/html/changelogs/AutoChangeLog-pr-3974.yml new file mode 100644 index 000000000000..6f90f6c7a02c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3974.yml @@ -0,0 +1,4 @@ +author: Ical92 +changes: + - {bugfix: merge conflicts are now properly marked} +delete-after: true From 1e07a1aeb1a3530a3011db89be436579893b2435 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 14 Jan 2025 22:41:04 -0500 Subject: [PATCH 009/330] Fix Door Deconstruction (#3983) fixes #4001 :cl: fix: Doors are now bludgeoned by whatever you're holding less, and can actually be deconstructed. /:cl: Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/game/objects/structures/door_assembly.dm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 8030a43c3e93..675a135c493b 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -63,8 +63,6 @@ ) if(I.use_tool(src, user, 40, volume=100)) - if(anchored) - return to_chat(user, span_notice("You [anchored ? "unsecured" : "secured"] the airlock assembly.")) name = "[anchored ? "secured " : ""]airlock assembly" anchored = !anchored @@ -102,6 +100,7 @@ new /obj/item/stack/sheet/glass(get_turf(src)) glass = 0 return TRUE + else if(!anchored) user.visible_message( span_notice("[user] disassembles the airlock assembly."), \ @@ -128,6 +127,7 @@ user.put_in_hands(cable) state = AIRLOCK_ASSEMBLY_NEEDS_WIRES name = "secured airlock assembly" + return TRUE /obj/structure/door_assembly/crowbar_act(mob/living/user, obj/item/I) . = ..() @@ -210,6 +210,7 @@ state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS to_chat(user, "You wire the airlock assembly.") name = "wired airlock assembly" + return TRUE else if(istype(W, /obj/item/electronics/airlock) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS) W.play_tool_sound(src, 100) @@ -225,6 +226,7 @@ state = AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER name = "near finished airlock assembly" electronics = W + return TRUE else if(istype(W, /obj/item/stack/sheet) && (!glass || !mineral)) var/obj/item/stack/sheet/G = W @@ -282,9 +284,11 @@ to_chat(user, "You cannot add [G] to [src]!") else to_chat(user, "You cannot add [G] to [src]!") - ..() - update_name() - update_appearance() + update_name() + update_appearance() + else + return ..() + /obj/structure/door_assembly/update_overlays() . = ..() From 2c24fafd50a06a45b213390af2a85593b28abb78 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 14 Jan 2025 22:08:51 -0600 Subject: [PATCH 010/330] Automatic changelog generation for PR #3983 [ci skip] --- html/changelogs/AutoChangeLog-pr-3983.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3983.yml diff --git a/html/changelogs/AutoChangeLog-pr-3983.yml b/html/changelogs/AutoChangeLog-pr-3983.yml new file mode 100644 index 000000000000..c0d9bb8e61f5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3983.yml @@ -0,0 +1,5 @@ +author: Erikafox +changes: + - {bugfix: "Doors are now bludgeoned by whatever you're holding less, and can actually + be deconstructed."} +delete-after: true From 363d847bbef0b2fba2630d732225a656ba5b120c Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 14 Jan 2025 19:47:59 -0800 Subject: [PATCH 011/330] Minor Elder Changes (#3977) ## About The Pull Request A few small things like giving the elder another vent pump for their airlock, giving them a little bit of tobacco, some more eggs, replacing a belt with a toolbelt, and putting animals into a pen instead of free roaming. Oh, and also shuffled some areas and docking ports around. No more bridge crates. ## Why It's Good For The Game - Airlock is really big, second vent pump can help - Tobacco for flavour - Eggs for composting - Belt with toolbelt (fix) - Pen (No more Loud Mooing spamming chat constantly) - Cargo bay for no 3000 bridge crates ## Changelog :cl: add: Improved Elder airlock and added a few small things to the Elder (Animal pen, cargo bay area, more tobacco, eggs), and shifted docking ports around. /:cl: --------- Co-authored-by: github-actions --- _maps/shuttles/roumain/srm_elder.dmm | 294 +++++++++++++++------------ 1 file changed, 168 insertions(+), 126 deletions(-) diff --git a/_maps/shuttles/roumain/srm_elder.dmm b/_maps/shuttles/roumain/srm_elder.dmm index fdd49c8d696a..5f32bb05aff7 100644 --- a/_maps/shuttles/roumain/srm_elder.dmm +++ b/_maps/shuttles/roumain/srm_elder.dmm @@ -9,7 +9,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "af" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable{ @@ -112,7 +112,7 @@ dir = 4 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "aY" = ( /obj/structure/flora/grass/jungle, /turf/open/floor/grass/ship/jungle, @@ -179,19 +179,18 @@ pixel_x = 8 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "bO" = ( /obj/machinery/door/firedoor/border_only, /obj/machinery/door/poddoor/shutters{ id = "elderbayshutters" }, /turf/open/floor/plasteel/dark, -/area/ship/hallway/starboard) +/area/ship/cargo) "bW" = ( /turf/open/floor/engine/hull, /area/ship/external/dark) "bY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/window/reinforced/fulltile, /obj/structure/grille, /obj/machinery/door/firedoor/border_only, @@ -224,7 +223,7 @@ dir = 4 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "cj" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_containers/food/snacks/egg, @@ -251,6 +250,14 @@ pixel_y = -2; pixel_x = -9 }, +/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/snacks/egg, +/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/snacks/egg, /turf/open/floor/grass/ship/jungle, /area/ship/roumain) "co" = ( @@ -300,6 +307,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/door/airlock/external, /obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/poddoor/shutters{ id = "elderemergencyairlockshuts" }, @@ -404,19 +412,14 @@ /turf/open/floor/wood/maple, /area/ship/storage) "dt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 6 - }, -/obj/structure/destructible/tribal_torch{ - pixel_x = -7; - pixel_y = 2 - }, /obj/effect/turf_decal/trimline/opaque/red/arrow_cw{ dir = 4 }, /obj/effect/turf_decal/industrial/warning{ dir = 1 }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/light/small/directional/west, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "dL" = ( @@ -458,7 +461,7 @@ dir = 1 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "ei" = ( /turf/open/floor/wood/ebony, /area/ship/roumain) @@ -611,7 +614,7 @@ dir = 4 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "gd" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood/corner{ @@ -698,7 +701,7 @@ dir = 4 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "hg" = ( /obj/structure/cable{ icon_state = "1-2" @@ -749,13 +752,16 @@ dir = 8; id = "elderengineshuts" }, +/obj/structure/window/reinforced{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/engineering/engine) "hT" = ( /obj/structure/railing/corner, /obj/effect/turf_decal/siding/brown, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "hV" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ dir = 4; @@ -770,7 +776,7 @@ id = "elderbayshutters" }, /turf/open/floor/plasteel/dark, -/area/ship/hallway/starboard) +/area/ship/cargo) "hZ" = ( /obj/machinery/power/shuttle/engine/electric{ dir = 4 @@ -786,7 +792,7 @@ }, /obj/effect/turf_decal/siding/brown, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "ih" = ( /obj/structure/cable{ icon_state = "0-2" @@ -805,9 +811,6 @@ /turf/open/floor/wood/mahogany, /area/ship/bridge) "iB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 10 - }, /obj/structure/closet/emcloset/wall/directional/east, /obj/effect/turf_decal/trimline/opaque/red/arrow_cw{ dir = 8 @@ -815,6 +818,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, +/obj/machinery/atmospherics/pipe/layer_manifold, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "iP" = ( @@ -826,7 +830,7 @@ dir = 1 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "iR" = ( /obj/effect/turf_decal/siding/brown{ dir = 1 @@ -835,7 +839,7 @@ dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 5 }, /turf/open/floor/wood/ebony, /area/ship/hallway/port) @@ -862,7 +866,7 @@ /obj/effect/turf_decal/industrial/warning, /obj/effect/turf_decal/trimline/opaque/syndiered/end, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "ji" = ( /obj/effect/turf_decal/siding/brown{ dir = 6 @@ -920,7 +924,7 @@ dir = 4 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "jG" = ( /obj/machinery/atmospherics/components/binary/pump/layer2{ dir = 1; @@ -956,7 +960,7 @@ dir = 1 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "kD" = ( /obj/structure/destructible/tribal_torch{ pixel_x = -7; @@ -990,7 +994,7 @@ /obj/effect/turf_decal/stoneborder, /obj/item/towel, /turf/open/floor/plasteel/mono/dark, -/area/ship/hallway/starboard) +/area/ship/medical) "lf" = ( /obj/structure/chair/pew/right{ dir = 4 @@ -1041,7 +1045,7 @@ dir = 8 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "lk" = ( /obj/structure/chair/wood{ dir = 4 @@ -1126,7 +1130,7 @@ }, /obj/structure/tank_dispenser/oxygen, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "mD" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ @@ -1172,7 +1176,7 @@ "nj" = ( /obj/effect/turf_decal/siding/brown, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "nk" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -1227,7 +1231,7 @@ dir = 10 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "os" = ( /obj/structure/window/reinforced/fulltile, /obj/structure/grille, @@ -1499,7 +1503,7 @@ dir = 1 }, /turf/open/floor/plasteel/mono/dark, -/area/ship/hallway/starboard) +/area/ship/medical) "rE" = ( /obj/machinery/atmospherics/components/unary/shuttle/heater{ dir = 4 @@ -1508,6 +1512,9 @@ dir = 8; id = "elderengineshuts" }, +/obj/structure/window/reinforced{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/engineering/engine) "rK" = ( @@ -1537,6 +1544,10 @@ /area/ship/storage) "rW" = ( /obj/machinery/smartfridge/drying_rack, +/obj/item/reagent_containers/food/snacks/grown/tobacco, +/obj/item/reagent_containers/food/snacks/grown/tobacco, +/obj/item/reagent_containers/food/snacks/grown/tobacco, +/obj/item/reagent_containers/food/snacks/grown/tobacco, /turf/open/floor/ship/dirt/dark, /area/ship/roumain) "sb" = ( @@ -1544,7 +1555,7 @@ dir = 10 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "sc" = ( /obj/structure/railing{ dir = 4 @@ -1579,15 +1590,15 @@ pixel_y = 6 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "sm" = ( -/obj/docking_port/stationary{ - width = 30; - height = 15; - dwidth = 15 +/obj/structure/flora/grass/jungle, +/obj/structure/railing/wood{ + dir = 5 }, -/turf/template_noop, -/area/template_noop) +/mob/living/simple_animal/chicken, +/turf/open/floor/ship/dirt/dark, +/area/ship/roumain) "sr" = ( /obj/structure/table/wood, /obj/item/paper_bin/bundlenatural{ @@ -1625,7 +1636,7 @@ dir = 8 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "sH" = ( /turf/template_noop, /area/template_noop) @@ -1667,7 +1678,7 @@ pixel_x = 1 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "tF" = ( /obj/structure/table/optable, /obj/effect/turf_decal/corner/opaque/blue/diagonal, @@ -1726,10 +1737,6 @@ pixel_y = 16; pixel_x = 5 }, -/obj/item/clothing/mask/cigarette/cigar/havana{ - pixel_x = 7; - pixel_y = -1 - }, /obj/item/storage/box/matches{ pixel_y = 8; pixel_x = -9 @@ -1738,6 +1745,9 @@ pixel_y = 16; pixel_x = -6 }, +/obj/item/clothing/mask/cigarette/pipe{ + pixel_x = 8 + }, /turf/open/floor/wood/mahogany, /area/ship/bridge) "uP" = ( @@ -1757,7 +1767,7 @@ "uY" = ( /obj/structure/ore_box, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "va" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -1774,7 +1784,7 @@ dir = 1 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "vm" = ( /obj/structure/window/reinforced/fulltile, /obj/structure/grille, @@ -1792,7 +1802,7 @@ }, /obj/effect/turf_decal/industrial/warning, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "vz" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -1833,7 +1843,7 @@ dir = 4 }, /turf/open/floor/wood/mahogany, -/area/ship/hallway/starboard) +/area/ship/medical) "vX" = ( /obj/structure/railing{ dir = 4 @@ -1887,11 +1897,21 @@ /turf/open/floor/grass/ship/jungle, /area/ship/roumain) "xe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/turf_decal/trimline/opaque/red/arrow_cw{ dir = 8 }, /obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -12 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "xv" = ( @@ -1907,8 +1927,11 @@ /turf/open/floor/ship/dirt/dark, /area/ship/bridge) "xD" = ( +/obj/structure/railing/wood{ + dir = 1 + }, /mob/living/simple_animal/cow, -/turf/open/floor/ship/dirt/dark, +/turf/open/floor/grass/ship/jungle, /area/ship/roumain) "xN" = ( /obj/structure/cable{ @@ -1938,7 +1961,7 @@ dir = 8 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "yq" = ( /obj/structure/railing{ dir = 1 @@ -1949,7 +1972,7 @@ /obj/item/storage/box/emptysandbags, /obj/item/storage/box/emptysandbags, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "yz" = ( /turf/closed/wall/r_wall, /area/ship/crew/cryo) @@ -1966,7 +1989,7 @@ pixel_x = -4 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "yN" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/ship/dirt/dark, @@ -2081,7 +2104,7 @@ dir = 4 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Ao" = ( /obj/item/toy/plush/snakeplushie, /obj/structure/flora/grass/jungle/b, @@ -2118,7 +2141,7 @@ }, /obj/effect/turf_decal/siding/brown, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "AM" = ( /obj/structure/chair/pew{ dir = 8 @@ -2155,7 +2178,7 @@ pixel_x = -4 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "AX" = ( /obj/structure/flora/rock/jungle, /turf/open/floor/grass/ship/jungle, @@ -2222,7 +2245,7 @@ dir = 4 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "Bu" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2254,7 +2277,7 @@ /area/ship/hallway/central) "BA" = ( /turf/closed/wall/r_wall, -/area/ship/hallway/starboard) +/area/ship/cargo) "BB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -2506,7 +2529,7 @@ dir = 5 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Fa" = ( /obj/structure/railing/corner, /obj/structure/flora/grass/jungle, @@ -2562,6 +2585,7 @@ /obj/effect/turf_decal/trimline/opaque/red/arrow_cw{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "FG" = ( @@ -2611,7 +2635,7 @@ dir = 6 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Hw" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -2625,7 +2649,7 @@ pixel_x = 10 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "HA" = ( /obj/item/clothing/under/suit/roumain, /obj/item/clothing/suit/armor/roumain, @@ -2668,7 +2692,7 @@ dir = 8 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "HO" = ( /obj/item/clothing/shoes/combat, /obj/item/clothing/under/suit/roumain, @@ -2722,7 +2746,7 @@ }, /obj/effect/turf_decal/spline/fancy/wood/cee, /turf/open/floor/wood/mahogany, -/area/ship/hallway/starboard) +/area/ship/medical) "In" = ( /obj/effect/turf_decal/siding/brown{ dir = 1 @@ -2734,7 +2758,7 @@ dir = 1 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Ir" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood{ @@ -2828,7 +2852,7 @@ }, /obj/machinery/airalarm/directional/west, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Jn" = ( /obj/structure/railing{ dir = 8 @@ -2844,7 +2868,7 @@ }, /obj/effect/turf_decal/siding/brown, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Ju" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2853,7 +2877,7 @@ dir = 1 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "Jx" = ( /obj/structure/cable{ icon_state = "1-8" @@ -2866,7 +2890,7 @@ dir = 9 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Jy" = ( /obj/effect/turf_decal/siding/brown{ dir = 10 @@ -2971,9 +2995,11 @@ /turf/open/floor/plasteel/dark, /area/ship/engineering/atmospherics) "Lk" = ( -/mob/living/simple_animal/chicken, -/obj/structure/flora/grass/jungle, -/turf/open/floor/grass/ship/jungle, +/obj/structure/railing/wood{ + dir = 1 + }, +/mob/living/simple_animal/cow, +/turf/open/floor/ship/dirt/dark, /area/ship/roumain) "LG" = ( /obj/structure/cable{ @@ -3009,10 +3035,13 @@ pixel_x = -25; pixel_y = 3 }, -/obj/machinery/atmospherics/pipe/layer_manifold, /obj/effect/turf_decal/trimline/opaque/red/arrow_cw{ dir = 4 }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "LX" = ( @@ -3140,7 +3169,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "MV" = ( /obj/machinery/atmospherics/components/unary/shuttle/heater{ dir = 4 @@ -3149,6 +3178,9 @@ dir = 8; id = "elderengineshuts" }, +/obj/structure/window/reinforced{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/engineering/atmospherics) "MW" = ( @@ -3260,7 +3292,7 @@ dir = 4 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "NL" = ( /turf/open/floor/ship/dirt/dark, /area/ship/roumain) @@ -3309,8 +3341,8 @@ /obj/item/clothing/head/cowboy/sec/roumain/machinist, /obj/item/clothing/under/suit/roumain, /obj/item/clothing/shoes/workboots/mining, -/obj/item/storage/belt, /obj/structure/closet/secure_closet/machinist, +/obj/item/storage/belt/utility/full, /turf/open/floor/plating, /area/ship/engineering/engine) "Oo" = ( @@ -3348,7 +3380,7 @@ dir = 4 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "OV" = ( /obj/machinery/button/shieldwallgen{ dir = 8; @@ -3368,7 +3400,7 @@ }, /obj/effect/turf_decal/industrial/warning, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "Ph" = ( /obj/effect/turf_decal/siding/wood/end, /obj/machinery/door/airlock/maintenance{ @@ -3382,7 +3414,7 @@ dir = 5 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Py" = ( /obj/machinery/power/shuttle/engine/fueled/plasma{ dir = 4 @@ -3403,7 +3435,7 @@ dir = 1 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "PI" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3428,7 +3460,7 @@ dir = 4 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Qi" = ( /obj/structure/chair/wood, /obj/structure/flora/grass/jungle/b, @@ -3487,7 +3519,7 @@ }, /obj/effect/turf_decal/stoneborder, /turf/open/floor/plasteel/mono/dark, -/area/ship/hallway/starboard) +/area/ship/medical) "QR" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3515,6 +3547,9 @@ /turf/open/floor/wood/mahogany, /area/ship/bridge) "Ri" = ( +/obj/structure/railing/wood{ + dir = 4 + }, /mob/living/simple_animal/chicken, /turf/open/floor/grass/ship/jungle, /area/ship/roumain) @@ -3571,9 +3606,6 @@ /obj/effect/turf_decal/siding/brown{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, /obj/machinery/button/door{ id = "elderemergencyairlockshuts"; name = "Airlock Shutters"; @@ -3594,6 +3626,9 @@ dir = 8; id = "elderengineshuts" }, +/obj/structure/window/reinforced{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/engineering/atmospherics) "RW" = ( @@ -3676,14 +3711,17 @@ /turf/open/floor/plating, /area/ship/engineering/engine) "Tx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/destructible/tribal_torch{ - pixel_x = -7 - }, /obj/effect/turf_decal/trimline/opaque/red/arrow_cw{ dir = 4 }, /obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/light/small/directional/west, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "TO" = ( @@ -3700,7 +3738,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Ui" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood{ @@ -3750,7 +3788,7 @@ dir = 4 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "UZ" = ( /obj/structure/chair/pew/left{ dir = 8 @@ -3825,7 +3863,7 @@ /obj/item/storage/bag/ore, /obj/item/storage/bag/ore, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "VI" = ( /obj/structure/window/reinforced/fulltile, /obj/structure/grille, @@ -3866,7 +3904,7 @@ id = "elderbayshutters" }, /turf/open/floor/plasteel/dark, -/area/ship/hallway/starboard) +/area/ship/cargo) "Wd" = ( /obj/structure/table/wood, /obj/item/radio/intercom/wideband/table{ @@ -3903,7 +3941,7 @@ "WJ" = ( /obj/effect/turf_decal/siding/brown, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "WS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3935,7 +3973,7 @@ dir = 4 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Xn" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood/corner{ @@ -3992,9 +4030,13 @@ /turf/open/floor/wood/mahogany, /area/ship/bridge) "XW" = ( -/mob/living/simple_animal/cow, -/turf/open/floor/grass/ship/jungle, -/area/ship/roumain) +/obj/docking_port/stationary{ + width = 30; + height = 15; + dwidth = 15 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "XY" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/bottle/whiskey{ @@ -4047,7 +4089,7 @@ dir = 4 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "YM" = ( /obj/effect/turf_decal/siding/wood/end{ dir = 1 @@ -4092,7 +4134,7 @@ dir = 1 }, /turf/open/floor/wood/mahogany, -/area/ship/hallway/starboard) +/area/ship/medical) "Zi" = ( /obj/structure/table/wood, /obj/item/storage/fancy/cigarettes/cigpack_midori, @@ -4101,7 +4143,7 @@ pixel_x = 7 }, /turf/open/floor/wood/maple, -/area/ship/hallway/starboard) +/area/ship/cargo) "Zl" = ( /obj/effect/turf_decal/spline/fancy/wood{ dir = 6 @@ -4130,7 +4172,7 @@ dir = 10 }, /turf/open/floor/wood/ebony, -/area/ship/hallway/starboard) +/area/ship/cargo) "Zs" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4162,7 +4204,7 @@ dir = 5 }, /turf/open/floor/wood/mahogany, -/area/ship/hallway/starboard) +/area/ship/medical) "ZI" = ( /obj/structure/closet/emcloset/wall/directional/east, /obj/effect/turf_decal/spline/fancy/wood{ @@ -4669,7 +4711,7 @@ sH (14,1,1) = {" sH sH -bW +XW kL iB FF @@ -4704,7 +4746,7 @@ BA sH "} (15,1,1) = {" -sm +sH sH bW vC @@ -4849,7 +4891,7 @@ gb gb iY bO -bW +Uu "} (19,1,1) = {" sH @@ -4923,7 +4965,7 @@ BA BA BA BA -Uu +bW "} (21,1,1) = {" sH @@ -4950,7 +4992,7 @@ wp wp Xt qJ -uW +xD wp wp jv @@ -4958,7 +5000,7 @@ nj Zh vH Im -BA +fi sH sH "} @@ -4987,15 +5029,15 @@ Cr Xt QE KO -NL +Lk uV wp cg GP -BA +fi ZE lb -BA +fi sH sH "} @@ -5016,7 +5058,7 @@ uW uW NL aO -Ri +uW uW uV NL @@ -5024,15 +5066,15 @@ ei ei uW NL -YX -uW +sm +Ri fi cR fi -BA +fi rD QJ -BA +fi sH sH "} @@ -5066,10 +5108,10 @@ uW Mh ts kD -BA -BA -BA -BA +fi +fi +fi +fi sH sH "} @@ -5201,13 +5243,13 @@ aO uW aO aO -XW +uW Xt UD Xt NL uW -Lk +aO KO fs oC @@ -5314,7 +5356,7 @@ NL NL Xt Xt -xD +NL yV Jn Ma From 4013f30cac0434380877c7f13438055d224ec914 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 14 Jan 2025 22:21:01 -0600 Subject: [PATCH 012/330] Automatic changelog generation for PR #3977 [ci skip] --- html/changelogs/AutoChangeLog-pr-3977.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3977.yml diff --git a/html/changelogs/AutoChangeLog-pr-3977.yml b/html/changelogs/AutoChangeLog-pr-3977.yml new file mode 100644 index 000000000000..e938de47315b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3977.yml @@ -0,0 +1,5 @@ +author: generalthrax +changes: + - {rscadd: 'Improved Elder airlock and added a few small things to the Elder (Animal + pen, cargo bay area, more tobacco, eggs), and shifted docking ports around.'} +delete-after: true From f59417d37510366cb2cb0fc138f0ea06c4bca9f1 Mon Sep 17 00:00:00 2001 From: MemeSnorfer <116136632+MemeSnorfer@users.noreply.github.com> Date: Tue, 14 Jan 2025 19:48:21 -0800 Subject: [PATCH 013/330] Atoll-Class Update (#3956) ## About The Pull Request Makes some various changes to the Atoll that I feel would be healthier for the ship. Namely: - Replaces the surgical duffel bag with a surgery case. - Adds health analyzers to each of the medical role's lockers, so they won't have to take from the medkits. - Buffs the contents of the food fridge to better compete with rations, and also to be more carnivore friendly. - Places a new subshuttle docking port outside the lobby's blast doors. - Vaporizes a decal under a wall that went under my nose. ## Why It's Good For The Game This ship's been tested and found wanting. ## Changelog :cl: fix: Makes some changes to the Atoll-Class's map file. It should feel slightly better to play on. /:cl: --- .../independent/independent_atoll.dmm | 88 ++++++++++++++++--- 1 file changed, 75 insertions(+), 13 deletions(-) diff --git a/_maps/shuttles/independent/independent_atoll.dmm b/_maps/shuttles/independent/independent_atoll.dmm index dccf3b7848fa..532b406c72a9 100644 --- a/_maps/shuttles/independent/independent_atoll.dmm +++ b/_maps/shuttles/independent/independent_atoll.dmm @@ -96,10 +96,6 @@ /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 @@ -109,6 +105,10 @@ }, /obj/effect/turf_decal/corner/opaque/black/half, /obj/machinery/firealarm/directional/south, +/obj/item/storage/case/surgery{ + pixel_x = -4; + pixel_y = 10 + }, /turf/open/floor/plasteel/mono/dark, /area/ship/medical/surgery) "aM" = ( @@ -457,6 +457,7 @@ /obj/item/clothing/glasses/hud/health/sunglasses{ pixel_y = 5 }, +/obj/item/healthanalyzer, /turf/open/floor/plasteel/mono/dark, /area/ship/storage/equip) "dZ" = ( @@ -626,14 +627,11 @@ /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{ @@ -654,6 +652,13 @@ /obj/item/reagent_containers/food/snacks/grown/potato, /obj/item/reagent_containers/food/snacks/grown/oat, /obj/item/reagent_containers/food/snacks/grown/cocoapod, +/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/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/soymilk, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/ccommons) "fj" = ( @@ -688,6 +693,7 @@ /obj/item/clothing/glasses/hud/health/prescription{ pixel_y = 5 }, +/obj/item/healthanalyzer, /turf/open/floor/plasteel/mono/dark, /area/ship/storage/equip) "fm" = ( @@ -1248,6 +1254,14 @@ }, /turf/open/floor/plasteel/mono/white, /area/ship/hallway/port) +"jT" = ( +/obj/docking_port/stationary{ + dwidth = 15; + height = 15; + width = 30 + }, +/turf/template_noop, +/area/template_noop) "jY" = ( /obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 8 @@ -1945,6 +1959,8 @@ /obj/item/clothing/glasses/hud/health{ pixel_y = 5 }, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, /turf/open/floor/plasteel/mono/dark, /area/ship/storage/equip) "rd" = ( @@ -5626,11 +5642,6 @@ /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 @@ -5755,6 +5766,7 @@ XT XT XT XT +XT Mu nz nz @@ -5773,6 +5785,7 @@ XT XT XT XT +XT IE wm gH @@ -5793,6 +5806,7 @@ XT "} (3,1,1) = {" XT +XT mD Rj Rj @@ -5815,6 +5829,7 @@ XT "} (4,1,1) = {" XT +XT mD uL uL @@ -5837,6 +5852,7 @@ XT "} (5,1,1) = {" XT +XT mD zA mZ @@ -5859,6 +5875,7 @@ XT "} (6,1,1) = {" XT +XT mD uR vP @@ -5880,6 +5897,7 @@ XT XT "} (7,1,1) = {" +XT SJ hK hK @@ -5902,6 +5920,7 @@ tP XT "} (8,1,1) = {" +XT hK aa Jt @@ -5924,6 +5943,7 @@ TR Wm "} (9,1,1) = {" +XT hK Bv SD @@ -5946,6 +5966,7 @@ Vl XT "} (10,1,1) = {" +XT cS Vs WC @@ -5968,6 +5989,7 @@ Rc XT "} (11,1,1) = {" +XT Ex rq ss @@ -5990,6 +6012,7 @@ Rc XT "} (12,1,1) = {" +jT cm pV Zi @@ -6012,6 +6035,7 @@ Rv XT "} (13,1,1) = {" +XT ku qM Yc @@ -6034,6 +6058,7 @@ Rv XT "} (14,1,1) = {" +XT AL aj lu @@ -6056,6 +6081,7 @@ Rv XT "} (15,1,1) = {" +XT Oe ma Ra @@ -6078,6 +6104,7 @@ Rc XT "} (16,1,1) = {" +XT Oe Zj kv @@ -6100,6 +6127,7 @@ Rc XT "} (17,1,1) = {" +XT xE xE lm @@ -6122,6 +6150,7 @@ TI XT "} (18,1,1) = {" +XT wS xE RJ @@ -6145,6 +6174,7 @@ XT "} (19,1,1) = {" XT +XT KO HN bM @@ -6167,6 +6197,7 @@ XT "} (20,1,1) = {" XT +XT KO HN bM @@ -6189,6 +6220,7 @@ XT "} (21,1,1) = {" XT +XT hE Rd RQ @@ -6211,6 +6243,7 @@ XT "} (22,1,1) = {" XT +XT KO Oi Ft @@ -6233,6 +6266,7 @@ XT "} (23,1,1) = {" XT +XT KO gW ZZ @@ -6255,6 +6289,7 @@ XT "} (24,1,1) = {" XT +XT wB wB es @@ -6277,6 +6312,7 @@ XT "} (25,1,1) = {" XT +XT fm Pv xX @@ -6299,6 +6335,7 @@ XT "} (26,1,1) = {" XT +XT fm je RP @@ -6321,6 +6358,7 @@ XT "} (27,1,1) = {" XT +XT Sq wB Qb @@ -6344,6 +6382,7 @@ XT (28,1,1) = {" XT XT +XT wB hG We @@ -6366,6 +6405,7 @@ XT (29,1,1) = {" XT XT +XT wB hC hC @@ -6388,6 +6428,7 @@ XT (30,1,1) = {" XT XT +XT TI hC ch @@ -6410,6 +6451,7 @@ XT (31,1,1) = {" XT XT +XT wS hC SI @@ -6433,6 +6475,7 @@ XT XT XT XT +XT hC nv NF @@ -6455,6 +6498,7 @@ XT XT XT XT +XT hC FF GC @@ -6477,6 +6521,7 @@ XT XT XT XT +XT hC hC hC @@ -6499,6 +6544,7 @@ XT XT XT XT +XT zG jK pY @@ -6521,6 +6567,7 @@ XT XT XT XT +XT zG SS VY @@ -6543,6 +6590,7 @@ XT XT XT XT +XT av zG fj @@ -6566,6 +6614,7 @@ XT XT XT XT +XT se se se @@ -6588,7 +6637,8 @@ XT XT XT XT -YV +XT +se aN Jp Qu @@ -6610,6 +6660,7 @@ XT XT XT XT +XT se FH KD @@ -6632,6 +6683,7 @@ XT XT XT XT +XT se gh uX @@ -6654,6 +6706,7 @@ XT XT XT XT +XT VO se Jc @@ -6677,6 +6730,7 @@ XT XT XT XT +XT TI Mc Nw @@ -6700,6 +6754,7 @@ XT XT XT XT +XT Mc ln xr @@ -6722,6 +6777,7 @@ XT XT XT XT +XT Jc Jc hB @@ -6744,6 +6800,7 @@ XT XT XT XT +XT wS Jc WT @@ -6767,6 +6824,7 @@ XT XT XT XT +XT Mc dh tU @@ -6789,6 +6847,7 @@ XT XT XT XT +XT Mc lw lw @@ -6824,6 +6883,7 @@ XT XT XT XT +XT "} (50,1,1) = {" XT @@ -6846,6 +6906,7 @@ XT XT XT XT +XT "} (51,1,1) = {" XT @@ -6868,4 +6929,5 @@ XT XT XT XT +XT "} From 4e615074e7d8301d8812e171c4bf5cf36570a56c Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 14 Jan 2025 22:43:24 -0600 Subject: [PATCH 014/330] Automatic changelog generation for PR #3956 [ci skip] --- html/changelogs/AutoChangeLog-pr-3956.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3956.yml diff --git a/html/changelogs/AutoChangeLog-pr-3956.yml b/html/changelogs/AutoChangeLog-pr-3956.yml new file mode 100644 index 000000000000..031d11c03674 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3956.yml @@ -0,0 +1,5 @@ +author: MemeSnorfer +changes: + - {bugfix: Makes some changes to the Atoll-Class's map file. It should feel slightly + better to play on.} +delete-after: true From 07a372f98f39d4c4c7b374c912196e2b9d2b1d06 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 14 Jan 2025 23:59:33 -0500 Subject: [PATCH 015/330] Update Elated Bolite (#3953) ## About The Pull Request ![image](https://github.com/user-attachments/assets/bba00118-bf05-4636-a20e-76365e0bba32) ![StrongDMM_6GLpQy3e0D](https://github.com/user-attachments/assets/7ecf7713-4540-4aff-9dd6-2ad4c73104d7) Adds a defib and remaps the brief/mess on the bolide ## Why It's Good For The Game ship better :) ## Changelog :cl: add: The Bolide's brief has been remapped /:cl: --- _maps/shuttles/pgf/pgf_elated_bolide.dmm | 475 +++++++++-------------- 1 file changed, 182 insertions(+), 293 deletions(-) diff --git a/_maps/shuttles/pgf/pgf_elated_bolide.dmm b/_maps/shuttles/pgf/pgf_elated_bolide.dmm index 9d501fe9e7ba..b0b0e3a33a66 100644 --- a/_maps/shuttles/pgf/pgf_elated_bolide.dmm +++ b/_maps/shuttles/pgf/pgf_elated_bolide.dmm @@ -118,11 +118,15 @@ /turf/open/floor/plasteel/mono, /area/ship/hallway/central) "aI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "2-4" }, -/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" = ( @@ -182,25 +186,6 @@ /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" @@ -654,10 +639,6 @@ 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 @@ -666,6 +647,10 @@ pixel_x = -2; pixel_y = -5 }, +/obj/item/desk_flag/gezena{ + pixel_y = 16; + pixel_x = -8 + }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/crew/ccommons) "eZ" = ( @@ -985,10 +970,15 @@ /turf/open/floor/plasteel/mono/white, /area/ship/crew/ccommons) "ha" = ( -/obj/structure/chair{ - dir = 1 +/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/turf_decal/etherbor/center, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "hd" = ( @@ -1311,6 +1301,9 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, +/obj/structure/closet/wall/directional/east, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /turf/open/floor/plasteel/mono, /area/ship/crew/dorm) "iO" = ( @@ -1329,17 +1322,6 @@ /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 @@ -1385,14 +1367,14 @@ /obj/effect/turf_decal/borderfloorblack{ 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 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, /obj/structure/sign/flag/gezena{ pixel_y = 32 @@ -1966,14 +1948,12 @@ /turf/open/floor/plasteel/mono/dark, /area/ship/crew/dorm) "lq" = ( +/obj/structure/table/reinforced, /obj/effect/turf_decal/corner_steel_grid{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 + dir = 6 }, -/obj/effect/turf_decal/spline/fancy/opaque/green/corner{ - dir = 1 +/obj/structure/railing{ + dir = 8 }, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) @@ -2103,38 +2083,22 @@ /turf/open/floor/mineral/titanium/tiled, /area/ship/medical) "mW" = ( -/obj/structure/mirror{ - pixel_x = -24; - pixel_y = 4 +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 8 }, -/obj/structure/sink{ - dir = 4; - pixel_y = 4; - pixel_x = -13 +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 9 }, -/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 +/obj/structure/chair{ + dir = 4 }, -/turf/open/floor/plasteel/mono, +/turf/open/floor/plasteel/mono/dark, /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, +/turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "nb" = ( /obj/effect/turf_decal/industrial/warning, @@ -2517,7 +2481,9 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/engineering/engines/starboard) "po" = ( -/obj/structure/filingcabinet/double/grey, +/obj/structure/filingcabinet/double/grey{ + dir = 2 + }, /obj/machinery/newscaster/directional/east, /obj/effect/turf_decal/borderfloorblack{ dir = 8 @@ -2729,15 +2695,14 @@ /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 + dir = 5 }, /obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 8 + dir = 1 + }, +/obj/structure/chair{ + dir = 4 }, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) @@ -2892,14 +2857,7 @@ /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 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "sb" = ( @@ -2976,26 +2934,25 @@ /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/structure/railing{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 }, +/obj/structure/table/reinforced, /obj/effect/turf_decal/corner_steel_grid{ dir = 5 }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 5 +/obj/item/paper_bin{ + pixel_x = 3; + pixel_y = 7 }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 1 +/obj/item/pen/fourcolor{ + pixel_x = -1; + pixel_y = 7 }, -/turf/open/floor/plasteel/mono/dark, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/crew/ccommons) "sE" = ( /obj/structure/rack, @@ -3015,11 +2972,11 @@ /turf/open/floor/plasteel/sepia, /area/ship/crew/dorm) "sO" = ( +/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/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'; @@ -3053,18 +3010,7 @@ /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 - }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "tm" = ( @@ -3322,10 +3268,7 @@ /turf/open/floor/plasteel/patterned/ridged, /area/ship/cargo) "uN" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/etherbor/right, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "uR" = ( @@ -3944,19 +3887,6 @@ }, /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 @@ -4402,9 +4332,11 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering/engines/starboard) "Bq" = ( -/obj/machinery/light/directional/north, -/obj/structure/chair{ - dir = 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) @@ -4438,41 +4370,29 @@ /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/green{ + dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 1 }, /obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 4 + dir = 5 }, +/obj/structure/easel, +/obj/item/canvas/twentythreeXtwentythree, /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 + icon_state = "1-2" }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ +/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'; dir = 1 }, -/turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "BA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/high_volume, @@ -4724,9 +4644,6 @@ /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) @@ -4953,21 +4870,21 @@ /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 }, +/obj/structure/table, +/obj/item/clipboard{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/item/pen/fourcolor{ + pixel_x = -2; + pixel_y = 2 + }, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "Fg" = ( @@ -5019,16 +4936,7 @@ /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 - }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "Fs" = ( @@ -5043,6 +4951,7 @@ dir = 10 }, /obj/effect/turf_decal/spline/fancy/opaque/green, +/obj/machinery/light/directional/south, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "Ft" = ( @@ -5246,14 +5155,10 @@ /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" }, @@ -5328,10 +5233,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/effect/turf_decal/corner_steel_grid{ +/obj/effect/turf_decal/spline/fancy/opaque/green, +/obj/effect/turf_decal/corner_steel_grid/full, +/obj/effect/turf_decal/spline/fancy/opaque/green{ dir = 10 }, -/obj/effect/turf_decal/spline/fancy/opaque/green, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "GT" = ( @@ -5805,12 +5711,6 @@ /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) @@ -6033,24 +5933,14 @@ /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/effect/turf_decal/corner_steel_grid{ + dir = 5 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 }, -/turf/open/floor/plasteel/tech/grid, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "Ll" = ( /obj/structure/cable{ @@ -6082,9 +5972,6 @@ /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) @@ -6539,6 +6426,7 @@ pixel_x = -28 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/etherbor/left, /turf/open/floor/plasteel/tech, /area/ship/storage/starboard) "Pr" = ( @@ -6575,17 +6463,17 @@ /turf/open/floor/plasteel/tech, /area/ship/storage/port) "PC" = ( -/obj/structure/toilet{ - dir = 8; - pixel_x = 5; - pixel_y = 4 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, -/obj/structure/curtain, -/obj/effect/turf_decal/steeldecal/steel_decals_central4{ - dir = 1 +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/mono, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "PD" = ( /turf/open/floor/plasteel/stairs{ @@ -6618,10 +6506,23 @@ /turf/open/floor/vault, /area/ship/security/armory) "PZ" = ( -/obj/effect/turf_decal/corner/transparent/bottlegreen/border{ - dir = 1 +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, -/turf/closed/wall/mineral/titanium/nodiagonal, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "Qa" = ( /obj/structure/closet/secure_closet/wall/directional/east{ @@ -6812,6 +6713,7 @@ /area/ship/hallway/central) "Rk" = ( /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/etherbor/right, /turf/open/floor/plasteel/tech, /area/ship/storage/starboard) "Rm" = ( @@ -7091,22 +6993,6 @@ }, /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, @@ -7354,33 +7240,42 @@ /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 + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 1 + dir = 8 }, +/obj/structure/rack, +/obj/item/chair, +/obj/item/chair, +/obj/item/chair, +/obj/item/chair, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "Ud" = ( -/obj/effect/turf_decal/etherbor/left, -/obj/structure/chair{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/item/kirbyplants{ + icon_state = "plant-18"; + pixel_x = 11; + pixel_y = 21 + }, +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) @@ -7444,9 +7339,9 @@ pixel_x = -4; pixel_y = -1 }, -/obj/item/storage/firstaid/medical{ +/obj/item/storage/firstaid/regular{ pixel_x = 9; - pixel_y = -2 + pixel_y = 1 }, /turf/open/floor/mineral/titanium/tiled, /area/ship/medical) @@ -7977,17 +7872,13 @@ /turf/open/floor/plasteel/mono, /area/ship/hallway/central) "Yi" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /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 + icon_state = "1-8" }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-4" }, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) @@ -8021,25 +7912,21 @@ /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/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/turf_decal/corner_steel_grid{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 10 + dir = 6 }, -/obj/effect/turf_decal/spline/fancy/opaque/green/corner{ +/obj/effect/turf_decal/spline/fancy/opaque/green{ dir = 4 }, +/obj/structure/closet/crate{ + name = "visual aids" + }, +/obj/item/storage/crayons, +/obj/item/storage/crayons, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXtwentythree, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/ccommons) "YM" = ( @@ -8090,6 +7977,7 @@ pixel_y = 3 }, /obj/effect/turf_decal/box, +/obj/item/defibrillator/loaded, /turf/open/floor/mineral/titanium/tiled, /area/ship/medical) "YN" = ( @@ -8335,6 +8223,7 @@ /obj/item/storage/bag/construction, /obj/item/storage/bag/construction, /obj/item/storage/bag/construction, +/obj/effect/turf_decal/etherbor/center, /obj/effect/mapping_helpers/crate_shelve, /turf/open/floor/plasteel/tech, /area/ship/storage/starboard) @@ -8999,8 +8888,8 @@ gB IV dg Lj -dg -dg +nV +Fr rZ Fs cZ @@ -9028,9 +8917,9 @@ wP Ve dg rc -Fr -SE -lq +AH +AH +nV eH WY Dy @@ -9057,7 +8946,7 @@ WN jE jE Bq -AH +nV th aI Kk @@ -9115,10 +9004,10 @@ MJ og jE eX +lq ar -bf ha -za +Ds Da er gC @@ -9144,9 +9033,9 @@ we up KC GM -xq -bf uN +xq +ha GG SY gg @@ -9175,7 +9064,7 @@ IH jc mZ sy -nV +ha GG in Vd From 4312de70cc7ac929dffe49d7a32d4a0c55d7d99c Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Wed, 15 Jan 2025 06:00:04 +0100 Subject: [PATCH 016/330] Updates Talos and Scarab maints. (#3658) ## About The Pull Request **Talos:** - Makes them more similar style-wise to the Scarab. - Un-spaces them. - Makes them less boring by adding Stuff. ![obraz](https://github.com/user-attachments/assets/42d0a49c-90a6-475d-b47f-98273e3e21d7) **Scarab:** - Makes them less messy and broken. - Makes the airlock an actual airlock. ![obraz](https://github.com/user-attachments/assets/6dd1166b-1e11-4b95-ba17-23b16aea739a) ## Why It's Good For The Game People seem to love the Scarab maint, while hating on the Talos one, so Talos is now more similar. Scarab gets some stuff I missed during actual PR. ## Changelog :cl: tweak: Talos maints were remapped. They are also no longer spaced. tweak: Scarab maints were tweaked a little. /:cl: --- _maps/configs/inteq_talos.json | 2 +- .../independent/independent_scarab.dmm | 281 +- _maps/shuttles/inteq/inteq_talos.dmm | 4026 +++++++++-------- 3 files changed, 2312 insertions(+), 1997 deletions(-) diff --git a/_maps/configs/inteq_talos.json b/_maps/configs/inteq_talos.json index 9bbef06f0458..37eb0d456242 100644 --- a/_maps/configs/inteq_talos.json +++ b/_maps/configs/inteq_talos.json @@ -3,8 +3,8 @@ "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 “wings” filled with redundant baffles, intended to provide extra durability in the case of impacts or weapons fire. They also offer auxiliary storage space and potential room for modification by their enterprising Artificer crews.", "manufacturer": "Hardline Salvage and Mining", - "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": [ "Engineer", "Telecomms" diff --git a/_maps/shuttles/independent/independent_scarab.dmm b/_maps/shuttles/independent/independent_scarab.dmm index 99e4797077d2..ab9bb9a7426e 100644 --- a/_maps/shuttles/independent/independent_scarab.dmm +++ b/_maps/shuttles/independent/independent_scarab.dmm @@ -23,6 +23,12 @@ }, /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom/directional/west, +/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/airless, /area/ship/maintenance/port) "as" = ( @@ -87,9 +93,6 @@ "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{ @@ -175,9 +178,6 @@ }, /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 @@ -188,7 +188,7 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "ch" = ( -/obj/structure/closet/cardboard, +/obj/effect/spawner/random/trash/box, /obj/effect/spawner/random/maintenance, /obj/effect/spawner/random/entertainment/plushie, /obj/effect/spawner/random/entertainment/plushie, @@ -208,6 +208,12 @@ }, /obj/effect/decal/cleanable/dirt, /obj/item/cigbutt, +/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) "ct" = ( @@ -271,9 +277,9 @@ /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/trash/garbage, +/obj/effect/spawner/random/trash/garbage, +/obj/effect/spawner/random/trash/garbage, /obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) @@ -313,9 +319,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer2{ dir = 8 }, -/obj/machinery/advanced_airlock_controller{ - pixel_y = 23 - }, +/obj/machinery/advanced_airlock_controller/directional/north, /obj/structure/chair/handrail{ dir = 8 }, @@ -364,13 +368,13 @@ /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, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /turf/open/floor/plating, /area/ship/maintenance/fore) "eB" = ( @@ -397,9 +401,6 @@ /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) @@ -494,10 +495,9 @@ /turf/open/floor/plasteel/tech, /area/ship/bridge) "gj" = ( -/obj/machinery/door/airlock/maintenance/external{ - req_ship_access = 0 - }, +/obj/machinery/door/airlock/maintenance/external, /obj/effect/mapping_helpers/airlock/locked, +/obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plating, /area/ship/maintenance/fore) "gp" = ( @@ -549,9 +549,6 @@ /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 @@ -585,9 +582,10 @@ /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, +/obj/machinery/advanced_airlock_controller/directional/north, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ship/maintenance/fore) "hn" = ( @@ -615,13 +613,10 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "hV" = ( +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/green{ - icon_state = "4-8" - }, -/obj/structure/cable/green{ - icon_state = "1-6" + icon_state = "6-8" }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ship/maintenance/port) "io" = ( @@ -831,7 +826,7 @@ /obj/machinery/door/airlock/maintenance{ req_ship_access = 0 }, -/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/ship/maintenance/fore) "kf" = ( @@ -1011,6 +1006,12 @@ /obj/structure/rack, /obj/effect/spawner/random/maintenance, /obj/machinery/light/dim/directional/south, +/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) "lF" = ( @@ -1119,6 +1120,12 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, +/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/port) "nb" = ( @@ -1154,7 +1161,7 @@ /obj/effect/turf_decal/corner/transparent/bar/diagonal, /obj/structure/closet/crate/bin, /obj/effect/spawner/random/maintenance, -/obj/item/trash/chips, +/obj/effect/spawner/random/trash/garbage, /obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel, /area/ship/crew) @@ -1182,9 +1189,6 @@ /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) @@ -1312,6 +1316,12 @@ req_ship_access = 0 }, /obj/effect/mapping_helpers/airlock/abandoned, +/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/port) "qg" = ( @@ -1328,10 +1338,10 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "qh" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, +/obj/structure/closet/crate, /obj/effect/decal/cleanable/dirt, /obj/structure/catwalk/over, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/ship/maintenance/port) "qv" = ( @@ -1404,11 +1414,12 @@ /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 }, +/obj/effect/spawner/random/salvage_machine{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/maintenance/fore) "rt" = ( @@ -1474,6 +1485,15 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering/atmospherics) "sd" = ( +/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/plating, /area/ship/maintenance/port) "sk" = ( @@ -1554,6 +1574,10 @@ }, /obj/structure/railing, /obj/machinery/light/directional/west, +/obj/item/stamp/captain{ + pixel_x = -7; + pixel_y = 6 + }, /turf/open/floor/plasteel/tech, /area/ship/bridge) "sG" = ( @@ -1599,6 +1623,12 @@ /obj/structure/sign/poster/random{ pixel_y = 32 }, +/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/maintenance/port) "sX" = ( @@ -1647,6 +1677,12 @@ dir = 8; req_ship_access = 0 }, +/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) "tA" = ( @@ -1723,8 +1759,12 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/crew/cryo) "uo" = ( -/turf/closed/wall/rust, -/area/ship/maintenance/port) +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ship/maintenance/fore) "ut" = ( /obj/structure/grille, /obj/structure/window/plasma/reinforced/plastitanium, @@ -2045,6 +2085,12 @@ }, /obj/effect/decal/cleanable/dirt, /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/fore) "yr" = ( @@ -2155,11 +2201,11 @@ /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, +/obj/structure/cable/green{ + icon_state = "2-8" + }, /turf/open/floor/plating, /area/ship/maintenance/fore) "zv" = ( @@ -2178,6 +2224,16 @@ "zE" = ( /obj/effect/decal/cleanable/dirt, /obj/item/cigbutt, +/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/bucket{ + pixel_x = -7; + pixel_y = -4 + }, /turf/open/floor/plating, /area/ship/maintenance/port) "zS" = ( @@ -2241,14 +2297,17 @@ /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, +/obj/structure/closet/emcloset/anchored{ + populate = 0 + }, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/layer4{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/maintenance/fore) "AU" = ( @@ -2388,7 +2447,9 @@ dir = 1 }, /obj/machinery/light/small/directional/east, -/obj/effect/spawner/random/bedsheet, +/obj/effect/spawner/random/bedsheet{ + dir = 4 + }, /turf/open/floor/carpet, /area/ship/crew/dorm) "Dt" = ( @@ -2554,7 +2615,7 @@ /area/ship/hallway/starboard) "FP" = ( /obj/structure/closet/crate/bin, -/obj/item/trash/boritos, +/obj/effect/spawner/random/trash/garbage, /obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/dark, /area/ship/bridge) @@ -2685,6 +2746,12 @@ dir = 1; pixel_y = -19 }, +/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/airless, /area/ship/maintenance/port) "Hv" = ( @@ -2792,6 +2859,18 @@ /obj/effect/decal/cleanable/glass, /obj/effect/decal/cleanable/dirt, /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/decal/cleanable/crayon{ + icon_state = "space"; + pixel_y = 29; + pixel_x = 1; + paint_colour = "#FF0000" + }, /turf/open/floor/plating, /area/ship/maintenance/fore) "Ia" = ( @@ -2800,12 +2879,8 @@ 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, @@ -2916,9 +2991,6 @@ /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 }, @@ -3224,15 +3296,24 @@ /turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "LZ" = ( +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/green{ - icon_state = "5-8" + 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, /turf/open/floor/plating, /area/ship/maintenance/port) "Md" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, +/obj/structure/closet/crate/large, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer2{ + dir = 4 + }, /turf/open/floor/plating, /area/ship/maintenance/fore) "Me" = ( @@ -3246,7 +3327,9 @@ /obj/structure/cable/green{ icon_state = "4-5" }, -/obj/effect/spawner/random/salvage_machine, +/obj/effect/spawner/random/salvage_machine{ + dir = 1 + }, /obj/structure/railing{ dir = 4 }, @@ -3621,10 +3704,11 @@ /turf/open/floor/plasteel, /area/ship/hallway/starboard) "Rs" = ( -/obj/machinery/door/airlock/maintenance{ +/obj/machinery/door/airlock/maintenance/external{ req_ship_access = 0 }, -/obj/effect/mapping_helpers/airlock/abandoned, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/ship/maintenance/fore) "Ry" = ( @@ -3792,11 +3876,21 @@ /obj/structure/sign/poster/contraband/hacking_guide{ pixel_y = -32 }, +/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) "UZ" = ( /obj/effect/decal/cleanable/dirt, /obj/item/cigbutt, +/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/fore) "Vc" = ( @@ -4003,7 +4097,8 @@ "Xd" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ - pixel_y = 7 + pixel_y = 7; + layer = 3.22 }, /turf/open/floor/carpet, /area/ship/crew/dorm) @@ -4091,11 +4186,17 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Zc" = ( +/obj/effect/spawner/random/structure/grille, +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/green{ - icon_state = "4-9" + 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/grille, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ship/maintenance/port) "Zj" = ( @@ -4359,8 +4460,8 @@ Ku Ku wW yX -aU -aU +QZ +QZ yX Lp NS @@ -4519,9 +4620,9 @@ UB "} (15,1,1) = {" yX -uo -uo -uo +QZ +QZ +QZ ty DN TN @@ -4548,7 +4649,7 @@ UB yX IY yx -uo +QZ LZ DN WU @@ -4686,7 +4787,7 @@ QZ QZ QZ pU -uo +QZ yX wW wW @@ -4736,7 +4837,7 @@ wW (23,1,1) = {" jt gj -Kt +uo UZ Rs yl @@ -4765,7 +4866,7 @@ wW qx AT rn -Ic +CT KP cx qx @@ -4791,8 +4892,8 @@ Ku wW PV qx -Ic -Ic +CT +CT Jj CT qx @@ -4819,7 +4920,7 @@ wW wW qx CU -Ic +CT ex oe qx @@ -4873,8 +4974,8 @@ wW wW qx tj -bP -bP +CT +CT lm qx wW @@ -4899,8 +5000,8 @@ DI wW wW qx -bP -bP +CT +CT zD Am qx @@ -4927,7 +5028,7 @@ wW wW PV qx -bP +CT nq as qx diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm index d838d4742f99..5a853fdcc068 100644 --- a/_maps/shuttles/inteq/inteq_talos.dmm +++ b/_maps/shuttles/inteq/inteq_talos.dmm @@ -29,6 +29,18 @@ }, /turf/open/floor/plasteel/dark, /area/ship/storage) +"aj" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plating, +/area/ship/storage/starboard) "ak" = ( /obj/structure/cable{ icon_state = "2-8" @@ -98,6 +110,24 @@ }, /turf/open/floor/circuit/telecomms/mainframe, /area/ship/engineering/communications) +"az" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/spawner/random/entertainment/plushie{ + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ship/crew/dorm/dormtwo) +"aA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/book/manual/srmlore, +/obj/structure/bookcase, +/obj/item/book/random, +/obj/item/book/random, +/obj/item/book/random, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormtwo) "aC" = ( /obj/machinery/porta_turret/ship/inteq{ dir = 5; @@ -131,26 +161,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) -"aI" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/power/smes/shuttle/precharged, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "talos_thrusters_starboard" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) "aM" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -186,11 +196,6 @@ /obj/structure/closet/emcloset/wall/directional/north, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"aV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) "bb" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/airlock/grunge{ @@ -211,35 +216,17 @@ }, /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" - }, -/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) +"bc" = ( +/turf/closed/wall, +/area/ship/maintenance/starboard) +"bj" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"bo" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/storage/port) "bx" = ( /obj/structure/cable{ icon_state = "2-8" @@ -301,12 +288,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/security/armory) -"bK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/mopbucket, -/obj/item/reagent_containers/glass/bucket, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "bM" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /obj/machinery/door/poddoor{ @@ -377,14 +358,13 @@ /obj/effect/turf_decal/hardline_small, /turf/open/floor/plasteel/tech, /area/ship/engineering) -"ck" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/airlock/hatch{ - dir = 4 +"cl" = ( +/obj/structure/cable{ + icon_state = "5-8" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/ship/storage/port) "cn" = ( /obj/machinery/light/directional/south, /obj/structure/railing{ @@ -400,6 +380,18 @@ /obj/machinery/space_heater, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"cp" = ( +/obj/machinery/power/shuttle/engine/fueled/plasma, +/turf/open/floor/plating, +/area/ship/engineering) +"cq" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt, +/turf/open/floor/plating, +/area/ship/storage/port) "cz" = ( /obj/structure/cable{ icon_state = "5-10" @@ -525,31 +517,24 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering) -"di" = ( -/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/engineering{ - dir = 4; - name = "Engineering"; - fast_close = 1; - req_access_txt = "10" +"dj" = ( +/obj/machinery/button/shieldwallgen{ + id = "talos_tank_burn"; + pixel_x = -6; + pixel_y = 20; + req_access_txt = "56" }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/machinery/button/door{ + id = "talos_tank_burn"; + pixel_x = 4; + pixel_y = 21; + req_access_txt = "56" }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/effect/turf_decal/industrial/fire{ + dir = 1 }, /turf/open/floor/plasteel/tech, -/area/ship/engineering) +/area/ship/engineering/engine) "dk" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -567,15 +552,6 @@ /obj/machinery/atmospherics/pipe/simple/purple/visible, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) -"dv" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/airlock/hatch{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) "dw" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable{ @@ -583,14 +559,6 @@ }, /turf/open/floor/plating, /area/ship/engineering) -"dD" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) "dE" = ( /obj/structure/chair/comfy/shuttle{ dir = 4; @@ -599,6 +567,16 @@ /obj/effect/landmark/start/head_of_security, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"dN" = ( +/obj/structure/chair/comfy/grey/directional/north, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormtwo) +"dQ" = ( +/obj/effect/spawner/random/salvage_machine{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/storage/port) "dW" = ( /obj/machinery/power/terminal{ dir = 8 @@ -610,53 +588,38 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering) -"dZ" = ( -/obj/structure/cable{ - icon_state = "4-8" +"dX" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/folder/syndicate{ + desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/pen/fountain, +/obj/item/gps{ + pixel_x = 12 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/corner/opaque/brown{ dir = 4 }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"ef" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 }, -/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/item/stamp/inteq/vanguard, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"dZ" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) -"ej" = ( -/obj/machinery/power/smes/shuttle/precharged, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/layer_manifold{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "talos_thrusters_starboard" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/open/floor/plasteel/grimy, +/area/ship/crew) "ek" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -727,6 +690,25 @@ }, /turf/open/floor/circuit/telecomms/mainframe, /area/ship/engineering/communications) +"eE" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm/dormtwo) +"eH" = ( +/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/maintenance/port) "eK" = ( /obj/effect/turf_decal/trimline/opaque/yellow/corner{ dir = 4 @@ -739,6 +721,13 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"eM" = ( +/obj/structure/dresser{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) "eN" = ( /obj/structure/cable{ icon_state = "1-2" @@ -794,42 +783,23 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) -"ff" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) -"fg" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 +"fe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/effect/turf_decal/siding/thinplating, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 9 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/effect/spawner/random/trash/bucket{ + pixel_x = 7; + pixel_y = -4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/central) -"fh" = ( +/turf/open/floor/plating, +/area/ship/storage/starboard) +"fh" = ( /obj/effect/turf_decal/industrial/traffic, /turf/open/floor/plasteel/patterned, /area/ship/cargo) -"fj" = ( -/obj/structure/grille, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "fo" = ( /obj/machinery/camera/autoname{ dir = 9 @@ -846,10 +816,6 @@ }, /turf/open/floor/circuit/telecomms/mainframe, /area/ship/engineering/communications) -"fr" = ( -/obj/item/cigbutt, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "fs" = ( /obj/machinery/porta_turret/ship/inteq{ dir = 5; @@ -857,6 +823,26 @@ }, /turf/closed/wall/mineral/plastitanium, /area/ship/engineering/communications) +"fw" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/door/window/eastright{ + name = "Engine Access" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "talos_thrusters_starboard" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) "fC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -886,19 +872,40 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/carpet/orange, /area/ship/bridge) +"fI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/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) "fK" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/maintenance/starboard) -"fN" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) -"fU" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating/airless, +"fO" = ( +/obj/structure/bed, +/obj/item/bedsheet/hos{ + name = "vanguard's spare bedsheet" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormtwo) +"fS" = ( +/obj/machinery/light/dim/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, /area/ship/storage/port) +"fV" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/storage/starboard) "fX" = ( /obj/structure/chair/stool{ dir = 1 @@ -951,19 +958,22 @@ }, /turf/open/floor/plasteel/grimy, /area/ship/crew) -"gm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) -"go" = ( +"gh" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/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/storage/port) "gp" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, @@ -1002,6 +1012,18 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"gB" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/ship/storage/port) +"gE" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/obj/structure/sign/poster/random{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/ship/storage/port) "gG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1140,28 +1162,10 @@ /obj/machinery/air_sensor/atmos/mix_tank, /turf/open/floor/engine/fuel, /area/ship/engineering/engine) -"hm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) -"hw" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) -"hz" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/bottle/cognac{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/storage/fancy/cigarettes/cigars/havana, -/obj/item/lighter{ - pixel_x = -4; - pixel_y = 6 - }, +"hv" = ( +/obj/structure/closet/crate/secure/loot, /turf/open/floor/plating, -/area/ship/storage/starboard) +/area/ship/maintenance/port) "hG" = ( /obj/structure/railing{ dir = 6; @@ -1185,6 +1189,11 @@ }, /turf/open/floor/plasteel/elevatorshaft, /area/ship/hallway/central) +"hH" = ( +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/ship/storage/starboard) "hK" = ( /obj/structure/table/reinforced, /obj/machinery/fax/inteq, @@ -1232,9 +1241,29 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/plasteel/grimy, /area/ship/crew) +"hS" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/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/storage/starboard) "hT" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/hallway/central) +"hX" = ( +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "ia" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -1245,36 +1274,24 @@ "ie" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/engineering/engine) -"ii" = ( -/obj/machinery/power/smes/shuttle/precharged, -/obj/structure/cable{ - icon_state = "0-8" - }, +"if" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, /obj/structure/window/reinforced{ dir = 8 }, +/obj/machinery/atmospherics/components/unary/shuttle/heater, /obj/machinery/door/window/eastleft{ name = "Engine Access" }, +/obj/structure/barricade/wooden/crude, /obj/machinery/door/poddoor{ dir = 4; - id = "talos_thrusters_port" + id = "talos_thrusters_starboard" }, /turf/open/floor/plating, -/area/ship/engineering) -"ik" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/cigbutt, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) +/area/ship/engineering/engine) "im" = ( /obj/structure/railing{ dir = 4 @@ -1287,22 +1304,11 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering) -"iu" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/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/storage/starboard) +"in" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/dark/airless, +/area/ship/storage/port) "iy" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -1348,26 +1354,18 @@ }, /turf/open/floor/plasteel/dark, /area/ship/engineering) -"iM" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/power/smes/shuttle/precharged, +"iG" = ( +/obj/effect/spawner/random/structure/grille, /obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "talos_thrusters_starboard" + icon_state = "1-2" }, +/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/maintenance/port) +"iJ" = ( +/turf/closed/wall, +/area/ship/maintenance/port) "iN" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 1 @@ -1377,14 +1375,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"iO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/item/cigbutt, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "iW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 @@ -1414,6 +1404,22 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"ja" = ( +/obj/machinery/door/airlock/maintenance{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/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/plating, +/area/ship/maintenance/starboard) "jc" = ( /obj/structure/cable{ icon_state = "2-8" @@ -1432,22 +1438,13 @@ }, /turf/template_noop, /area/template_noop) -"jf" = ( -/obj/machinery/light/directional/north, -/obj/structure/closet/secure_closet/engineering_welding{ - req_access = null; - req_access_txt = "11" - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 +"jk" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" }, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel/tech/grid, +/turf/open/floor/plating, /area/ship/engineering) -"jj" = ( -/obj/structure/sign/warning/vacuum, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/storage/port) "jl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1463,21 +1460,30 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"jo" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/storage/starboard) "jp" = ( /obj/structure/chair{ dir = 4 }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) -"jt" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating/airless, -/area/ship/storage/port) +"jq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plasteel/dark, +/area/ship/maintenance/starboard) "jw" = ( /obj/structure/cable{ icon_state = "1-8" @@ -1509,29 +1515,16 @@ }, /turf/open/floor/plasteel/tech, /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.'" +"jO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/item/pen, -/obj/item/multitool{ - pixel_x = 12; - pixel_y = 8 +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/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) +/turf/open/floor/plating, +/area/ship/maintenance/port) "jP" = ( /obj/effect/turf_decal/siding/white{ dir = 1 @@ -1605,60 +1598,61 @@ /obj/structure/sign/warning/securearea, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering) -"jZ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, +"kc" = ( +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/airlock/engineering{ - dir = 4; - name = "Engineering"; - fast_close = 1; - req_access_txt = "10" + dir = 9 }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/machinery/advanced_airlock_controller/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ dir = 4 }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plating, -/area/ship/engineering) +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "kg" = ( /obj/effect/turf_decal/box/corners, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) -"kh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate/secure/loot, -/turf/open/floor/plating/airless, +"kn" = ( +/obj/structure/closet/crate/science, +/obj/effect/spawner/random/maintenance, +/obj/item/circuitboard/computer/crew, +/turf/open/floor/plating, /area/ship/maintenance/starboard) -"ks" = ( -/obj/structure/cable{ - icon_state = "4-8" +"kq" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"kv" = ( +/obj/effect/decal/cleanable/oil, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/sink{ + pixel_y = 21 + }, +/turf/open/floor/plating, /area/ship/maintenance/starboard) +"kA" = ( +/obj/machinery/door/airlock/maintenance, +/turf/open/floor/plating, +/area/ship/storage/port) "kD" = ( /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) -"kJ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "kM" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1675,6 +1669,37 @@ }, /turf/open/floor/plasteel/dark, /area/ship/security) +"kQ" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/structure/closet/crate{ + name = "target crate" + }, +/obj/item/target/syndicate{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/target/syndicate{ + pixel_y = 5 + }, +/obj/item/target/alien{ + pixel_x = 5 + }, +/obj/item/target/clown{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/target{ + pixel_y = 5 + }, +/obj/item/target{ + pixel_x = 5 + }, +/obj/effect/mapping_helpers/crate_shelve, +/obj/structure/platform/ship_three, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "kU" = ( /obj/machinery/door/poddoor{ id = "talos_tank_burn" @@ -1698,9 +1723,56 @@ dir = 8 }, /area/ship/hallway/central) +"kY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/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/plating, +/area/ship/storage/port) "la" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/toilet) +"lc" = ( +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"ld" = ( +/obj/machinery/door/airlock/maintenance/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/plating, +/area/ship/maintenance/starboard) +"lj" = ( +/obj/machinery/door/airlock/maintenance{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/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/plating, +/area/ship/maintenance/port) "lq" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/atmospherics/pipe/layer_manifold{ @@ -1789,30 +1861,41 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) -"lI" = ( -/obj/structure/grille, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) -"lM" = ( +"lH" = ( +/obj/machinery/button/door{ + dir = 4; + id = "talos_thrusters_port"; + name = "Blast Door Control"; + pixel_x = -21; + pixel_y = 3 + }, +/obj/structure/closet/secure_closet/engineering_electrical{ + req_access = null; + req_access_txt = "11" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"lK" = ( +/obj/effect/spawner/random/decoration/paint{ + pixel_y = 11; + pixel_x = 5 + }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/advanced_airlock_controller{ - pixel_y = -24 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/structure/chair/handrail{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plating, /area/ship/storage/port) "lO" = ( /obj/structure/cable{ @@ -1830,6 +1913,44 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"lP" = ( +/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" + }, +/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) "lQ" = ( /obj/machinery/modular_computer/console/preset/command{ dir = 8 @@ -1857,14 +1978,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) -"mh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) "mi" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 4 @@ -1907,6 +2020,22 @@ /obj/item/clothing/suit/armor/vest/security/warden/inteq, /turf/open/floor/plasteel/dark, /area/ship/security) +"mq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/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) "ms" = ( /obj/machinery/light/directional/west, /obj/structure/cable{ @@ -1943,6 +2072,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, /area/ship/bridge) +"mx" = ( +/obj/machinery/advanced_airlock_controller/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "mz" = ( /obj/structure/cable{ icon_state = "2-4" @@ -1967,18 +2101,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"mI" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) "mJ" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/atmospherics/pipe/layer_manifold{ @@ -2023,6 +2145,13 @@ }, /turf/open/floor/carpet/black, /area/ship/crew/dorm) +"mR" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/storage/port) "mU" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /obj/structure/cable{ @@ -2060,15 +2189,47 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"mX" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) +"mW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/storage/starboard) +"mX" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) "ne" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) +"nk" = ( +/obj/machinery/door/airlock/maintenance{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/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/plating, +/area/ship/storage/port) "nl" = ( /turf/open/floor/plasteel/grimy, /area/ship/crew) @@ -2092,6 +2253,21 @@ }, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"nv" = ( +/obj/machinery/door/airlock/maintenance{ + 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 + }, +/turf/open/floor/plating, +/area/ship/storage/starboard) "ny" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2130,33 +2306,11 @@ /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"nD" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "nE" = ( /obj/structure/grille, /obj/structure/window/plasma/reinforced/plastitanium, /turf/open/floor/plating, /area/ship/storage) -"nF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, -/area/ship/storage/port) -"nH" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "nJ" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 4 @@ -2193,6 +2347,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/ship/crew) +"nU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/maintenance/starboard) "nY" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -2237,10 +2398,6 @@ }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) -"od" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) "og" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/engineering/communications) @@ -2349,21 +2506,6 @@ }, /turf/open/floor/carpet/black, /area/ship/crew/dorm) -"oD" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/item/trash/popcorn, -/turf/open/floor/plating/airless, -/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/random/maintenance/three, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) "oR" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -2374,12 +2516,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/security/armory) -"oS" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) "oT" = ( /obj/structure/cable{ icon_state = "2-4" @@ -2419,18 +2555,15 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"oY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/storage/port) -"pb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/jukebox/boombox{ - pixel_x = -7; - pixel_y = -11 +"pc" = ( +/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/storage/starboard) +/area/ship/maintenance/starboard) "pf" = ( /obj/structure/cable{ icon_state = "0-4" @@ -2481,13 +2614,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) -"pq" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/portable_atmospherics/canister/bz{ - valve_open = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "pu" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -2524,31 +2650,6 @@ /obj/machinery/computer/helm/viewscreen/directional/west, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) -"pG" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) -"pL" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/folder/syndicate{ - desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'" - }, -/obj/item/pen/fountain, -/obj/item/gps{ - pixel_x = 12 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/item/stamp/inteq/vanguard, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) "pU" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering/engine) @@ -2562,6 +2663,13 @@ /obj/machinery/air_sensor/atmos/air_tank, /turf/open/floor/engine/air, /area/ship/engineering/engine) +"pY" = ( +/mob/living/simple_animal/mouse{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/port) "pZ" = ( /obj/structure/cable{ icon_state = "1-8" @@ -2649,12 +2757,6 @@ /obj/effect/decal/cleanable/vomit/old, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) -"qp" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "qr" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2726,19 +2828,6 @@ }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) -"qD" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) "qF" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2765,43 +2854,26 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) +"qI" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/cognac{ + pixel_x = 7; + pixel_y = 14 + }, +/obj/item/storage/fancy/cigarettes/cigars/havana, +/obj/item/lighter{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormtwo) "qM" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) -"qP" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/structure/closet/crate{ - name = "target crate" - }, -/obj/item/target/syndicate{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/item/target/syndicate{ - pixel_y = 5 - }, -/obj/item/target/alien{ - pixel_x = 5 - }, -/obj/item/target/clown{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/item/target{ - pixel_y = 5 - }, -/obj/item/target{ - pixel_x = 5 - }, -/obj/effect/mapping_helpers/crate_shelve, -/obj/structure/platform/ship_three, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "qT" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -2851,6 +2923,16 @@ /obj/structure/window/plasma/reinforced/plastitanium, /turf/open/floor/plating, /area/ship/engineering/engine) +"rr" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/port) "rv" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2870,10 +2952,24 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"rw" = ( -/obj/structure/chair/comfy/grey/directional/north, +"ry" = ( +/obj/structure/catwalk/over, +/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/plating, -/area/ship/storage/starboard) +/area/ship/maintenance/starboard) +"rA" = ( +/obj/structure/closet/crate/large, +/obj/machinery/portable_atmospherics/canister/toxins, +/turf/open/floor/plating, +/area/ship/maintenance/port) "rB" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning, /turf/open/floor/engine/hull/reinforced, @@ -2893,11 +2989,6 @@ }, /turf/open/floor/plasteel/dark, /area/ship/security) -"rN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) "rP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2917,6 +3008,16 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"rR" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/abandoned, +/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/maintenance/starboard) "rV" = ( /obj/machinery/button/door{ dir = 4; @@ -2944,6 +3045,19 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) +"rZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-6" + }, +/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/maintenance/starboard) "sa" = ( /obj/effect/turf_decal/box/corners, /obj/structure/cable{ @@ -2956,22 +3070,6 @@ /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/storage/starboard) -"sl" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "sn" = ( /obj/structure/chair/stool{ dir = 1 @@ -2998,15 +3096,30 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"su" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +"st" = ( +/obj/structure/sign/poster/random{ + pixel_y = 32 }, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "4-10" }, -/obj/structure/cable{ - icon_state = "1-2" +/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/storage/starboard) +"su" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 @@ -3031,25 +3144,6 @@ /obj/item/pen, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) -"sC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/gasmask{ - pixel_y = -32 - }, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) -"sD" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "sF" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -3064,6 +3158,20 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"sH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/table/reinforced, +/obj/item/folder/syndicate{ + desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'" + }, +/obj/item/stamp/inteq/maa, +/obj/item/table_bell{ + pixel_x = -15 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) "sJ" = ( /obj/structure/cable{ icon_state = "1-4" @@ -3113,6 +3221,13 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"sU" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/shuttle/engine/electric, +/turf/open/floor/plating, +/area/ship/engineering) "sV" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/storage) @@ -3144,13 +3259,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/crew/canteen) -"sZ" = ( -/obj/machinery/power/shuttle/engine/electric, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) "ta" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/trimline/opaque/yellow/line, @@ -3168,16 +3276,6 @@ }, /turf/open/floor/engine/air, /area/ship/engineering/engine) -"tf" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating/airless, -/area/ship/storage/port) -"ti" = ( -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) "tp" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -3236,6 +3334,9 @@ }, /turf/open/floor/plasteel/dark, /area/ship/storage) +"tw" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm/dormtwo) "tA" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/engineering) @@ -3261,17 +3362,6 @@ /obj/structure/catwalk/over, /turf/open/floor/plating, /area/ship/engineering) -"tK" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "tM" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3292,6 +3382,19 @@ }, /turf/open/floor/plasteel/dark, /area/ship/storage) +"tS" = ( +/obj/effect/decal/cleanable/dirt, +/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/plating, +/area/ship/storage/port) "tT" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3307,6 +3410,13 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"tX" = ( +/obj/machinery/door/airlock/maintenance{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/turf/open/floor/plating, +/area/ship/maintenance/port) "ua" = ( /obj/effect/turf_decal/industrial/traffic, /obj/structure/cable{ @@ -3317,23 +3427,6 @@ }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) -"ub" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) -"uc" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/turf/open/floor/carpet, -/area/ship/storage/starboard) "ud" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -3355,6 +3448,28 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/grimy, /area/ship/crew) +"uj" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/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 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = 9 + }, +/obj/item/storage/box/bodybags, +/obj/structure/platform/ship_three{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "ul" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -3365,12 +3480,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) -"uo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "up" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -3404,27 +3513,6 @@ }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) -"uC" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/structure/barricade/wooden/crude, -/obj/machinery/door/poddoor{ - dir = 4; - id = "talos_thrusters_port" - }, -/turf/open/floor/plating, -/area/ship/engineering) "uE" = ( /turf/open/floor/plasteel/tech, /area/ship/engineering/communications) @@ -3477,6 +3565,9 @@ "vp" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering/communications) +"vr" = ( +/turf/closed/wall, +/area/ship/storage/starboard) "vv" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -3626,6 +3717,42 @@ /obj/item/reagent_containers/food/drinks/waterbottle/large, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) +"wq" = ( +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/camera/autoname{ + dir = 8 + }, +/obj/machinery/computer/atmos_control/tank/mix_tank{ + dir = 8 + }, +/obj/machinery/button/shieldwallgen{ + dir = 8; + id = "talos_tank_fuel"; + pixel_x = 19; + pixel_y = 4; + req_access_txt = "56" + }, +/obj/machinery/button/door{ + dir = 8; + id = "talos_tank_fuel"; + name = "Access Door Control"; + pixel_x = 21; + pixel_y = -6; + req_access_txt = "56" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) "wu" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -3727,10 +3854,6 @@ }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) -"wU" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "wY" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/trimline/opaque/yellow/line{ @@ -3808,6 +3931,19 @@ dir = 4 }, /area/ship/cargo) +"xi" = ( +/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/structure/sign/warning/vacuum/external{ + pixel_y = 24 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "xj" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/cryo) @@ -3887,14 +4023,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"xG" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "xI" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/canteen) @@ -3917,27 +4045,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) -"xT" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/filingcabinet/chestdrawer, -/obj/item/radio/intercom/directional/west{ - freerange = 1; - freqlock = 1; - frequency = 1347; - name = "IRMG shortwave intercom" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) "xV" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning{ dir = 1 @@ -3978,6 +4085,24 @@ }, /turf/open/floor/plasteel/dark, /area/ship/storage) +"yd" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -19; + pixel_x = -8 + }, +/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 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage/starboard) "yj" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -4019,31 +4144,25 @@ "yp" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/storage/port) -"yq" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/shuttle/heater, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/structure/barricade/wooden/crude, -/obj/machinery/door/poddoor{ - dir = 4; - id = "talos_thrusters_starboard" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"yr" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +"yr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, /obj/machinery/rnd/production/circuit_imprinter/department/engi, /turf/open/floor/plasteel/tech/grid, /area/ship/storage) +"yu" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/storage/starboard) +"yv" = ( +/obj/effect/spawner/random/trash/box, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/ship/storage/port) "yx" = ( /obj/structure/table/reinforced, /obj/machinery/computer/secure_data/laptop, @@ -4060,6 +4179,16 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"yB" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer2{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "yL" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -4080,12 +4209,6 @@ }, /turf/open/floor/plating, /area/ship/engineering) -"yP" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) "yS" = ( /obj/structure/cable{ icon_state = "1-2" @@ -4100,23 +4223,31 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/dark, /area/ship/security) -"yU" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 +"yX" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormtwo) +"yY" = ( +/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/maintenance/port) +"zf" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) -"zg" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/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/storage/port) "zh" = ( /obj/machinery/holopad/emergency/command, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -4142,6 +4273,21 @@ }, /turf/open/floor/plasteel/tech, /area/ship/hallway/central) +"zp" = ( +/obj/effect/spawner/random/salvage_machine{ + dir = 8 + }, +/obj/structure/sign/poster/random{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"zq" = ( +/obj/structure/catwalk/over, +/obj/structure/closet/crate/large, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plating, +/area/ship/storage/starboard) "zt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -4194,12 +4340,16 @@ }, /turf/open/floor/plasteel/dark, /area/ship/engineering/communications) -"zB" = ( +"zC" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/maintenance/external{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate/trashcart, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating/airless, -/area/ship/storage/port) +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "zE" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /obj/structure/cable{ @@ -4219,6 +4369,20 @@ /obj/effect/spawner/bunk_bed, /turf/open/floor/carpet/black, /area/ship/crew/dorm) +"zH" = ( +/obj/structure/sign/poster/random{ + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/storage/port) +"zI" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/ship/maintenance/port) "zK" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 @@ -4232,12 +4396,6 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"zL" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "zR" = ( /obj/machinery/firealarm/directional/south, /obj/structure/extinguisher_cabinet/directional/east, @@ -4274,11 +4432,11 @@ }, /turf/open/floor/plasteel/grimy, /area/ship/crew) -"Aa" = ( +"zX" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, +/turf/open/floor/plating, /area/ship/storage/port) "Ag" = ( /obj/structure/chair/stool{ @@ -4311,6 +4469,13 @@ }, /turf/open/floor/plating, /area/ship/engineering/engine) +"Aj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/storage/port) "An" = ( /obj/machinery/shower{ dir = 1 @@ -4385,22 +4550,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/security/armory) -"AD" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/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/machinery/advanced_airlock_controller/internal{ - pixel_y = -24 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) "AK" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/effect/decal/cleanable/dirt, @@ -4411,15 +4560,6 @@ }, /turf/open/floor/engine/hull/reinforced, /area/ship/cargo) -"AL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/closet/crate/large, -/obj/item/mop, -/obj/item/pushbroom, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "AO" = ( /obj/machinery/suit_storage_unit/inherit/industrial, /obj/item/clothing/suit/space/hardsuit/engine, @@ -4432,29 +4572,6 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"AY" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/power/smes/shuttle/precharged, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "talos_thrusters_port" - }, -/turf/open/floor/plating, -/area/ship/engineering) "AZ" = ( /obj/effect/landmark/start/station_engineer, /obj/structure/chair/office{ @@ -4496,22 +4613,13 @@ }, /turf/open/floor/plating, /area/ship/engineering) +"Bn" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/storage/port) "Bv" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew) -"Bz" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/safety_internals{ - pixel_y = 32 - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/port) "BJ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4535,39 +4643,18 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) -"BN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) -"BP" = ( +"BW" = ( +/obj/structure/sign/poster/random{ + pixel_x = -32 + }, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "1-2" }, -/turf/open/floor/plating/airless, +/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/maintenance/port) -"BS" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/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 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = 9 - }, -/obj/item/storage/box/bodybags, -/obj/structure/platform/ship_three{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "BY" = ( /obj/structure/cable{ icon_state = "1-2" @@ -4583,6 +4670,20 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"BZ" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Cm" = ( +/obj/structure/catwalk/over, +/obj/structure/sign/poster/random{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/ship/storage/starboard) "Cp" = ( /obj/effect/spawner/random/vending/cola, /obj/structure/sign/poster/contraband/inteq{ @@ -4636,16 +4737,6 @@ "CF" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/cargo) -"CJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/book/manual/srmlore, -/obj/structure/bookcase, -/obj/item/book/random, -/obj/item/book/random, -/obj/item/book/random, -/turf/open/floor/plating, -/area/ship/storage/starboard) "CK" = ( /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -4655,11 +4746,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) -"CN" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "CP" = ( /obj/effect/turf_decal/borderfloor, /obj/structure/cable{ @@ -4823,9 +4909,18 @@ /obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) -"DO" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/storage/starboard) +"DG" = ( +/turf/open/floor/plating, +/area/ship/maintenance/port) +"DJ" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/maintenance/external{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plating, +/area/ship/maintenance/port) "DQ" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -4844,6 +4939,18 @@ }, /turf/open/floor/plasteel/tech, /area/ship/security) +"DR" = ( +/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/plating, +/area/ship/storage/port) "DY" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 1 @@ -4856,32 +4963,54 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"Eg" = ( -/obj/machinery/telecomms/bus/preset_four{ - autolinkers = list("hub","processor4","bus"); - network = "irmg_commnet" +"Eh" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering/communications) -"Ep" = ( -/obj/item/trash/can, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/crew/canteen) -"Ev" = ( -/obj/structure/cable{ - icon_state = "1-8" +/obj/structure/window/reinforced{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/cigbutt, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) -"Ex" = ( +/obj/machinery/power/smes/shuttle/precharged, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "0-8" }, -/turf/open/floor/plating/airless, -/area/ship/storage/port) +/obj/machinery/door/window/eastleft{ + name = "Engine Access" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "talos_thrusters_starboard" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Ep" = ( +/obj/item/trash/can, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Ew" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/eastleft{ + name = "Engine Access" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "talos_thrusters_port" + }, +/turf/open/floor/plating, +/area/ship/engineering) "EC" = ( /obj/structure/window/reinforced/survival_pod, /obj/structure/window/reinforced/survival_pod{ @@ -4899,6 +5028,38 @@ }, /turf/closed/wall/mineral/plastitanium, /area/ship/storage) +"EG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"EJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -22 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) "EL" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4908,6 +5069,33 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"ET" = ( +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "4-8" + }, +/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 = 10 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Fb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ship/storage/starboard) "Fe" = ( /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ dir = 8 @@ -4923,14 +5111,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/hallway/central) -"Fh" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/item/cigbutt, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "Fi" = ( /obj/structure/catwalk, /obj/effect/decal/cleanable/dirt, @@ -4939,6 +5119,29 @@ }, /turf/open/floor/plating/airless, /area/ship/external/dark) +"Fj" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/smes/shuttle/precharged, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/door/window/eastleft{ + name = "Engine Access" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "talos_thrusters_port" + }, +/turf/open/floor/plating, +/area/ship/engineering) "Fk" = ( /obj/structure/marker_beacon{ picked_color = "Burgundy" @@ -4946,14 +5149,6 @@ /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/maintenance/starboard) "Fm" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5006,6 +5201,21 @@ /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"Fq" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/storage/port) +"Fs" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "Fx" = ( /obj/structure/chair{ dir = 8 @@ -5046,28 +5256,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech/grid, /area/ship/crew/cryo) -"FO" = ( -/obj/structure/closet/emcloset/empty{ - anchored = 1; - can_be_unanchored = 1; - name = "oxygen closet" - }, -/obj/item/tank/internals/plasmaman/full, -/obj/item/tank/internals/plasmaman/full, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/starboard) "FV" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/structure/railing, @@ -5076,42 +5264,19 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/crew/cryo) -"Ga" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/port) -"Gl" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, +"Gb" = ( /obj/structure/cable{ icon_state = "4-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 }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/port) +/turf/open/floor/plating, +/area/ship/storage/starboard) "Gm" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/airlock/external, @@ -5119,12 +5284,18 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/tech, /area/ship/hallway/central) -"Gq" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +"Gn" = ( +/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/plating, +/area/ship/maintenance/port) "Gr" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ dir = 8 @@ -5150,19 +5321,6 @@ /obj/item/clothing/gloves/combat, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) -"Gu" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/safety_internals{ - pixel_y = 32 - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/starboard) "Gv" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -5217,14 +5375,12 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) -"GQ" = ( -/obj/structure/cable{ - icon_state = "1-8" +"GP" = ( +/obj/effect/spawner/random/salvage_machine{ + dir = 8 }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/turf/open/floor/plating, +/area/ship/storage/port) "GR" = ( /obj/structure/curtain/bounty, /obj/structure/sign/poster/contraband/d_day_promo{ @@ -5233,22 +5389,9 @@ /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") - }, -/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) +"GW" = ( +/turf/closed/wall, +/area/ship/storage/port) "GY" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -5265,12 +5408,6 @@ }, /turf/open/floor/plating, /area/ship/engineering) -"Hc" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "He" = ( /obj/effect/turf_decal/techfloor{ dir = 4 @@ -5291,12 +5428,6 @@ }, /turf/open/floor/plasteel/dark, /area/ship/security) -"Hj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/robot_debris, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "Hl" = ( /obj/machinery/computer/telecomms/server{ network = "irmg_commnet" @@ -5308,12 +5439,6 @@ }, /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/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) "Hp" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5326,6 +5451,13 @@ "Hq" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/security/armory) +"Ht" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/obj/structure/cable, +/turf/open/floor/plating, +/area/ship/maintenance/port) "Hv" = ( /obj/structure/rack, /obj/effect/turf_decal/siding/thinplating/dark, @@ -5352,6 +5484,12 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) +"Hw" = ( +/obj/structure/closet/crate, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/ship/storage/port) "HB" = ( /obj/machinery/suit_storage_unit/inherit/industrial, /obj/item/clothing/suit/space/hardsuit/engine, @@ -5359,6 +5497,32 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) +"HC" = ( +/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/engineering{ + dir = 4; + name = "Engineering"; + fast_close = 1; + req_access_txt = "10" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plating, +/area/ship/engineering) "HD" = ( /obj/machinery/firealarm/directional/south, /obj/structure/reagent_dispensers/fueltank, @@ -5373,6 +5537,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/external/dark) +"HM" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/dorm/dormtwo) "HN" = ( /obj/structure/sink{ dir = 1; @@ -5386,16 +5553,44 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) +"HT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Ia" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/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/machinery/advanced_airlock_controller/internal/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) "Ic" = ( /obj/effect/turf_decal/box/corners{ dir = 8 }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) -"If" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +"Ij" = ( +/obj/structure/closet/crate/secure/weapon, +/obj/item/ammo_box/magazine/toy/pistol, +/obj/item/gun/ballistic/automatic/toy/pistol, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) "Io" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -5457,21 +5652,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/security/armory) -"IB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate/critter, -/mob/living/simple_animal/hostile/hivebot/mechanic{ - desc = "A very rusty maintenance hivebot. Judging by the wires looping haphazardly from its panels and the Inteq shield spray painted on its chassis, somebody, somehow, has hacked it into complacency."; - environment_smash = 0; - faction = list("neutral"); - name = "Heph" - }, -/obj/item/circuitboard/computer/message_monitor, -/obj/item/circuitboard/machine/telecomms/message_server, -/obj/item/circuitboard/machine/pacman, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) "ID" = ( /obj/machinery/door/airlock/public/glass{ name = "Cryogenic Storage" @@ -5490,11 +5670,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) -"IF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/firecloset, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "IJ" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -5508,6 +5683,29 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"IO" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/window/eastright{ + name = "Engine Access" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "talos_thrusters_port" + }, +/turf/open/floor/plating, +/area/ship/engineering) "IR" = ( /obj/structure/cable{ icon_state = "0-8" @@ -5530,46 +5728,18 @@ /obj/effect/turf_decal/siding/thinplating, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) -"Jk" = ( -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) -"Jo" = ( -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/obj/machinery/computer/atmos_control/tank/mix_tank{ - dir = 8 - }, -/obj/machinery/button/shieldwallgen{ - dir = 8; - id = "talos_tank_fuel"; - pixel_x = 19; - pixel_y = 4; - req_access_txt = "56" - }, -/obj/machinery/button/door{ - dir = 8; - id = "talos_tank_fuel"; - name = "Access Door Control"; - pixel_x = 21; - pixel_y = -6; - req_access_txt = "56" +"Jd" = ( +/obj/machinery/light/directional/north, +/obj/structure/closet/secure_closet/engineering_welding{ + req_access = null; + req_access_txt = "11" }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) "Jq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -5579,6 +5749,25 @@ }, /turf/open/floor/plasteel/dark, /area/ship/security) +"Jt" = ( +/obj/structure/cable{ + icon_state = "8-9" + }, +/obj/structure/catwalk/over, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Ju" = ( +/obj/structure/catwalk/over, +/obj/effect/spawner/random/trash/box, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Jw" = ( +/obj/machinery/advanced_airlock_controller/directional/south, +/turf/open/floor/plating, +/area/ship/maintenance/port) "Jz" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, @@ -5597,13 +5786,31 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) -"JI" = ( +"JF" = ( +/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/engineering{ + dir = 4; + name = "Engineering"; + fast_close = 1; + req_access_txt = "10" + }, /obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/airlock/maintenance_hatch, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating/airless, -/area/ship/storage/port) +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) "JP" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -5650,6 +5857,14 @@ }, /turf/open/floor/engine/hull/reinforced/interior, /area/ship/engineering/engine) +"JV" = ( +/obj/structure/closet/crate/large, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "JZ" = ( /obj/effect/turf_decal/box/corners, /obj/structure/cable{ @@ -5659,6 +5874,11 @@ /obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) +"Ka" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/ship/storage/starboard) "Kd" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -5694,6 +5914,13 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel/tech, /area/ship/engineering/communications) +"Kg" = ( +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "2-6" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "Ks" = ( /obj/structure/cable{ icon_state = "4-8" @@ -5710,8 +5937,24 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/port) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"Kt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Kw" = ( +/obj/machinery/telecomms/bus/preset_four{ + autolinkers = list("hub","processor4","bus"); + network = "irmg_commnet" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "Kz" = ( /obj/structure/cable{ icon_state = "4-8" @@ -5728,16 +5971,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"KB" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "KF" = ( /obj/structure/railing, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -5747,19 +5980,27 @@ dir = 4 }, /area/ship/cargo) -"KQ" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/airlock/hatch{ - dir = 4 - }, +"KH" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/layer_manifold{ +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/obj/effect/turf_decal/siding/thinplating/corner{ dir = 4 }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/siding/thinplating, +/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/central) +"KP" = ( +/obj/structure/reagent_dispensers/foamtank, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, /area/ship/storage/starboard) "KR" = ( /obj/structure/cable{ @@ -5774,50 +6015,12 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering) -"KT" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating/airless, -/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" - }, -/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) +"KS" = ( +/obj/structure/catwalk/over, +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/plastic/twenty, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "KY" = ( /obj/effect/turf_decal/borderfloor, /obj/machinery/door/airlock/public/glass{ @@ -5842,20 +6045,16 @@ }, /turf/open/floor/plating, /area/ship/bridge) -"Lm" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/table/reinforced, -/obj/item/folder/syndicate{ - desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'" +"Lf" = ( +/obj/structure/sign/poster/random{ + pixel_y = 32 }, -/obj/item/stamp/inteq/maa, -/obj/item/table_bell{ - pixel_x = -15 +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/layer4{ + dir = 8 }, /turf/open/floor/plasteel/dark, -/area/ship/security) +/area/ship/maintenance/port) "Lo" = ( /obj/machinery/power/terminal, /obj/structure/table, @@ -5879,20 +6078,41 @@ }, /turf/open/floor/plasteel/dark, /area/ship/engineering) +"Ls" = ( +/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" + }, +/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) "Lu" = ( /obj/machinery/atmospherics/components/binary/circulator/cold{ dir = 1 }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering/engine) -"LF" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - welded = 1 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "LJ" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -6002,6 +6222,27 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"Mg" = ( +/obj/machinery/atmospherics/components/unary/shuttle/heater, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/eastright{ + name = "Engine Access" + }, +/obj/structure/barricade/wooden/crude, +/obj/machinery/door/poddoor{ + dir = 4; + id = "talos_thrusters_port" + }, +/turf/open/floor/plating, +/area/ship/engineering) "Mh" = ( /obj/effect/turf_decal/box/corners{ dir = 1 @@ -6020,25 +6261,6 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/grimy, /area/ship/crew) -"Mn" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/chair/handrail{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/starboard) "Mx" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -6081,18 +6303,41 @@ }, /turf/open/floor/plasteel/dark, /area/ship/engineering/communications) +"MD" = ( +/obj/structure/closet/crate/chem, +/obj/item/reagent_containers/glass/bottle/potass_iodide, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/storage/port) +"MF" = ( +/obj/machinery/door/airlock/maintenance{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/storage/port) "MK" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, /turf/open/floor/plasteel/dark, /area/ship/security) -"MR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate/secure/loot, -/turf/open/floor/plating/airless, -/area/ship/storage/port) +"MQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/oil, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/storage/starboard) "MS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6104,6 +6349,16 @@ /obj/effect/turf_decal/hardline_small/right, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"MU" = ( +/obj/structure/closet/crate/critter, +/mob/living/simple_animal/hostile/hivebot/mechanic{ + desc = "A very rusty maintenance hivebot. Judging by the wires looping haphazardly from its panels and the Inteq shield spray painted on its chassis, somebody, somehow, has hacked it into complacency."; + environment_smash = 0; + faction = list("neutral"); + name = "Heph" + }, +/turf/open/floor/plating, +/area/ship/storage/starboard) "MV" = ( /obj/structure/catwalk, /turf/open/floor/plating/airless, @@ -6154,22 +6409,6 @@ }, /turf/open/floor/plasteel/grimy, /area/ship/crew) -"Nf" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) -"Ng" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/ship/storage/starboard) -"Ni" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) "Nj" = ( /obj/effect/turf_decal/box/corners, /obj/machinery/button/shieldwallgen{ @@ -6198,35 +6437,12 @@ /obj/effect/turf_decal/trimline/opaque/yellow/warning, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) -"NC" = ( -/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/machinery/advanced_airlock_controller{ - pixel_y = -21 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 4 - }, -/obj/structure/chair/handrail{ +"Nu" = ( +/obj/effect/spawner/random/salvage_machine{ dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"NF" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating/airless, -/area/ship/storage/port) +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "NK" = ( /turf/open/floor/engine/air, /area/ship/engineering/engine) @@ -6244,6 +6460,9 @@ /obj/item/trash/can, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"NU" = ( +/turf/closed/wall/rust, +/area/ship/storage/port) "NW" = ( /obj/structure/cable{ icon_state = "0-8" @@ -6283,11 +6502,40 @@ dir = 10 }, /obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10; - layer = 2.030 + dir = 10; + layer = 2.030 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"Om" = ( +/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 }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/item/clothing/glasses/meson, +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "eng_secure"; + name = "artificer's locker"; + req_access_txt = "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) "Oq" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -6299,6 +6547,13 @@ /obj/machinery/light/directional/north, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"OC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "OD" = ( /obj/effect/turf_decal/box/corners{ dir = 4 @@ -6317,6 +6572,16 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"OI" = ( +/obj/effect/decal/cleanable/dirt, +/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/port) "OK" = ( /obj/machinery/cryopod{ dir = 8 @@ -6340,12 +6605,22 @@ }, /turf/open/floor/plasteel/dark, /area/ship/security) -"OP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) +"OU" = ( +/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") + }, +/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) "Pf" = ( /obj/structure/catwalk, /obj/effect/decal/cleanable/dirt, @@ -6366,6 +6641,20 @@ /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /turf/open/floor/plating, /area/ship/engineering/engine) +"Pl" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) "Pm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1; @@ -6376,6 +6665,19 @@ }, /turf/open/floor/engine/hull/reinforced, /area/ship/engineering/engine) +"Pn" = ( +/obj/effect/decal/cleanable/dirt, +/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/plating, +/area/ship/maintenance/port) "Pp" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/maintenance/port) @@ -6391,14 +6693,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/carpet/black, /area/ship/crew/dorm) -"Pt" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/maintenance/three, -/obj/structure/closet/crate, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) "Py" = ( /obj/structure/cable{ icon_state = "1-2" @@ -6449,6 +6743,11 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/plating, /area/ship/engineering/engine) +"PM" = ( +/obj/structure/catwalk/over, +/obj/structure/closet/crate/secure/loot, +/turf/open/floor/plating, +/area/ship/storage/starboard) "PN" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6469,6 +6768,19 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"PT" = ( +/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/structure/closet/emcloset/wall/directional/south{ + populate = 0 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"PV" = ( +/turf/open/floor/plating, +/area/ship/storage/port) "PX" = ( /obj/structure/marker_beacon{ picked_color = "Yellow" @@ -6498,6 +6810,23 @@ /obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/plasteel/tech, /area/ship/security/armory) +"Qb" = ( +/obj/structure/closet/crate/large, +/obj/item/mop, +/obj/item/pushbroom, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Qf" = ( +/obj/structure/filingcabinet/chestdrawer/wheeled{ + dir = 8 + }, +/obj/item/folder, +/obj/item/folder/yellow, +/obj/item/folder/red, +/obj/item/pen/fountain, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/storage/port) "Qg" = ( /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -6510,6 +6839,16 @@ }, /turf/open/floor/engine/fuel, /area/ship/engineering/engine) +"Qp" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/catwalk/over, +/obj/structure/table, +/obj/effect/spawner/random/clothing/gloves, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/storage/port) "Qq" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6542,18 +6881,6 @@ /obj/structure/table, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) -"Qy" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/door_assembly/door_assembly_mhatch{ - anchored = 1; - can_be_unanchored = 1; - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "QC" = ( /obj/structure/chair/stool{ dir = 1 @@ -6569,6 +6896,14 @@ }, /turf/open/floor/engine/air, /area/ship/engineering/engine) +"QE" = ( +/obj/structure/falsewall/plastitanium, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormtwo) +"QH" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plating, +/area/ship/storage/starboard) "QR" = ( /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/brown{ @@ -6579,12 +6914,6 @@ }, /turf/open/floor/plasteel/dark, /area/ship/security) -"QS" = ( -/obj/structure/sign/number/random{ - pixel_y = -8 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/storage/starboard) "QU" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ @@ -6597,23 +6926,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) -"QV" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) -"QW" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) "QZ" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ dir = 8; @@ -6655,38 +6967,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"Ri" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, -/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/storage/starboard) -"Rs" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/door_assembly/door_assembly_mhatch{ - anchored = 1; - can_be_unanchored = 1; - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) -"Ry" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/shuttle/engine/electric, -/turf/open/floor/plating, -/area/ship/engineering) "RC" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -6730,29 +7010,14 @@ }, /turf/open/floor/carpet/black, /area/ship/crew/dorm) -"RT" = ( -/turf/open/floor/plating/airless, -/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/random/maintenance, +"RZ" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, -/area/ship/maintenance/port) -"RY" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/airlock/hatch{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/port) +/area/ship/storage/starboard) +"Sc" = ( +/turf/closed/wall/yesdiag, +/area/ship/maintenance/starboard) "Si" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 1 @@ -6781,29 +7046,14 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"So" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/smes/shuttle/precharged, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "talos_thrusters_port" +"St" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/obj/structure/sign/poster/random{ + pixel_x = -32 }, /turf/open/floor/plating, -/area/ship/engineering) +/area/ship/storage/starboard) "Su" = ( /obj/machinery/telecomms/processor/preset_four{ autolinkers = list("processor4","bus"); @@ -6811,6 +7061,14 @@ }, /turf/open/floor/circuit/telecomms/mainframe, /area/ship/engineering/communications) +"Sv" = ( +/obj/structure/closet/crate/trashcart, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/spawner/random/maintenance, +/obj/structure/catwalk/over, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/ship/maintenance/port) "SB" = ( /obj/structure/cable{ icon_state = "1-8" @@ -6851,11 +7109,6 @@ /obj/structure/catwalk/over, /turf/open/floor/plating, /area/ship/engineering/engine) -"SH" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) "SI" = ( /obj/structure/cable{ icon_state = "2-8" @@ -6887,10 +7140,6 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering/communications) -"SL" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma, -/turf/open/floor/plating, -/area/ship/engineering) "SN" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 1 @@ -6931,6 +7180,22 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) +"Td" = ( +/obj/structure/closet/emcloset/anchored{ + populate = 0 + }, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Te" = ( +/obj/structure/catwalk/over, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/ship/storage/starboard) "Tg" = ( /obj/structure/window/reinforced/survival_pod, /obj/structure/window/reinforced/survival_pod{ @@ -6941,6 +7206,12 @@ }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/engineering/communications) +"Ti" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/storage/starboard) "Tj" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6983,29 +7254,18 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"TE" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "4-8" + dir = 8 }, -/turf/open/floor/plating/airless, -/area/ship/storage/port) -"TH" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"TI" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/airlock/maintenance_hatch, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/turf/open/floor/plating, +/area/ship/maintenance/port) "TK" = ( /obj/structure/window/reinforced{ dir = 4 @@ -7036,15 +7296,12 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) -"TN" = ( -/obj/structure/falsewall/plastitanium, -/turf/open/floor/plating, -/area/ship/storage/starboard) -"TO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) +"TR" = ( +/obj/structure/sign/poster/random{ + pixel_x = 32 + }, +/turf/closed/wall, +/area/ship/maintenance/starboard) "TS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7072,11 +7329,6 @@ }, /turf/open/floor/plasteel/grimy, /area/ship/crew) -"Ub" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/secure/loot, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) "Uc" = ( /obj/structure/cable{ icon_state = "1-4" @@ -7088,6 +7340,12 @@ /obj/effect/turf_decal/hardline_small/left, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"Ue" = ( +/obj/structure/sign/number/random{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm/dormtwo) "Ug" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -7134,6 +7392,14 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"Uj" = ( +/obj/machinery/jukebox/boombox{ + pixel_x = -7; + pixel_y = -11 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormtwo) "Ul" = ( /obj/effect/turf_decal/box/corners{ dir = 1 @@ -7154,55 +7420,19 @@ }, /turf/open/floor/plasteel/grimy, /area/ship/crew) -"Uq" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/advanced_airlock_controller{ - pixel_y = -24 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/structure/chair/handrail{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/starboard) -"Uy" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, -/area/ship/storage/port) +"Up" = ( +/obj/structure/table, +/obj/effect/spawner/random/entertainment/musical_instrument, +/turf/open/floor/plating, +/area/ship/maintenance/port) "UD" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/storage/port) -"UG" = ( -/obj/machinery/button/door{ - dir = 4; - id = "talos_thrusters_port"; - name = "Blast Door Control"; - pixel_x = -21; - pixel_y = 3 - }, -/obj/structure/closet/secure_closet/engineering_electrical{ - req_access = null; - req_access_txt = "11" - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) +"UK" = ( +/obj/structure/catwalk/over, +/obj/structure/mopbucket, +/turf/open/floor/plating, +/area/ship/storage/port) "UM" = ( /obj/machinery/power/terminal{ dir = 8 @@ -7213,6 +7443,13 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"UN" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/maintenance/port) "UO" = ( /obj/machinery/light/directional/south, /turf/template_noop, @@ -7236,11 +7473,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) -"UQ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating/airless, -/area/ship/storage/port) "Ve" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -7292,22 +7524,10 @@ /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/storage/port) "Vr" = ( /obj/item/trash/boritos, /turf/open/floor/plasteel/grimy, /area/ship/crew) -"Vs" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/grille, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "Vz" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /turf/open/floor/plating, @@ -7359,24 +7579,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"VL" = ( -/obj/machinery/button/shieldwallgen{ - id = "talos_tank_burn"; - pixel_x = -6; - pixel_y = 20; - req_access_txt = "56" - }, -/obj/machinery/button/door{ - id = "talos_tank_burn"; - pixel_x = 4; - pixel_y = 21; - req_access_txt = "56" - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) "VO" = ( /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/brown{ @@ -7416,10 +7618,6 @@ /obj/machinery/photocopier, /turf/open/floor/plasteel/dark, /area/ship/security) -"Wd" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "We" = ( /obj/structure/cable{ icon_state = "1-2" @@ -7445,30 +7643,18 @@ }, /turf/open/floor/plating, /area/ship/security) -"Wg" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) -"Wh" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +"Wl" = ( +/obj/machinery/door/airlock/maintenance/external{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/chair/handrail{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/port) +/turf/open/floor/plating, +/area/ship/maintenance/port) "Wp" = ( /obj/structure/window/reinforced{ dir = 4 @@ -7482,11 +7668,22 @@ /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/storage/starboard) +"Ws" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/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/port) "Wy" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 4 @@ -7511,40 +7708,6 @@ /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" - }, -/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{ @@ -7584,27 +7747,114 @@ /obj/machinery/power/generator{ dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/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) +"WP" = ( +/obj/machinery/light_switch{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt, +/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/storage/port) +"WR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/navbeacon/wayfinding{ + location = "talos_bridge" + }, +/turf/open/floor/carpet/orange, +/area/ship/bridge) +"WS" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/filingcabinet/chestdrawer{ + dir = 4; + pixel_x = 7 + }, +/obj/item/radio/intercom/directional/west{ + freerange = 1; + freqlock = 1; + frequency = 1347; + name = "IRMG shortwave intercom" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"WX" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/syndicate{ + desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'" + }, +/obj/item/pen, +/obj/item/multitool{ + pixel_x = 12; + pixel_y = 8 }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"WN" = ( -/obj/machinery/porta_turret/ship/inteq{ - dir = 6; - id = "talos_grid" +/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/closed/wall/mineral/plastitanium, -/area/ship/storage) -"WR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) +"Xb" = ( +/obj/structure/closet/firecloset, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random{ + pixel_y = -32 }, -/obj/machinery/navbeacon/wayfinding{ - location = "talos_bridge" +/turf/open/floor/plating, +/area/ship/storage/starboard) +"Xe" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-2" }, -/turf/open/floor/carpet/orange, -/area/ship/bridge) +/turf/open/floor/plating, +/area/ship/storage/starboard) +"Xf" = ( +/obj/structure/catwalk/over, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/ship/storage/starboard) "Xg" = ( /turf/open/floor/carpet/black, /area/ship/crew/dorm) @@ -7623,10 +7873,6 @@ /obj/item/attachment/rail_light, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) -"Xl" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma, -/turf/open/floor/plating, -/area/ship/engineering/engine) "Xn" = ( /obj/structure/cable{ icon_state = "2-9" @@ -7672,6 +7918,16 @@ "XJ" = ( /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) +"XN" = ( +/obj/item/cigbutt, +/turf/open/floor/plasteel/dark, +/area/ship/maintenance/starboard) +"XS" = ( +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/maintenance/starboard) "XV" = ( /obj/effect/turf_decal/siding/thinplating/dark, /obj/effect/turf_decal/trimline/opaque/yellow/line, @@ -7713,12 +7969,6 @@ }, /turf/open/floor/engine/hull/reinforced/interior, /area/ship/engineering/engine) -"Yq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair/handrail, -/turf/open/floor/plating/airless, -/area/ship/maintenance/port) "Yt" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -7736,6 +7986,29 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"Yw" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/window/eastright{ + name = "Engine Access" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "talos_thrusters_starboard" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) "Yz" = ( /obj/item/clothing/glasses/hud/security/sunglasses/inteq, /obj/item/clothing/mask/balaclava/inteq, @@ -7777,10 +8050,6 @@ /obj/item/flashlight/lamp/green, /turf/open/floor/carpet/black, /area/ship/crew/dorm) -"YI" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) "YK" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7796,33 +8065,6 @@ /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{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating/airless, -/area/ship/storage/starboard) -"YX" = ( -/obj/structure/grille, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) -"YZ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating/airless, -/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/maintenance/port) "Zc" = ( /obj/machinery/status_display/shuttle{ pixel_y = 32 @@ -7856,11 +8098,21 @@ }, /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) -"Ze" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/firecloset, -/turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +"Zg" = ( +/obj/machinery/door/airlock/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 + }, +/turf/open/floor/plating, +/area/ship/storage/port) "Zj" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, @@ -7869,36 +8121,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) -"Zk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/bed, -/obj/item/bedsheet/hos{ - name = "vanguard's spare bedsheet" - }, -/turf/open/floor/plating, -/area/ship/storage/starboard) -"Zn" = ( -/obj/structure/closet/emcloset/empty{ - anchored = 1; - can_be_unanchored = 1; - name = "oxygen closet" - }, -/obj/item/tank/internals/plasmaman/full, -/obj/item/tank/internals/plasmaman/full, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/port) "Zo" = ( /obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ @@ -7924,6 +8146,10 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"Zs" = ( +/obj/machinery/power/shuttle/engine/fueled/plasma, +/turf/open/floor/plating, +/area/ship/engineering/engine) "Zu" = ( /obj/structure/cable, /obj/machinery/power/smes/engineering, @@ -7942,6 +8168,11 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) +"ZC" = ( +/obj/effect/spawner/random/maintenance/three, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/storage/starboard) "ZE" = ( /obj/machinery/atmospherics/pipe/simple/purple/visible, /obj/effect/turf_decal/industrial/fire{ @@ -7965,13 +8196,10 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) -"ZJ" = ( -/obj/machinery/power/shuttle/engine/electric, -/obj/structure/cable{ - icon_state = "0-4" - }, +"ZG" = ( +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/storage/port) "ZU" = ( /obj/machinery/light/directional/west, /obj/machinery/telecomms/server/presets/inteq{ @@ -7981,20 +8209,6 @@ }, /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/random/maintenance/three, -/turf/open/floor/plating/airless, -/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/storage/starboard) (1,1,1) = {" sw @@ -8005,10 +8219,10 @@ sw sw tA OF -Ry -sZ -sZ -SL +sU +jk +jk +cp OF tA sw @@ -8017,10 +8231,10 @@ sw sw ie pU -Xl -ZJ -ZJ -ZJ +Zs +BZ +BZ +BZ pU ie sw @@ -8039,10 +8253,10 @@ sw hL OF OF -So -AY -ii -uC +Fj +IO +Ew +Mg OF OF sw @@ -8051,10 +8265,10 @@ sw sw pU pU -yq -aI -iM -ej +if +fw +Eh +Yw pU pU Ar @@ -8072,7 +8286,7 @@ MV sw ia bM -UG +lH UM lO dW @@ -8106,7 +8320,7 @@ MV sw vE OF -jf +Jd ak Uc OG @@ -8114,7 +8328,7 @@ iD Lo dw ge -GU +OU Yp ZE rV @@ -8143,7 +8357,7 @@ vp vp AO cj -qD +Pl jS AZ gV @@ -8186,7 +8400,7 @@ Gr QZ lS RC -Jo +wq Qu su qr @@ -8202,7 +8416,7 @@ cV "} (7,1,1) = {" vp -Eg +Kw mz EC My @@ -8218,7 +8432,7 @@ pU pU Pk pU -VL +dj cz pU JU @@ -8277,9 +8491,9 @@ aD MC zR vp -KW -br -WE +lP +Ls +Om Xn gP qh @@ -8308,7 +8522,7 @@ vp au fo Hl -jJ +WX vp vp sW @@ -8349,7 +8563,7 @@ YC yb sW OF -jZ +HC xI Yt IJ @@ -8413,11 +8627,11 @@ sW mL RL ow -WC +eM GR sW PJ -AD +Ia xI pu kD @@ -8451,7 +8665,7 @@ sW sW sW jX -di +JF xI sF kD @@ -8601,7 +8815,7 @@ Ui Fp Gm zo -NC +kc hT sw sw @@ -8694,7 +8908,7 @@ uv lB xf KF -BS +uj bX hT sq @@ -8856,7 +9070,7 @@ lC qF Zj mX -pL +dX dE Ax Lc @@ -8865,7 +9079,7 @@ Ic Gv fh Mh -qP +kQ bN LM Rg @@ -8976,7 +9190,7 @@ cR rJ PY Ir -xT +WS Wf sw sw @@ -9008,7 +9222,7 @@ Rg oV Hh pk -Lm +sH eN Dd mK @@ -9057,7 +9271,7 @@ sw lC Ds lt -Ga +EG ta xj Cu @@ -9072,7 +9286,7 @@ VX sw hT oW -fg +KH mK kM Jq @@ -9090,8 +9304,8 @@ sw sw qz yp -jj -Gl +yp +gh yp xj gT @@ -9105,8 +9319,8 @@ AB sw sw uI -si -iu +uI +hS uI gY as @@ -9124,9 +9338,9 @@ sw sw sw yp -Bz -lM -yp +GW +WP +gB yp yp yp @@ -9139,14 +9353,14 @@ sw sw sw uI -Gu -Uq -uI -uI -uI -TN +QH +yd uI uI +tw +QE +tw +tw sw sw sw @@ -9158,13 +9372,13 @@ sw sw sw vi -Zn -Wh -yp -AL -Aa -oY -zB +in +zf +fS +GW +UK +Qp +GW yp sw sw @@ -9173,14 +9387,14 @@ sw sw sw uI -FO -Mn -uI -Pt -uI -Ng -CJ -QS +st +fe +vr +ZC +tw +yX +aA +Ue sw sw sw @@ -9192,13 +9406,13 @@ sw sw sw Dw -yp -RY -yp -yp -yp -jt -yp +in +tS +PV +kA +bo +zH +NU yp sw sw @@ -9207,14 +9421,14 @@ sw sw sw uI -uI -KQ -uI -TO -uI -uc -rw -QS +nv +vr +vr +vr +tw +eE +dN +Ue sw sw sw @@ -9226,13 +9440,13 @@ sw sw sw PF -fU -nD -nH -Ex -RT -fr -Vp +GW +kY +GP +GW +Qf +Aj +GW yp sw sw @@ -9241,14 +9455,14 @@ sw sw sw uI -aV -Nf -oD -oS -uI -Wr -pb -QS +Gb +vr +Te +PM +tw +az +Uj +Ue sw sw sw @@ -9260,13 +9474,13 @@ sw sw Pf wv -uo -Uy -yp -kJ -RT -Uy -ZV +GW +Zg +GW +GW +GW +MF +GW yp sw sw @@ -9275,14 +9489,14 @@ sw sw sw uI -ik -hm -YI -Rp -uI -Zk -hz -QS +Gb +RZ +yu +Cm +tw +fO +qI +Ue sw sw sw @@ -9295,12 +9509,12 @@ sw Pf UD yp -yp -yp -Qy -yp -yp -yp +Ws +ZG +GW +MD +cl +dQ yp sw sw @@ -9309,14 +9523,14 @@ sw sw sw uI -uI -uI -uI -YU -uI -uI -uI -DO +MQ +vr +Xf +zq +tw +tw +tw +HM sw sw sw @@ -9329,12 +9543,12 @@ sw HI sw yp -MR -yp -tf -Ex -nF -bK +lK +mR +Fq +cq +Bn +Bn yp sw sw @@ -9343,12 +9557,12 @@ sw sw sw uI -Ub -lI -ZY -KT -YI -gm +nv +vr +vr +vr +vr +vr uI sw sw @@ -9363,12 +9577,12 @@ sw sw sw yp -Uy -yp -nF -NF -RT -Hj +DR +Hw +GW +yv +gE +zX yp sw sw @@ -9377,12 +9591,12 @@ sw sw sw uI -uI -uI -ub -uI -uI -uI +aj +Fb +fV +RZ +fV +St uI sw sw @@ -9397,12 +9611,12 @@ sw sw sw yp -uo -JI -Fh -TE -wU -UQ +nk +GW +GW +GW +GW +GW yp sw sw @@ -9411,12 +9625,12 @@ sw sw sw uI -pG -BN -QV -SH -Ho -hm +KP +jo +Ti +vr +Ka +fV uI sw sw @@ -9431,12 +9645,12 @@ sw sw sw Pp -Pp -Pp -Pp -tK -Pp -Pp +eH +BW +yY +iG +Gn +zI Pp sw sw @@ -9444,14 +9658,14 @@ sw sw sw sw -fK -fK -fK -mI -fK -fK -fK -fK +uI +Xe +mW +Xb +vr +hH +MU +uI sw sw sw @@ -9465,12 +9679,12 @@ sw sw sw Pp -Ri -zL -Vs -Hc -Ri -IF +iJ +tX +iJ +iJ +fI +rA Pp sw sw @@ -9479,12 +9693,12 @@ sw sw sw fK -YZ -hw -ff -fK -ti -Ni +bc +ja +bc +bc +bc +bc fK sw sw @@ -9499,12 +9713,12 @@ sw sw sw Pp -Pp -sl -Pp -Pp -Pp -Pp +hv +pY +Ij +iJ +lj +iJ Pp sw sw @@ -9513,12 +9727,12 @@ sw sw sw fK -If -Jk -yP -TH -If -Jk +Ju +ry +bc +Sc +nU +XS fK sw sw @@ -9533,12 +9747,12 @@ sw sw Pf Pp -qp -xG -BP -Wd -fj -Zb +Qb +DG +TI +iJ +mq +Up Pp sw sw @@ -9547,12 +9761,12 @@ sw sw sw fK -oG -If -ks -fK -IB -YZ +Kg +ET +rR +rZ +XN +jq fK sw sw @@ -9568,11 +9782,11 @@ sw Pf Ap Pp -Pp -yU -Pp -Pp -Pp +iJ +iJ +iJ +Pn +Ht Pp sw sw @@ -9581,11 +9795,11 @@ sw sw sw fK -fK -fK -Rs -fK -fK +KS +Jt +bc +kv +HT fK sy sw @@ -9602,11 +9816,11 @@ sw Pf sw Pp -zg -go -Pp -pq -zg +rr +jO +UN +OI +kq Pp sw sw @@ -9615,11 +9829,11 @@ sw sw sw fK -rN -QW -Ev -YX -Ze +TR +hX +bc +xi +kn fK sw sw @@ -9636,11 +9850,11 @@ sw Pf sw Pp -Wd -sC -Pp -RV -CN +Sv +EJ +iJ +zp +lc Pp sw sw @@ -9649,11 +9863,11 @@ sw sw sw fK -fK -ef -fK -fK -fK +bc +bc +bc +ld +bc fK sw sw @@ -9670,11 +9884,11 @@ sw Fi sw Pp -KB -iO -LF -Wd -OP +iJ +Wl +iJ +iJ +iJ Pp sw sw @@ -9683,11 +9897,11 @@ sw sw sw fK -dD -GQ -Jk -If -kh +bc +bj +Fs +pc +Nu fK sw sw @@ -9705,9 +9919,9 @@ sw sw aC Pp -fN -Pp -Pp +Kt +Td +iJ Pp Ap sw @@ -9718,9 +9932,9 @@ sw sw sy fK -Gq -If -YZ +JV +OC +yB fK qt sw @@ -9739,8 +9953,8 @@ sw sw sw Pp -Yq -sD +Lf +Jw Pp Ap sw @@ -9753,8 +9967,8 @@ sw sw sy fK -mh -Fl +mx +PT fK sw sw @@ -9773,8 +9987,8 @@ sw sw sw Ap -od -ck +Pp +DJ Pp sw sw @@ -9787,8 +10001,8 @@ sw sw sw fK -dv -Wg +zC +fK sy sw sw From 28dbb4cb73c607c86ad1e2c20662ed2e6de47f3c Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 14 Jan 2025 23:10:07 -0600 Subject: [PATCH 017/330] Automatic changelog generation for PR #3658 [ci skip] --- html/changelogs/AutoChangeLog-pr-3658.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3658.yml diff --git a/html/changelogs/AutoChangeLog-pr-3658.yml b/html/changelogs/AutoChangeLog-pr-3658.yml new file mode 100644 index 000000000000..714dd64c66b2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3658.yml @@ -0,0 +1,5 @@ +author: Sadhorizon +changes: + - {tweak: Talos maints were remapped. They are also no longer spaced.} + - {tweak: Scarab maints were tweaked a little.} +delete-after: true From 78417e09ac50e85e83e4c871c895ac18ac001473 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 16 Jan 2025 01:01:16 +0000 Subject: [PATCH 018/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3658.yml | 5 ----- html/changelogs/AutoChangeLog-pr-3956.yml | 5 ----- html/changelogs/AutoChangeLog-pr-3974.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3977.yml | 5 ----- html/changelogs/AutoChangeLog-pr-3983.yml | 5 ----- html/changelogs/archive/2025-01.yml | 15 +++++++++++++++ 6 files changed, 15 insertions(+), 24 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3658.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3956.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3974.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3977.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3983.yml diff --git a/html/changelogs/AutoChangeLog-pr-3658.yml b/html/changelogs/AutoChangeLog-pr-3658.yml deleted file mode 100644 index 714dd64c66b2..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3658.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Sadhorizon -changes: - - {tweak: Talos maints were remapped. They are also no longer spaced.} - - {tweak: Scarab maints were tweaked a little.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3956.yml b/html/changelogs/AutoChangeLog-pr-3956.yml deleted file mode 100644 index 031d11c03674..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3956.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: MemeSnorfer -changes: - - {bugfix: Makes some changes to the Atoll-Class's map file. It should feel slightly - better to play on.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3974.yml b/html/changelogs/AutoChangeLog-pr-3974.yml deleted file mode 100644 index 6f90f6c7a02c..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3974.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Ical92 -changes: - - {bugfix: merge conflicts are now properly marked} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3977.yml b/html/changelogs/AutoChangeLog-pr-3977.yml deleted file mode 100644 index e938de47315b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3977.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: generalthrax -changes: - - {rscadd: 'Improved Elder airlock and added a few small things to the Elder (Animal - pen, cargo bay area, more tobacco, eggs), and shifted docking ports around.'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3983.yml b/html/changelogs/AutoChangeLog-pr-3983.yml deleted file mode 100644 index c0d9bb8e61f5..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3983.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Erikafox -changes: - - {bugfix: "Doors are now bludgeoned by whatever you're holding less, and can actually - be deconstructed."} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index bf7662ab5761..4a24f6db40db 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -82,3 +82,18 @@ 2025-01-15: Erikafox: - bugfix: guns no longer glow in the dark +2025-01-16: + Erikafox: + - bugfix: Doors are now bludgeoned by whatever you're holding less, and can actually + be deconstructed. + Ical92: + - bugfix: merge conflicts are now properly marked + MemeSnorfer: + - bugfix: Makes some changes to the Atoll-Class's map file. It should feel slightly + better to play on. + Sadhorizon: + - tweak: Talos maints were remapped. They are also no longer spaced. + - tweak: Scarab maints were tweaked a little. + generalthrax: + - rscadd: Improved Elder airlock and added a few small things to the Elder (Animal + pen, cargo bay area, more tobacco, eggs), and shifted docking ports around. From 7a17ccee94723e9a38f1e0c5218eacc9a0c626e8 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Fri, 17 Jan 2025 00:58:58 -0500 Subject: [PATCH 019/330] Adds a CE access requirement to the wrecker's equipment room on the Derecho (#3998) ## About The Pull Request This PR tweaks the wrecker's equipment storage room's airlock so that it requires either CE access or mining access in order to open. ## Why It's Good For The Game This would allow for the Foreman aboard the Derecho to access the wrecker's equipment, which I feel makes sense. @Apogee-dev , the developer of the Derecho, is also fine with this change. ## Changelog :cl: code: modifies the access requirements to the wrecker's equipment room aboard the Derecho so that the Foreman can access it /:cl: --- _maps/shuttles/syndicate/syndicate_ngr_derecho.dmm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm index 586a592bb7c1..2fefe2a23261 100644 --- a/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm +++ b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm @@ -2587,6 +2587,12 @@ pixel_y = 7 }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Locker Room"; + req_access_txt = null; + req_one_access_txt = "48,56" + }, /turf/open/floor/plasteel/dark, /area/ship/cargo) "vF" = ( @@ -5645,7 +5651,7 @@ /obj/machinery/door/airlock/hatch{ dir = 4; name = "Locker Room"; - req_access_txt = "48" + req_one_access = list(48, 56) }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/grid, From e311d58da101e6ba192ec6dd4de6fe80a903e25b Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 17 Jan 2025 00:09:16 -0600 Subject: [PATCH 020/330] Automatic changelog generation for PR #3998 [ci skip] --- html/changelogs/AutoChangeLog-pr-3998.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3998.yml diff --git a/html/changelogs/AutoChangeLog-pr-3998.yml b/html/changelogs/AutoChangeLog-pr-3998.yml new file mode 100644 index 000000000000..3359b5b3b70a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3998.yml @@ -0,0 +1,5 @@ +author: zimon9 +changes: + - {code_imp: modifies the access requirements to the wrecker's equipment room aboard + the Derecho so that the Foreman can access it} +delete-after: true From d9074f1440fef7afea63ae5c78661a7475682bdb Mon Sep 17 00:00:00 2001 From: Theos Date: Fri, 17 Jan 2025 14:27:15 -0500 Subject: [PATCH 021/330] fix #3990 (#4022) ## About The Pull Request fixes #3990 ## Why It's Good For The Game old sprites were copied into the new hazard icons instead of the new ones ## Changelog :cl: fix: radioactive barrels are now 4k HD again /:cl: --- icons/obj/hazard/generic.dmi | Bin 8455 -> 9367 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/hazard/generic.dmi b/icons/obj/hazard/generic.dmi index 80e89e6fcbc02fb97cb245769458060ace4f5ffd..19e85f5fcb6e08e27b4b58f4dc10d93ac8559080 100644 GIT binary patch delta 9114 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 G75qPMhrv1k delta 8194 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 I@>Ze$1J>E8PXGV_ From 8162369dfa051213d19b523925cd8d0e08e937cf Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 17 Jan 2025 13:38:17 -0600 Subject: [PATCH 022/330] Automatic changelog generation for PR #4022 [ci skip] --- html/changelogs/AutoChangeLog-pr-4022.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4022.yml diff --git a/html/changelogs/AutoChangeLog-pr-4022.yml b/html/changelogs/AutoChangeLog-pr-4022.yml new file mode 100644 index 000000000000..1ce5bdf8d2d3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4022.yml @@ -0,0 +1,4 @@ +author: SomeguyManperson +changes: + - {bugfix: radioactive barrels are now 4k HD again} +delete-after: true From 8d95284c344058ffbfd57f3623adf5d897fabf45 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 17 Jan 2025 14:59:19 -0500 Subject: [PATCH 023/330] Removes Bullet Absorbtion From Mobs (#3985) this feature is dumb nothing is 'immune' to bullets :cl: balance: goldgrubs, fugu, and basilisks are now marginally less immune to bullets. /:cl: Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- .../living/simple_animal/hostile/mining_mobs/basilisk.dm | 8 ++------ .../living/simple_animal/hostile/mining_mobs/goldgrub.dm | 6 ++++-- .../simple_animal/hostile/mining_mobs/mining_mobs.dm | 5 +---- .../mob/living/simple_animal/hostile/wumborian_fugu.dm | 7 ++----- 4 files changed, 9 insertions(+), 17 deletions(-) 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 c2a09fb80b65..2a3886db5b98 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,5 +1,3 @@ -#define BULLET_SHELL_DAMAGE 1 - //A beast that fire freezing blasts. /mob/living/simple_animal/hostile/asteroid/basilisk name = "basilisk" @@ -158,7 +156,7 @@ return ..() /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands/bullet_act(obj/projectile/P) - shell_damage(BULLET_SHELL_DAMAGE) + shell_damage(P.damage/4) if(has_shell) playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 85, TRUE) visible_message("The [P] is absorbed by the [src]'s shell, dealing minimal damage!") //make it less confusing when bullets do no damage @@ -166,7 +164,7 @@ /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) if(istype(AM, /obj/item)) - shell_damage(BULLET_SHELL_DAMAGE) + shell_damage(AM.throwforce/4) ..() /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands/drop_loot() @@ -201,8 +199,6 @@ name = "glowing basilisk" projectiletype = /obj/projectile/temp/basilisk/heated -#undef BULLET_SHELL_DAMAGE - //Watcher /mob/living/simple_animal/hostile/asteroid/basilisk/watcher name = "watcher" 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 3377165ea3ea..a873ddc27545 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 @@ -36,6 +36,8 @@ /obj/item/stack/ore/silver, /obj/item/stack/ore/uranium) + armor = list(melee = 25, bullet = 60, laser = 40, energy = 80, bomb = 80, bio = 80, rad = 80, fire = 80, acid = 80, magic = 80) + var/chase_time = 100 var/will_burrow = TRUE var/datum/action/innate/goldgrub/spitore/spit @@ -157,8 +159,8 @@ qdel(src) /mob/living/simple_animal/hostile/asteroid/goldgrub/bullet_act(obj/projectile/P) - visible_message("The [P.name] is repelled by [name]'s girth!") - return BULLET_ACT_BLOCK + visible_message("The [P.name] is absorbed by [name]'s girth!") + . = ..() /mob/living/simple_animal/hostile/asteroid/goldgrub/adjustHealth(amount, updating_health = TRUE, forced = FALSE) vision_range = 9 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 18be354c2652..a3d1ba5fb01d 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 @@ -37,12 +37,9 @@ return icon_state = icon_living -/mob/living/simple_animal/hostile/asteroid/bullet_act(obj/projectile/P)//Reduces damage from most projectiles to curb off-screen kills +/mob/living/simple_animal/hostile/asteroid/bullet_act(obj/projectile/P) if(!stat) Aggro() - /* if(P.damage < 30 && P.damage_type != BRUTE) //WS Edit Begin - Whitesands - P.damage = (P.damage / 3) - visible_message("[P] has a reduced effect on [src]!") */ //WS Edit End ..() /mob/living/simple_animal/hostile/asteroid/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) //No floor tiling them to death, wiseguy 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 be3242ed5252..50f23b334919 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -32,6 +32,7 @@ aggro_vision_range = 9 mob_size = MOB_SIZE_SMALL environment_smash = ENVIRONMENT_SMASH_NONE + armor = list(melee = 20, bullet = 10, laser = 30, energy = 80, bomb = 80, bio = 80, rad = 80, fire = 80, acid = 80, magic = 80) var/wumbo = 0 var/inflate_cooldown = 0 var/datum/action/innate/fugu/expand/E @@ -57,11 +58,6 @@ E.Activate() ..() -/mob/living/simple_animal/hostile/asteroid/fugu/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - if(!forced && wumbo) - return FALSE - . = ..() - /mob/living/simple_animal/hostile/asteroid/fugu/Aggro() ..() E.Activate() @@ -99,6 +95,7 @@ F.environment_smash = ENVIRONMENT_SMASH_WALLS F.mob_size = MOB_SIZE_LARGE F.speed = 1 + F.armor = list(melee = 80, bullet = 60, laser = 80, energy = 80, bomb = 80, bio = 80, rad = 80, fire = 80, acid = 80, magic = 80) addtimer(CALLBACK(F, TYPE_PROC_REF(/mob/living/simple_animal/hostile/asteroid/fugu, Deflate)), 100) /mob/living/simple_animal/hostile/asteroid/fugu/proc/Deflate() From f88afad47cef822c043faf1a4816bef2bb2e0ddc Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 17 Jan 2025 15:00:28 -0500 Subject: [PATCH 024/330] Outpost Medical (#3939) ## About The Pull Request Yes I know it looks unatomic it kinda is Adds some new medpens + reflavors the wallmed vendor + adds small medical areas to both outposts + remaps indie_space to accommodate a medical area new medpens: diphenhydramine antihol synaptizine tricordrazine psicodine wallmed vendor now has all those medpens + atropine, as well as some splints and gauze. outpost map changes: ![image](https://github.com/user-attachments/assets/244458f6-b15f-4d9b-a73e-ccf7cd33f22a) ![image](https://github.com/user-attachments/assets/1bcf8987-49bc-4224-bf8e-0c7e29685642) ## Why It's Good For The Game I want to see more people going into the outpost for their own medical needs. I think this'll encourage it ## Changelog :cl: add: The asteroid outpost in the region has been somewhat renovated. add: Outposts now stock a variety of medpens in a small medical area. /:cl: --- _maps/outpost/elevator_indie.dmm | 70 +- _maps/outpost/hangar/indie_space_20x20.dmm | 679 +- _maps/outpost/hangar/indie_space_40x20.dmm | 700 +- _maps/outpost/hangar/indie_space_40x40.dmm | 564 +- _maps/outpost/hangar/indie_space_56x20.dmm | 550 +- _maps/outpost/hangar/indie_space_56x40.dmm | 691 +- _maps/outpost/indie_space.dmm | 10721 +++++++++------- _maps/outpost/nanotrasen_ice.dmm | 187 +- code/game/objects/items/stacks/medical.dm | 3 +- .../structures/crates_lockers/crates.dm | 3 + code/game/turfs/closed/indestructible.dm | 6 + .../reagents/reagent_containers/hypospray.dm | 88 +- code/modules/uplink/uplink_items.dm | 8 - code/modules/vending/medical.dm | 7 + code/modules/vending/medical_wall.dm | 36 +- 15 files changed, 8307 insertions(+), 6006 deletions(-) diff --git a/_maps/outpost/elevator_indie.dmm b/_maps/outpost/elevator_indie.dmm index f692a2918a5b..d67f501a074e 100644 --- a/_maps/outpost/elevator_indie.dmm +++ b/_maps/outpost/elevator_indie.dmm @@ -1,19 +1,46 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( /obj/structure/elevator_platform, -/obj/machinery/status_display/elevator{ - pixel_x = -32 +/obj/machinery/elevator_floor_button{ + pixel_y = 22 }, /turf/template_noop, /area/template_noop) "e" = ( /obj/structure/elevator_platform, -/obj/machinery/light/small/directional/east, +/obj/structure/crate_shelf{ + capacity = 2 + }, /turf/template_noop, /area/template_noop) "k" = ( /obj/structure/elevator_platform, -/obj/machinery/light/small/directional/west, +/obj/machinery/status_display/elevator{ + pixel_x = -32 + }, +/obj/machinery/light/dim/directional/south, +/turf/template_noop, +/area/template_noop) +"r" = ( +/obj/structure/elevator_platform, +/obj/machinery/status_display/elevator{ + pixel_x = 32 + }, +/obj/machinery/light/dim/directional/south, +/turf/template_noop, +/area/template_noop) +"s" = ( +/obj/structure/elevator_platform, +/obj/machinery/status_display/elevator{ + pixel_x = 32 + }, +/obj/machinery/light/dim/directional/north, +/turf/template_noop, +/area/template_noop) +"x" = ( +/obj/structure/elevator_platform, +/obj/item/radio/intercom/table, +/obj/structure/table, /turf/template_noop, /area/template_noop) "A" = ( @@ -22,26 +49,45 @@ /area/template_noop) "S" = ( /obj/structure/elevator_platform, -/obj/machinery/elevator_floor_button{ - pixel_y = 0; - dir = 8; - pixel_x = 24 +/obj/machinery/status_display/elevator{ + pixel_x = -32 }, +/obj/machinery/light/dim/directional/north, /turf/template_noop, /area/template_noop) (1,1,1) = {" -k -a +S +A +A +A k "} (2,1,1) = {" A A +e +A A "} (3,1,1) = {" +a +A +x +A +A +"} +(4,1,1) = {" +A +A e -S -e +A +A +"} +(5,1,1) = {" +s +A +A +A +r "} diff --git a/_maps/outpost/hangar/indie_space_20x20.dmm b/_maps/outpost/hangar/indie_space_20x20.dmm index 24c00395b2f6..8e8c6f2fb2e2 100644 --- a/_maps/outpost/hangar/indie_space_20x20.dmm +++ b/_maps/outpost/hangar/indie_space_20x20.dmm @@ -13,45 +13,28 @@ }, /area/hangar) "al" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 +/obj/effect/turf_decal/arrows{ + dir = 4 }, +/turf/open/floor/hangar/plasteel, /area/hangar) "am" = ( /turf/closed/indestructible/reinforced, /area/hangar) "ao" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/obj/effect/landmark/outpost/hangar_dock, +/turf/open/floor/hangar, /area/hangar) "ap" = ( -/obj/structure/marker_beacon{ - picked_color = "Teal" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, +/turf/open/floor/hangar/plasteel, /area/hangar) "aq" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/plasteel/grimy, /area/hangar) "av" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ +/turf/open/floor/plasteel/tech{ planetary_atmos = 1 }, /area/hangar) @@ -66,27 +49,17 @@ /turf/closed/indestructible/reinforced, /area/hangar) "az" = ( -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 1 }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aA" = ( -/obj/machinery/elevator_call_button{ - pixel_y = 25 - }, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, /area/hangar) "aB" = ( -/obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/closed/indestructible/reinforced/rust, /area/hangar) "aC" = ( /obj/effect/turf_decal/arrows{ @@ -97,18 +70,17 @@ }, /area/hangar) "aE" = ( -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 1 }, +/obj/machinery/light/floor/hangar, +/turf/open/floor/hangar/plasteel, /area/hangar) "aH" = ( /turf/template_noop, /area/template_noop) "aJ" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "aL" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -119,53 +91,44 @@ }, /area/hangar) "aM" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/hangar, /area/hangar) "aN" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ +/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ dir = 8 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aO" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, +/turf/open/floor/plasteel/grimy, /area/hangar) "aP" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 1 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 8 }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aT" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/obj/structure/table, +/turf/open/floor/plasteel/grimy, /area/hangar) "aY" = ( -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/plasteel{ - planetary_atmos = 1 +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 9 }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aZ" = ( -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, +/area/hangar) +"gQ" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, +/obj/machinery/light/floor/hangar, +/turf/open/floor/hangar/plasteel, /area/hangar) "jk" = ( /obj/effect/landmark/outpost/elevator, @@ -173,23 +136,87 @@ planetary_atmos = 1 }, /area/hangar) +"jL" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ + dir = 1 + }, +/turf/open/floor/hangar/plasteel, +/area/hangar) +"kI" = ( +/obj/effect/landmark/outpost/elevator_machine, +/obj/machinery/elevator_call_button{ + pixel_y = 25 + }, +/turf/open/floor/hangar/plasteel, +/area/hangar) "qz" = ( /turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 }, /area/hangar) +"rC" = ( +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/turf/open/floor/hangar/plasteel, +/area/hangar) "rQ" = ( -/obj/machinery/atmospherics/pipe/simple/general, /turf/closed/indestructible/reinforced, +/area/template_noop) +"ud" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/hangar) +"yo" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/hangar) +"Co" = ( +/obj/effect/turf_decal/arrows{ + dir = 8 + }, +/turf/open/floor/hangar/plasteel, +/area/hangar) +"Kl" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 10 + }, +/turf/open/floor/hangar/plasteel, +/area/hangar) +"LV" = ( +/obj/machinery/light/floor/hangar, +/turf/open/floor/hangar/plasteel, +/area/hangar) +"Qc" = ( +/obj/structure/marker_beacon{ + picked_color = "Teal" + }, +/turf/open/floor/hangar, +/area/hangar) +"Rz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/plasteel/grimy, +/area/hangar) +"WI" = ( +/obj/effect/landmark/outpost/hangar_numbers, +/turf/open/floor/hangar/plasteel, /area/hangar) (1,1,1) = {" aH aH aH -am -am -am +aH +aH +aB +aB +aB am am am @@ -212,18 +239,19 @@ am am ay am -am -am +aB am "} (2,1,1) = {" aH aH aH -am -aZ -aZ -aM +aH +aH +aB +aP +aP +Kl aL aL aL @@ -244,52 +272,54 @@ aL aL aL aL -ao -aZ -aZ -am +aY +aP +aB "} (3,1,1) = {" aH aH aH -am -aZ +aH +aH +aB aZ aM +ap ac ac aC ac -ac +av ac ac aC ac -ac +av ac ac aC ac -ac +av ac ac aC ac ac -ao -aZ -aZ -am +az +aM +aB "} (4,1,1) = {" aH aH aH -am -aZ +aH +aH +aB aZ aM +ap ad ad ad @@ -310,19 +340,20 @@ ad ad ad ad -ao -aZ -aZ -am +az +aM +aB "} (5,1,1) = {" aH aH aH +aH +aH am aZ -aZ aM +ap aJ aJ aJ @@ -342,20 +373,21 @@ aJ aJ aJ aJ -aB ao -aZ -aZ -am +az +aM +aB "} (6,1,1) = {" aH aH aH +aH +aH am aZ -aZ aM +ap aJ aJ aJ @@ -376,20 +408,21 @@ aJ aJ aJ aJ -ao -aZ -aZ -am +az +aM +aB "} (7,1,1) = {" aH aH aH -am +aH +aH +aB aZ -az -aM +al ap +Qc aJ aJ aJ @@ -408,20 +441,21 @@ aJ aJ aJ aJ -ap -ao +Qc az -aZ +al am "} (8,1,1) = {" aH aH aH -am -aZ +aH +aH +aB aZ aM +ap aJ aJ aJ @@ -442,19 +476,20 @@ aJ aJ aJ aJ -ao -aZ -aZ +az +aM am "} (9,1,1) = {" aH aH aH -am -aZ +aH +aH +aB aZ -av +aM +gQ aJ aJ aJ @@ -475,19 +510,20 @@ aJ aJ aJ aJ -aq -aZ -aZ +aE +aM am "} (10,1,1) = {" aH aH aH -am -aZ +aH +aH +aB aZ aM +ap aJ aJ aJ @@ -508,19 +544,20 @@ aJ aJ aJ aJ -ao -aZ -aZ +az +aM am "} (11,1,1) = {" -aH -aH -aH am -aZ -aZ +am +am +am +am +aB +am aM +ap aJ aJ aJ @@ -541,20 +578,21 @@ aJ aJ aJ aJ -ao -aZ -aZ -am +az +aM +am "} (12,1,1) = {" -aH -aH -aH am -aZ -az -aM +qz +qz +qz +qz +jk +am +kI ap +Qc aJ aJ aJ @@ -573,20 +611,21 @@ aJ aJ aJ aJ -ap -ao +Qc az -aZ +al am "} (13,1,1) = {" -aH -aH -aH am +qz +qz +qz +qz +qz +ax aZ -aZ -aM +ap aJ aJ aJ @@ -607,19 +646,20 @@ aJ aJ aJ aJ -ao -aZ -aZ +az +aM am "} (14,1,1) = {" -aH -aH -aH am -aZ -aZ -aM +qz +qz +qz +qz +qz +ax +WI +ap aJ aJ aJ @@ -640,19 +680,20 @@ aJ aJ aJ aJ -ao -aZ -aZ -am +az +aM +aB "} (15,1,1) = {" -aH -aH -aH am +qz +qz +qz +qz +qz +ax aZ -aZ -aM +ap aJ aJ aJ @@ -673,19 +714,20 @@ aJ aJ aJ aJ -ao -aZ -aZ -am +az +aM +aB "} (16,1,1) = {" -aH -aH -aH +am +qz +qz +qz +qz +qz am aZ -aZ -aM +ap aJ aJ aJ @@ -706,20 +748,21 @@ aJ aJ aJ aJ -ao -aZ -aZ -am +az +aM +aB "} (17,1,1) = {" -aH -aH -aH am -aZ -az +am +am +am +am +am +am aM ap +Qc aJ aJ aJ @@ -738,20 +781,21 @@ aJ aJ aJ aJ -ap -ao +Qc az -aZ -am +al +aB "} (18,1,1) = {" aH aH aH +aH +aH am aZ -aZ aM +ap aJ aJ aJ @@ -772,19 +816,20 @@ aJ aJ aJ aJ -ao -aZ -aZ +az +aM am "} (19,1,1) = {" aH aH aH +aH +aH am aZ -aZ -av +aM +gQ aJ aJ aJ @@ -805,19 +850,20 @@ aJ aJ aJ aJ -aq -aZ -aZ +aE +aM am "} (20,1,1) = {" aH aH aH +aH +aH am aZ -aZ aM +ap aJ aJ aJ @@ -838,19 +884,20 @@ aJ aJ aJ aJ -ao -aZ -aZ +az +aM am "} (21,1,1) = {" aH aH aH +aH +aH am aZ -aZ aM +ap aJ aJ aJ @@ -871,20 +918,21 @@ aJ aJ aJ aJ -ao -aZ -aZ +az +aM am "} (22,1,1) = {" aH aH aH +aH +rQ am aZ -az -aM +Co ap +Qc aJ aJ aJ @@ -903,20 +951,21 @@ aJ aJ aJ aJ -ap -ao +Qc az -aZ +al am "} (23,1,1) = {" aH aH aH +aH rQ aO -aZ +Rz aM +ap aJ aJ aJ @@ -937,19 +986,20 @@ aJ aJ aJ aJ -ao -aZ -aZ +az +aM am "} (24,1,1) = {" -am -am -am -am -am +aH +aH +aH +aH +rQ +yo aA aM +ap aJ aJ aJ @@ -970,88 +1020,90 @@ aJ aJ aJ aJ -ao -aZ -aZ +az +aM am "} (25,1,1) = {" -am -qz -qz -jk -ax -aZ -al -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN +aH +aH +aH +aH +rQ +aT +aA +aM aN aP -aZ -aZ +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +jL +aM am "} (26,1,1) = {" -am -qz -qz -qz -ax -aY -aZ -aZ -aZ -aT -aZ -aZ -aZ -aZ -aT -aZ -aZ -aZ -aZ -aT -aZ -aZ -aZ -aZ -aT -aZ -aZ -aZ -aZ -aZ +aH +aH +aH +aH +rQ +ud +aA +aM +aM +aM +aM +rC +aM +aM +aM +aM +rC +aM +aM +aM +aM +rC +aM +aM +aM +aM +rC +aM +aM +aM +aM am "} (27,1,1) = {" -am -qz -qz -qz -ax -aZ +aH +aH +aH +aH +rQ +aq +aA aZ aZ -aE aZ +LV aZ aZ aZ @@ -1067,14 +1119,19 @@ aZ aZ aZ aZ -aE aZ +LV aZ aZ aZ -am +aB "} (28,1,1) = {" +aH +aH +aH +aH +rQ am am am @@ -1090,20 +1147,16 @@ am am am am +aB +aB +aB am am am am am +aB am -am -am -am -am -am -am -am -am -am -am +aB +aB "} diff --git a/_maps/outpost/hangar/indie_space_40x20.dmm b/_maps/outpost/hangar/indie_space_40x20.dmm index b3d80e6103bc..25546aedbdc3 100644 --- a/_maps/outpost/hangar/indie_space_40x20.dmm +++ b/_maps/outpost/hangar/indie_space_40x20.dmm @@ -6,25 +6,20 @@ /obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "af" = ( -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/hangar, /area/hangar) "ai" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aj" = ( -/turf/open/floor/plasteel{ +/obj/machinery/light/floor/hangar, +/turf/open/floor/plasteel/tech{ planetary_atmos = 1 }, /area/hangar) @@ -32,9 +27,7 @@ /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "am" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -46,25 +39,16 @@ /area/hangar) "ap" = ( /obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "as" = ( /obj/effect/turf_decal/arrows{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "av" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aw" = ( /obj/effect/turf_decal/arrows{ @@ -76,14 +60,10 @@ /area/hangar) "aA" = ( /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aD" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "aF" = ( /obj/machinery/door/airlock, @@ -95,9 +75,7 @@ /obj/structure/marker_beacon{ picked_color = "Teal" }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "aH" = ( /turf/open/floor/plasteel/tech{ @@ -106,17 +84,13 @@ /area/hangar) "aL" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aM" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ dir = 8 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aO" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -130,13 +104,10 @@ /turf/template_noop, /area/template_noop) "aR" = ( -/obj/machinery/elevator_call_button{ - pixel_y = 25 - }, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/plasteel{ - planetary_atmos = 1 +/obj/effect/turf_decal/arrows{ + dir = 4 }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aT" = ( /obj/machinery/door/poddoor/multi_tile/four_tile_ver, @@ -146,32 +117,33 @@ /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 8 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aX" = ( /obj/effect/turf_decal/arrows{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 + dir = 8 }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aY" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 1 }, /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "JT" = ( /turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 }, /area/hangar) +"Ny" = ( +/obj/effect/landmark/outpost/elevator_machine, +/obj/machinery/elevator_call_button{ + pixel_y = 25 + }, +/turf/open/floor/hangar/plasteel, +/area/hangar) "OP" = ( /obj/effect/landmark/outpost/elevator, /turf/open/floor/plasteel/elevatorshaft{ @@ -179,14 +151,16 @@ }, /area/hangar) "TX" = ( -/obj/machinery/atmospherics/pipe/simple/general, -/turf/closed/indestructible/reinforced, +/obj/effect/landmark/outpost/hangar_numbers, +/turf/open/floor/hangar/plasteel, /area/hangar) (1,1,1) = {" aP aP aP +aP +aP ab ab ab @@ -220,9 +194,11 @@ ab aP aP aP +aP +aP ab -aj -aj +av +av aL aO aO @@ -245,50 +221,54 @@ aO aO aO al -aj -aj +av +av ab "} (3,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aH aH aw aH -aH +aj aH aH aw aH -aH +aj aH aH aw aH -aH +aj aH aH aw aH aH al -aj -aj +af +av ab "} (4,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL am am @@ -311,17 +291,19 @@ am am am al -aj -aj +af +av ab "} (5,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -344,17 +326,19 @@ aD aD ap al -aj -aj +af +av ab "} (6,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -377,17 +361,19 @@ aD aD aD al -aj -aj +af +av ab "} (7,1,1) = {" aP aP aP +aP +aP ab -aj -aX +av +aR aL aG aD @@ -410,17 +396,19 @@ aD aD aG al -aX -aj +aR +av ab "} (8,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -443,17 +431,19 @@ aD aD aD al -aj -aj +af +av ab "} (9,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af ai aD aD @@ -476,17 +466,19 @@ aD aD aD aY -aj -aj +af +av ab "} (10,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -509,17 +501,19 @@ aD aD aD al -aj -aj +af +av ab "} (11,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -542,17 +536,19 @@ aD aD aD al -aj -aj +af +av ab "} (12,1,1) = {" aP aP aP +aP +aP ab -aj -aX +av +aR aL aG aD @@ -575,17 +571,19 @@ aD aD aG al -aX -aj +aR +av ab "} (13,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -608,17 +606,19 @@ aD aD aD al -aj -aj +af +av ab "} (14,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -641,17 +641,19 @@ aD aD aD al -aj -aj +af +av ab "} (15,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -674,17 +676,19 @@ aD aD aD al -aj -aj +af +av ab "} (16,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -707,17 +711,19 @@ aD aD aD al -aj -aj +af +av ab "} (17,1,1) = {" aP aP aP +aP +aP ab -aj -aX +av +aR aL aG aD @@ -740,17 +746,19 @@ aD aD aG al -aX -aj +aR +av ab "} (18,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -773,17 +781,19 @@ aD aD aD al -aj -aj +af +av ab "} (19,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af ai aD aD @@ -806,17 +816,19 @@ aD aD aD aY -aj -aj +af +av ab "} (20,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -839,17 +851,19 @@ aD aD aD al -aj -aj +af +av ab "} (21,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -872,17 +886,19 @@ aD aD aD al -aj -aj +af +av ab "} (22,1,1) = {" aP aP aP +aP +aP ab -aj -aX +av +aR aL aG aD @@ -905,17 +921,19 @@ aD aD aG al -aX -aj +aR +av ab "} (23,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -938,17 +956,19 @@ aD aD aD al -aj -aj +af +av ab "} (24,1,1) = {" -aP -aP -aP ab -aj -aj +ab +ab +ab +ab +ab +ab +av aL aD aD @@ -971,17 +991,19 @@ aD aD aD al -aj -aj +af +av ab "} (25,1,1) = {" -aP -aP -aP ab -aj -aj +JT +JT +JT +JT +OP +ab +Ny aL aD aD @@ -1004,17 +1026,19 @@ aD aD aD al -aj -aj +af +av ab "} (26,1,1) = {" -aP -aP -aP ab -aj -aj +JT +JT +JT +JT +JT +aF +av aL aD aD @@ -1037,17 +1061,19 @@ aD aD aD al -aj -aj +af +av ab "} (27,1,1) = {" -aP -aP -aP ab -aj -aX +JT +JT +JT +JT +JT +aF +TX aL aG aD @@ -1070,17 +1096,19 @@ aD aD aG al -aX -aj +aR +av ab "} (28,1,1) = {" -aP -aP -aP ab -aj -aj +JT +JT +JT +JT +JT +aF +av aL aD aD @@ -1103,17 +1131,19 @@ aD aD aD al -aj -aj +af +av ab "} (29,1,1) = {" -aP -aP -aP ab -aj -aj +JT +JT +JT +JT +JT +ab +av ai aD aD @@ -1136,17 +1166,19 @@ aD aD aD aY -aj -aj +af +av ab "} (30,1,1) = {" -aP -aP -aP ab -aj -aj +ab +ab +ab +ab +ab +ab +av aL aD aD @@ -1169,17 +1201,19 @@ aD aD aD al -aj -aj +af +av ab "} (31,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -1202,16 +1236,18 @@ aD aD aD al -aj -aj +af +av ab "} (32,1,1) = {" aP aP aP +aP +aP ab -aj +av aX aL aG @@ -1235,17 +1271,19 @@ aD aD aG al -aX -aj +aR +av ab "} (33,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -1268,17 +1306,19 @@ aD aD aD al -aj -aj +af +av ab "} (34,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -1301,17 +1341,19 @@ aD aD aD al -aj -aj +af +av ab "} (35,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -1334,17 +1376,19 @@ aD aD aD al -aj -aj +af +av ab "} (36,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -1367,16 +1411,18 @@ aD aD aD al -aj -aj +af +av ab "} (37,1,1) = {" aP aP aP +aP +aP ab -aj +av aX aL aG @@ -1400,17 +1446,19 @@ aD aD aG al -aX -aj +aR +av ab "} (38,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -1433,17 +1481,19 @@ aD aD aD al -aj -aj +af +av ab "} (39,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af ai aD aD @@ -1466,17 +1516,19 @@ aD aD aD aY -aj -aj +af +av ab "} (40,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -1499,17 +1551,19 @@ aD aD aD al -aj -aj +af +av ab "} (41,1,1) = {" aP aP aP +aP +aP ab -aj -aj +av +af aL aD aD @@ -1532,16 +1586,18 @@ aD aD aD al -aj -aj +af +av ab "} (42,1,1) = {" aP aP aP +aP +aP ab -aj +av aX aL aG @@ -1565,17 +1621,19 @@ aD aD aG al -aX -aj +aR +av ab "} (43,1,1) = {" aP aP aP -TX +aP +aP +ab av -aj +af aL aD aD @@ -1598,17 +1656,19 @@ aD aD aD al -aj -aj +af +av ab "} (44,1,1) = {" +aP +aP +aP +aP +aP ab -ab -ab -ab -ab -aR +av +af aL aD aD @@ -1631,17 +1691,19 @@ aD aD aD al -aj -aj +af +av ab "} (45,1,1) = {" +aP +aP +aP +aP +aP ab -JT -JT -OP -aF -aj +av +af aM aU aU @@ -1664,80 +1726,86 @@ aU aU aU ae -aj -aj +af +av ab "} (46,1,1) = {" +aP +aP +aP +aP +aP ab -JT -JT -JT -aF +av +af +af +af af -aj -aj -aj as -aj -aj -aj -aj +af +af +af +af as -aj -aj -aj -aj +af +af +af +af as -aj -aj -aj -aj +af +af +af +af as -aj -aj -aj -aj -aj +af +af +af +af +av ab "} (47,1,1) = {" +aP +aP +aP +aP +aP ab -JT -JT -JT -aF -aj -aj -aj +av +av +av +av aA -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av +av aA -aj -aj -aj -aj +av +av +av +av ab "} (48,1,1) = {" -ab -ab -ab +aP +aP +aP +aP +aP ab ab ab diff --git a/_maps/outpost/hangar/indie_space_40x40.dmm b/_maps/outpost/hangar/indie_space_40x40.dmm index 9818aa943330..4f126292695f 100644 --- a/_maps/outpost/hangar/indie_space_40x40.dmm +++ b/_maps/outpost/hangar/indie_space_40x40.dmm @@ -6,49 +6,37 @@ /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "ac" = ( /obj/structure/marker_beacon{ picked_color = "Teal" }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "ag" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 8 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "ah" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "ak" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 1 }, /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "am" = ( /obj/machinery/elevator_call_button{ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "an" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -82,49 +70,37 @@ /obj/effect/turf_decal/arrows{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "ax" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "ay" = ( /obj/effect/turf_decal/arrows{ dir = 4 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aC" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ dir = 8 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aF" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "aH" = ( /obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "aP" = ( -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/plasteel{ - planetary_atmos = 1 +/obj/effect/turf_decal/arrows{ + dir = 8 }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aQ" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -136,30 +112,20 @@ /area/hangar) "aS" = ( /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aT" = ( -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/hangar, /area/hangar) "aX" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aY" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aZ" = ( /obj/machinery/door/airlock, @@ -172,9 +138,15 @@ planetary_atmos = 1 }, /area/hangar) +"vh" = ( +/obj/machinery/light/floor/hangar, +/turf/open/floor/plasteel/tech{ + planetary_atmos = 1 + }, +/area/hangar) "BE" = ( -/obj/machinery/atmospherics/pipe/simple/general, -/turf/closed/indestructible/reinforced, +/obj/effect/landmark/outpost/hangar_numbers, +/turf/open/floor/hangar/plasteel, /area/hangar) "JI" = ( /obj/effect/landmark/outpost/elevator, @@ -187,6 +159,8 @@ au au au +au +au aa aa aa @@ -240,9 +214,11 @@ aa au au au +au +au aa -aT -aT +aY +aY ah an an @@ -285,69 +261,73 @@ an an an ab -aT -aT +aY +aY aa "} (3,1,1) = {" au au au +au +au aa -aT +aY aT ah at at as at -at +vh at at as at -at +vh at at as at -at +vh at at as at -at +vh at at as at -at +vh at at as at -at +vh at at as at -at +vh at at as at at ab -aT -aT +aY +aY aa "} (4,1,1) = {" au au au +au +au aa -aT +aY aT ah aQ @@ -391,16 +371,18 @@ aQ aQ aQ ab -aT -aT +aY +aY aa "} (5,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -444,16 +426,18 @@ aF aF aH ab -aT -aT +aY +aY aa "} (6,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -497,16 +481,18 @@ aF aF aF ab -aT -aT +aY +aY aa "} (7,1,1) = {" au au au +au +au aa -aT +aY ay ah ac @@ -551,15 +537,17 @@ aF ac ab ay -aT +aY aa "} (8,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -604,15 +592,17 @@ aF aF ab aT -aT +aY aa "} (9,1,1) = {" au au au +au +au aa -aT +aY aT ax aF @@ -657,15 +647,17 @@ aF aF ak aT -aT +aY aa "} (10,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -710,15 +702,17 @@ aF aF ab aT -aT +aY aa "} (11,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -763,15 +757,17 @@ aF aF ab aT -aT +aY aa "} (12,1,1) = {" au au au +au +au aa -aT +aY ay ah ac @@ -816,15 +812,17 @@ aF ac ab ay -aT +aY aa "} (13,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -869,15 +867,17 @@ aF aF ab aT -aT +aY aa "} (14,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -922,15 +922,17 @@ aF aF ab aT -aT +aY aa "} (15,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -975,15 +977,17 @@ aF aF ab aT -aT +aY aa "} (16,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -1028,15 +1032,17 @@ aF aF ab aT -aT +aY aa "} (17,1,1) = {" au au au +au +au aa -aT +aY ay ah ac @@ -1081,15 +1087,17 @@ aF ac ab ay -aT +aY aa "} (18,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -1134,16 +1142,18 @@ aF aF ab aT -aT +aY aa "} (19,1,1) = {" -au -au -au aa -aT -aT +aa +aa +aa +aa +aa +aa +aY ax aF aF @@ -1187,16 +1197,18 @@ aF aF ak aT -aT +aY aa "} (20,1,1) = {" -au -au -au aa -aT -aT +jY +jY +jY +jY +JI +aa +am ah aF aF @@ -1240,16 +1252,18 @@ aF aF ab aT -aT +aY aa "} (21,1,1) = {" -au -au -au aa -aT -aT +jY +jY +jY +jY +jY +aZ +aY ah aF aF @@ -1293,16 +1307,18 @@ aF aF ab aT -aT +aY aa "} (22,1,1) = {" -au -au -au aa -aT -ay +jY +jY +jY +jY +jY +aZ +BE ah ac aF @@ -1346,16 +1362,18 @@ aF ac ab ay -aT +aY aa "} (23,1,1) = {" -au -au -au aa -aT -aT +jY +jY +jY +jY +jY +aZ +aY ah aF aF @@ -1399,16 +1417,18 @@ aF aF ab aT -aT +aY aa "} (24,1,1) = {" -au -au -au aa -aT -aT +jY +jY +jY +jY +jY +aa +aY ah aF aF @@ -1452,16 +1472,18 @@ aF aF ab aT -aT +aY aa "} (25,1,1) = {" -au -au -au aa -aT -aT +aa +aa +aa +aa +aa +aa +aY ah aF aF @@ -1505,15 +1527,17 @@ aF aF ab aT -aT +aY aa "} (26,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -1558,16 +1582,18 @@ aF aF ab aT -aT +aY aa "} (27,1,1) = {" au au au +au +au aa -aT -ay +aY +aP ah ac aF @@ -1611,15 +1637,17 @@ aF ac ab ay -aT +aY aa "} (28,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -1664,15 +1692,17 @@ aF aF ab aT -aT +aY aa "} (29,1,1) = {" au au au +au +au aa -aT +aY aT ax aF @@ -1717,15 +1747,17 @@ aF aF ak aT -aT +aY aa "} (30,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -1770,15 +1802,17 @@ aF aF ab aT -aT +aY aa "} (31,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -1823,16 +1857,18 @@ aF aF ab aT -aT +aY aa "} (32,1,1) = {" au au au +au +au aa -aT -ay +aY +aP ah ac aF @@ -1876,15 +1912,17 @@ aF ac ab ay -aT +aY aa "} (33,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -1929,15 +1967,17 @@ aF aF ab aT -aT +aY aa "} (34,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -1982,15 +2022,17 @@ aF aF ab aT -aT +aY aa "} (35,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -2035,15 +2077,17 @@ aF aF ab aT -aT +aY aa "} (36,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -2088,16 +2132,18 @@ aF aF ab aT -aT +aY aa "} (37,1,1) = {" au au au +au +au aa -aT -ay +aY +aP ah ac aF @@ -2141,15 +2187,17 @@ aF ac ab ay -aT +aY aa "} (38,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -2194,15 +2242,17 @@ aF aF ab aT -aT +aY aa "} (39,1,1) = {" au au au +au +au aa -aT +aY aT ax aF @@ -2247,15 +2297,17 @@ aF aF ak aT -aT +aY aa "} (40,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -2300,15 +2352,17 @@ aF aF ab aT -aT +aY aa "} (41,1,1) = {" au au au +au +au aa -aT +aY aT ah aF @@ -2353,16 +2407,18 @@ aF aF ab aT -aT +aY aa "} (42,1,1) = {" au au au +au +au aa -aT -ay +aY +aP ah ac aF @@ -2406,14 +2462,16 @@ aF ac ab ay -aT +aY aa "} (43,1,1) = {" au au au -BE +au +au +aa aY aT ah @@ -2459,16 +2517,18 @@ aF aF ab aT -aT +aY aa "} (44,1,1) = {" +au +au +au +au +au aa -aa -aa -aa -aa -am +aY +aT ah aF aF @@ -2512,15 +2572,17 @@ aF aF ab aT -aT +aY aa "} (45,1,1) = {" +au +au +au +au +au aa -jY -jY -JI -aZ +aY aT aC ag @@ -2565,16 +2627,18 @@ ag ag aX aT -aT +aY aa "} (46,1,1) = {" +au +au +au +au +au aa -jY -jY -jY -aZ -aP +aY +aT aT aT aT @@ -2618,66 +2682,70 @@ aT aT aT aT -aT +aY aa "} (47,1,1) = {" +au +au +au +au +au aa -jY -jY -jY -aZ -aT -aT +aY +aY +aY aS -aT -aT -aT -aT -aT -aT -aT -aT -aT +aY +aY +aY +aY +aY +aY +aY +aY +aY aS -aT -aT -aT -aT -aT -aT -aT -aT +aY +aY +aY +aY +aY +aY +aY +aY aS aS -aT -aT -aT -aT -aT -aT -aT -aT +aY +aY +aY +aY +aY +aY +aY +aY aS -aT -aT -aT -aT -aT -aT -aT -aT -aT +aY +aY +aY +aY +aY +aY +aY +aY +aY aS -aT -aT -aT +aY +aY +aY aa "} (48,1,1) = {" -aa -aa -aa +au +au +au +au +au aa aa aa diff --git a/_maps/outpost/hangar/indie_space_56x20.dmm b/_maps/outpost/hangar/indie_space_56x20.dmm index 93842d2587a5..93e20f60ed9e 100644 --- a/_maps/outpost/hangar/indie_space_56x20.dmm +++ b/_maps/outpost/hangar/indie_space_56x20.dmm @@ -10,9 +10,7 @@ /area/hangar) "af" = ( /obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "ag" = ( /turf/closed/indestructible/reinforced, @@ -35,37 +33,26 @@ /obj/structure/marker_beacon{ picked_color = "Teal" }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "am" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "an" = ( -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "ap" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ dir = 8 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "as" = ( -/obj/machinery/elevator_call_button{ - pixel_y = 25 - }, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/plasteel{ +/obj/machinery/light/floor/hangar, +/turf/open/floor/plasteel/tech{ planetary_atmos = 1 }, /area/hangar) @@ -78,83 +65,59 @@ }, /area/hangar) "ay" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/obj/effect/landmark/outpost/hangar_numbers, +/turf/open/floor/hangar/plasteel, /area/hangar) "aB" = ( -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/hangar, /area/hangar) "aC" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aD" = ( /obj/effect/turf_decal/arrows{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aE" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 8 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aG" = ( /obj/effect/turf_decal/arrows{ dir = 4 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aI" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aJ" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aK" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 1 }, /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aN" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "aP" = ( /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aX" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -178,15 +141,26 @@ planetary_atmos = 1 }, /area/hangar) +"rY" = ( +/obj/effect/landmark/outpost/elevator_machine, +/obj/machinery/elevator_call_button{ + pixel_y = 25 + }, +/turf/open/floor/hangar/plasteel, +/area/hangar) "vM" = ( -/obj/machinery/atmospherics/pipe/simple/general, -/turf/closed/indestructible/reinforced, +/obj/effect/turf_decal/arrows{ + dir = 8 + }, +/turf/open/floor/hangar/plasteel, /area/hangar) (1,1,1) = {" aZ aZ aZ +aZ +aZ ag ag ag @@ -220,6 +194,8 @@ ag aZ aZ aZ +aZ +aZ ag an an @@ -253,32 +229,34 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ ae ae ai ae -ae +as ae ae ai ae -ae +as ae ae ai ae -ae +as ae ae ai ae ae aC -an +aB an ag "} @@ -286,9 +264,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ ax ax @@ -311,7 +291,7 @@ ax ax ax aC -an +aB an ag "} @@ -319,9 +299,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -344,7 +326,7 @@ aN aN af aC -an +aB an ag "} @@ -352,9 +334,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -377,7 +361,7 @@ aN aN aN aC -an +aB an ag "} @@ -385,6 +369,8 @@ ag aZ aZ aZ +aZ +aZ ag an aG @@ -418,9 +404,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -443,7 +431,7 @@ aN aN aN aC -an +aB an ag "} @@ -451,9 +439,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aI aN aN @@ -476,7 +466,7 @@ aN aN aN aK -an +aB an ag "} @@ -484,9 +474,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -509,7 +501,7 @@ aN aN aN aC -an +aB an ag "} @@ -517,9 +509,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -542,7 +536,7 @@ aN aN aN aC -an +aB an ag "} @@ -550,6 +544,8 @@ ag aZ aZ aZ +aZ +aZ ag an aG @@ -583,9 +579,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -608,7 +606,7 @@ aN aN aN aC -an +aB an ag "} @@ -616,9 +614,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -641,7 +641,7 @@ aN aN aN aC -an +aB an ag "} @@ -649,9 +649,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -674,7 +676,7 @@ aN aN aN aC -an +aB an ag "} @@ -682,9 +684,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -707,7 +711,7 @@ aN aN aN aC -an +aB an ag "} @@ -715,6 +719,8 @@ ag aZ aZ aZ +aZ +aZ ag an aG @@ -748,9 +754,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -773,7 +781,7 @@ aN aN aN aC -an +aB an ag "} @@ -781,9 +789,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aI aN aN @@ -806,7 +816,7 @@ aN aN aN aK -an +aB an ag "} @@ -814,9 +824,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -839,7 +851,7 @@ aN aN aN aC -an +aB an ag "} @@ -847,9 +859,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -872,7 +886,7 @@ aN aN aN aC -an +aB an ag "} @@ -880,6 +894,8 @@ ag aZ aZ aZ +aZ +aZ ag an aG @@ -913,9 +929,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -938,7 +956,7 @@ aN aN aN aC -an +aB an ag "} @@ -946,9 +964,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -971,7 +991,7 @@ aN aN aN aC -an +aB an ag "} @@ -979,9 +999,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1004,7 +1026,7 @@ aN aN aN aC -an +aB an ag "} @@ -1012,9 +1034,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1037,7 +1061,7 @@ aN aN aN aC -an +aB an ag "} @@ -1045,6 +1069,8 @@ ag aZ aZ aZ +aZ +aZ ag an aG @@ -1078,9 +1104,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1103,16 +1131,18 @@ aN aN aN aC -an +aB an ag "} (29,1,1) = {" -aZ -aZ -aZ ag -an +ag +ag +ag +ag +ag +ag an aI aN @@ -1136,17 +1166,19 @@ aN aN aN aK -an +aB an ag "} (30,1,1) = {" -aZ -aZ -aZ ag -an -an +mX +mX +mX +mX +jJ +ag +rY aJ aN aN @@ -1169,16 +1201,18 @@ aN aN aN aC -an +aB an ag "} (31,1,1) = {" -aZ -aZ -aZ ag -an +mX +mX +mX +mX +mX +aj an aJ aN @@ -1202,17 +1236,19 @@ aN aN aN aC -an +aB an ag "} (32,1,1) = {" -aZ -aZ -aZ ag -an -aG +mX +mX +mX +mX +mX +aj +ay aJ al aN @@ -1240,11 +1276,13 @@ an ag "} (33,1,1) = {" -aZ -aZ -aZ ag -an +mX +mX +mX +mX +mX +aj an aJ aN @@ -1268,16 +1306,18 @@ aN aN aN aC -an +aB an ag "} (34,1,1) = {" -aZ -aZ -aZ ag -an +mX +mX +mX +mX +mX +ag an aJ aN @@ -1301,16 +1341,18 @@ aN aN aN aC -an +aB an ag "} (35,1,1) = {" -aZ -aZ -aZ ag -an +ag +ag +ag +ag +ag +ag an aJ aN @@ -1334,7 +1376,7 @@ aN aN aN aC -an +aB an ag "} @@ -1342,9 +1384,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1367,7 +1411,7 @@ aN aN aN aC -an +aB an ag "} @@ -1375,9 +1419,11 @@ ag aZ aZ aZ +aZ +aZ ag an -aG +vM aJ al aN @@ -1408,9 +1454,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1433,7 +1481,7 @@ aN aN aN aC -an +aB an ag "} @@ -1441,9 +1489,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aI aN aN @@ -1466,7 +1516,7 @@ aN aN aN aK -an +aB an ag "} @@ -1474,9 +1524,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1499,7 +1551,7 @@ aN aN aN aC -an +aB an ag "} @@ -1507,9 +1559,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1532,7 +1586,7 @@ aN aN aN aC -an +aB an ag "} @@ -1540,9 +1594,11 @@ ag aZ aZ aZ +aZ +aZ ag an -aG +vM aJ al aN @@ -1573,9 +1629,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1598,7 +1656,7 @@ aN aN aN aC -an +aB an ag "} @@ -1606,9 +1664,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1631,7 +1691,7 @@ aN aN aN aC -an +aB an ag "} @@ -1639,9 +1699,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1664,7 +1726,7 @@ aN aN aN aC -an +aB an ag "} @@ -1672,9 +1734,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1697,7 +1761,7 @@ aN aN aN aC -an +aB an ag "} @@ -1705,9 +1769,11 @@ ag aZ aZ aZ +aZ +aZ ag an -aG +vM aJ al aN @@ -1738,9 +1804,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1763,7 +1831,7 @@ aN aN aN aC -an +aB an ag "} @@ -1771,9 +1839,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aI aN aN @@ -1796,7 +1866,7 @@ aN aN aN aK -an +aB an ag "} @@ -1804,9 +1874,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1829,7 +1901,7 @@ aN aN aN aC -an +aB an ag "} @@ -1837,9 +1909,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1862,7 +1936,7 @@ aN aN aN aC -an +aB an ag "} @@ -1870,9 +1944,11 @@ ag aZ aZ aZ +aZ +aZ ag an -aG +vM aJ al aN @@ -1903,9 +1979,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1928,7 +2006,7 @@ aN aN aN aC -an +aB an ag "} @@ -1936,9 +2014,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1961,7 +2041,7 @@ aN aN aN aC -an +aB an ag "} @@ -1969,9 +2049,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -1994,7 +2076,7 @@ aN aN aN aC -an +aB an ag "} @@ -2002,9 +2084,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -2027,7 +2111,7 @@ aN aN aN aC -an +aB an ag "} @@ -2035,9 +2119,11 @@ ag aZ aZ aZ +aZ +aZ ag an -aG +vM aJ al aN @@ -2068,9 +2154,11 @@ ag aZ aZ aZ +aZ +aZ ag an -an +aB aJ aN aN @@ -2093,7 +2181,7 @@ aN aN aN aC -an +aB an ag "} @@ -2101,9 +2189,11 @@ ag aZ aZ aZ -vM -ay +aZ +aZ +ag an +aB aI aN aN @@ -2126,17 +2216,19 @@ aN aN aN aK -an +aB an ag "} (60,1,1) = {" +aZ +aZ +aZ +aZ +aZ ag -ag -ag -ag -ag -as +an +aB aJ aN aN @@ -2159,17 +2251,19 @@ aN aN aN aC -an +aB an ag "} (61,1,1) = {" +aZ +aZ +aZ +aZ +aZ ag -mX -mX -jJ -aj an +aB ap aE aE @@ -2192,49 +2286,53 @@ aE aE aE am -an +aB an ag "} (62,1,1) = {" +aZ +aZ +aZ +aZ +aZ ag -mX -mX -mX -aj -aB -an -an an +aB +aB +aB +aB aD -an -an -an -an +aB +aB +aB +aB aD -an -an -an -an +aB +aB +aB +aB aD -an -an -an -an +aB +aB +aB +aB aD -an -an -an -an +aB +aB +aB +aB an ag "} (63,1,1) = {" +aZ +aZ +aZ +aZ +aZ ag -mX -mX -mX -aj +an an an an @@ -2263,9 +2361,11 @@ an ag "} (64,1,1) = {" -ag -ag -ag +aZ +aZ +aZ +aZ +aZ ag ag ag diff --git a/_maps/outpost/hangar/indie_space_56x40.dmm b/_maps/outpost/hangar/indie_space_56x40.dmm index 4adf317b8435..c06806acc362 100644 --- a/_maps/outpost/hangar/indie_space_56x40.dmm +++ b/_maps/outpost/hangar/indie_space_56x40.dmm @@ -4,9 +4,7 @@ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "ad" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -26,45 +24,29 @@ /area/hangar) "aj" = ( /obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "am" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "ao" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 1 }, /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"ar" = ( -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "at" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 +/obj/effect/turf_decal/arrows{ + dir = 4 }, +/turf/open/floor/hangar/plasteel, /area/hangar) "au" = ( /obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aw" = ( /obj/effect/turf_decal/arrows{ @@ -75,27 +57,19 @@ }, /area/hangar) "aA" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aD" = ( /obj/effect/turf_decal/arrows{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 + dir = 8 }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aE" = ( /obj/structure/marker_beacon{ picked_color = "Teal" }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "aG" = ( /turf/open/floor/plasteel/tech{ @@ -109,49 +83,36 @@ /obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aK" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ dir = 8 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aM" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar, /area/hangar) "aN" = ( -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/hangar, /area/hangar) "aO" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 8 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aP" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aT" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "aU" = ( /obj/machinery/door/poddoor/multi_tile/four_tile_ver, @@ -164,9 +125,7 @@ /obj/effect/turf_decal/arrows{ dir = 1 }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/turf/open/floor/hangar/plasteel, /area/hangar) "ck" = ( /turf/open/floor/plasteel/elevatorshaft{ @@ -174,8 +133,10 @@ }, /area/hangar) "MN" = ( -/obj/machinery/atmospherics/pipe/simple/general, -/turf/closed/indestructible/reinforced, +/obj/machinery/door/airlock, +/obj/effect/landmark/outpost/elevator_machine, +/obj/structure/lattice/catwalk, +/turf/open/floor/engine, /area/hangar) "Qi" = ( /obj/effect/landmark/outpost/elevator, @@ -183,11 +144,19 @@ planetary_atmos = 1 }, /area/hangar) +"Yz" = ( +/obj/machinery/light/floor/hangar, +/turf/open/floor/plasteel/tech{ + planetary_atmos = 1 + }, +/area/hangar) (1,1,1) = {" aV aV aV +aV +aV aH aH aH @@ -241,9 +210,11 @@ aH aV aV aV +aV +aV aH -aN -aN +aA +aA aP ad ad @@ -286,53 +257,55 @@ ad ad ad aT -aN -aN +aA +aA aH "} (3,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aG aG aw aG -aG +Yz aG aG aw aG -aG +Yz aG aG aw aG -aG +Yz aG aG aw aG -aG +Yz aG aG aw aG -aG +Yz aG aG aw aG -aG +Yz aG aG aw aG -aG +Yz aG aG aw @@ -340,15 +313,17 @@ aG aG aT aN -aN +aA aH "} (4,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP ai @@ -393,15 +368,17 @@ ai ai aT aN -aN +aA aH "} (5,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -446,15 +423,17 @@ aM aj aT aN -aN +aA aH "} (6,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -499,16 +478,18 @@ aM aM aT aN -aN +aA aH "} (7,1,1) = {" aV aV aV +aV +aV aH -aN -aD +aA +at aP aE aM @@ -551,16 +532,18 @@ aM aM aE aT -aD -aN +at +aA aH "} (8,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -605,15 +588,17 @@ aM aM aT aN -aN +aA aH "} (9,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN am aM @@ -658,15 +643,17 @@ aM aM ao aN -aN +aA aH "} (10,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -711,15 +698,17 @@ aM aM aT aN -aN +aA aH "} (11,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -764,16 +753,18 @@ aM aM aT aN -aN +aA aH "} (12,1,1) = {" aV aV aV +aV +aV aH -aN -aD +aA +at aP aE aM @@ -816,16 +807,18 @@ aM aM aE aT -aD -aN +at +aA aH "} (13,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -870,15 +863,17 @@ aM aM aT aN -aN +aA aH "} (14,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -923,15 +918,17 @@ aM aM aT aN -aN +aA aH "} (15,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -976,15 +973,17 @@ aM aM aT aN -aN +aA aH "} (16,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -1029,16 +1028,18 @@ aM aM aT aN -aN +aA aH "} (17,1,1) = {" aV aV aV +aV +aV aH -aN -aD +aA +at aP aE aM @@ -1081,16 +1082,18 @@ aM aM aE aT -aD -aN +at +aA aH "} (18,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -1135,15 +1138,17 @@ aM aM aT aN -aN +aA aH "} (19,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN am aM @@ -1188,15 +1193,17 @@ aM aM ao aN -aN +aA aH "} (20,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -1241,15 +1248,17 @@ aM aM aT aN -aN +aA aH "} (21,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -1294,16 +1303,18 @@ aM aM aT aN -aN +aA aH "} (22,1,1) = {" aV aV aV +aV +aV aH -aN -aD +aA +at aP aE aM @@ -1346,16 +1357,18 @@ aM aM aE aT -aD -aN +at +aA aH "} (23,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -1400,15 +1413,17 @@ aM aM aT aN -aN +aA aH "} (24,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -1453,15 +1468,17 @@ aM aM aT aN -aN +aA aH "} (25,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -1506,15 +1523,17 @@ aM aM aT aN -aN +aA aH "} (26,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -1559,16 +1578,18 @@ aM aM aT aN -aN +aA aH "} (27,1,1) = {" aV aV aV +aV +aV aH -aN -aD +aA +at aP aE aM @@ -1611,16 +1632,18 @@ aM aM aE aT -aD -aN +at +aA aH "} (28,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -1665,20 +1688,22 @@ aM aM aT aN -aN +aA aH "} (29,1,1) = {" -aV -aV -aV aH -aN -aN -am -aM -aM -aM +aH +aH +aH +aH +aH +aH +aA +am +aM +aM +aM aM aM aM @@ -1718,16 +1743,18 @@ aM aM ao aN -aN +aA aH "} (30,1,1) = {" -aV -aV -aV aH -aN -aN +ck +ck +ck +ck +Qi +aH +ab aP aM aM @@ -1771,16 +1798,18 @@ aM aM aT aN -aN +aA aH "} (31,1,1) = {" -aV -aV -aV aH -aN -aN +ck +ck +ck +ck +ck +MN +aA aP aM aM @@ -1824,16 +1853,18 @@ aM aM aT aN -aN +aA aH "} (32,1,1) = {" -aV -aV -aV aH -aN -aD +ck +ck +ck +ck +ck +MN +aA aP aE aM @@ -1876,17 +1907,19 @@ aM aM aE aT -aD -aN +at +aA aH "} (33,1,1) = {" -aV -aV -aV aH -aN -aN +ck +ck +ck +ck +ck +MN +aA aP aM aM @@ -1930,16 +1963,18 @@ aM aM aT aN -aN +aA aH "} (34,1,1) = {" -aV -aV -aV aH -aN -aN +ck +ck +ck +ck +ck +aH +aA aP aM aM @@ -1983,16 +2018,18 @@ aM aM aT aN -aN +aA aH "} (35,1,1) = {" -aV -aV -aV aH -aN -aN +aH +aH +aH +aH +aH +aH +aA aP aM aM @@ -2036,15 +2073,17 @@ aM aM aT aN -aN +aA aH "} (36,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2089,15 +2128,17 @@ aM aM aT aN -aN +aA aH "} (37,1,1) = {" aV aV aV +aV +aV aH -aN +aA aD aP aE @@ -2141,16 +2182,18 @@ aM aM aE aT -aD -aN +at +aA aH "} (38,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2195,15 +2238,17 @@ aM aM aT aN -aN +aA aH "} (39,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN am aM @@ -2248,15 +2293,17 @@ aM aM ao aN -aN +aA aH "} (40,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2301,15 +2348,17 @@ aM aM aT aN -aN +aA aH "} (41,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2354,15 +2403,17 @@ aM aM aT aN -aN +aA aH "} (42,1,1) = {" aV aV aV +aV +aV aH -aN +aA aD aP aE @@ -2406,16 +2457,18 @@ aM aM aE aT -aD -aN +at +aA aH "} (43,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2460,15 +2513,17 @@ aM aM aT aN -aN +aA aH "} (44,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2513,15 +2568,17 @@ aM aM aT aN -aN +aA aH "} (45,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2566,15 +2623,17 @@ aM aM aT aN -aN +aA aH "} (46,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2619,15 +2678,17 @@ aM aM aT aN -aN +aA aH "} (47,1,1) = {" aV aV aV +aV +aV aH -aN +aA aD aP aE @@ -2671,16 +2732,18 @@ aM aM aE aT -aD -aN +at +aA aH "} (48,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2725,15 +2788,17 @@ aM aM aT aN -aN +aA aH "} (49,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN am aM @@ -2778,15 +2843,17 @@ aM aM ao aN -aN +aA aH "} (50,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2831,15 +2898,17 @@ aM aM aT aN -aN +aA aH "} (51,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2884,15 +2953,17 @@ aM aM aT aN -aN +aA aH "} (52,1,1) = {" aV aV aV +aV +aV aH -aN +aA aD aP aE @@ -2936,16 +3007,18 @@ aM aM aE aT -aD -aN +at +aA aH "} (53,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -2990,15 +3063,17 @@ aM aM aT aN -aN +aA aH "} (54,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -3043,15 +3118,17 @@ aM aM aT aN -aN +aA aH "} (55,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -3096,15 +3173,17 @@ aM aM aT aN -aN +aA aH "} (56,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -3149,15 +3228,17 @@ aM aM aT aN -aN +aA aH "} (57,1,1) = {" aV aV aV +aV +aV aH -aN +aA aD aP aE @@ -3201,16 +3282,18 @@ aM aM aE aT -aD -aN +at +aA aH "} (58,1,1) = {" aV aV aV +aV +aV aH -aN +aA aN aP aM @@ -3255,15 +3338,17 @@ aM aM aT aN -aN +aA aH "} (59,1,1) = {" aV aV aV -MN -at +aV +aV +aH +aA aN am aM @@ -3308,16 +3393,18 @@ aM aM ao aN -aN +aA aH "} (60,1,1) = {" +aV +aV +aV +aV +aV aH -aH -aH -aH -aH -ab +aA +aN aP aM aM @@ -3361,14 +3448,16 @@ aM aM aT aN -aN +aA aH "} (61,1,1) = {" +aV +aV +aV +aV +aV aH -ck -ck -Qi aA aN aK @@ -3414,16 +3503,18 @@ aO aO aI aN -aN +aA aH "} (62,1,1) = {" +aV +aV +aV +aV +aV aH -ck -ck -ck aA -ar +aN aN aN aN @@ -3467,66 +3558,70 @@ aN aN aN aN -aN +aA aH "} (63,1,1) = {" +aV +aV +aV +aV +aV aH -ck -ck -ck aA -aN -aN +aA +aA au -aN -aN -aN -aN -aN -aN -aN -aN -aN +aA +aA +aA +aA +aA +aA +aA +aA +aA au -aN -aN -aN -aN -aN -aN -aN -aN +aA +aA +aA +aA +aA +aA +aA +aA au au -aN -aN -aN -aN -aN -aN -aN -aN +aA +aA +aA +aA +aA +aA +aA +aA au -aN -aN -aN -aN -aN -aN -aN -aN -aN +aA +aA +aA +aA +aA +aA +aA +aA +aA au -aN -aN -aN +aA +aA +aA aH "} (64,1,1) = {" -aH -aH -aH +aV +aV +aV +aV +aV aH aH aH diff --git a/_maps/outpost/indie_space.dmm b/_maps/outpost/indie_space.dmm index 4da00eb4c972..897d24333cb1 100644 --- a/_maps/outpost/indie_space.dmm +++ b/_maps/outpost/indie_space.dmm @@ -1,4 +1,21 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ab" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/mob/living/simple_animal/hostile/cockroach, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"ad" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "ag" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -27,19 +44,19 @@ /turf/open/floor/plasteel/tech, /area/outpost/cargo/office) "ai" = ( -/obj/structure/flora/grass/jungle, -/turf/open/floor/grass/ship/jungle, +/obj/item/kirbyplants/random, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) "aq" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 10 +/obj/structure/table, +/obj/machinery/light/small/directional/west, +/obj/item/clothing/under/shorts/cookjorts{ + pixel_y = 12; + pixel_x = 9 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/maintenance/central) "ar" = ( /obj/machinery/camera/autoname{ dir = 8 @@ -61,25 +78,19 @@ /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) "au" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/modglass{ - pixel_y = 1; - pixel_x = -6 - }, -/obj/item/reagent_containers/food/drinks/modglass{ - pixel_y = 5; - pixel_x = 5 +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew/bar) +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "aw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/machinery/camera/autoname{ + dir = 1 + }, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 8 }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/storage) "aB" = ( @@ -108,75 +119,74 @@ /turf/closed/indestructible/reinforced, /area/outpost/crew/library) "aM" = ( -/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/cryopod, +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/obj/machinery/computer/cryopod/directional/north, -/obj/item/folder{ - pixel_x = -5; - pixel_y = 2 +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, +/area/outpost/crew/cryo) +"aP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, +/obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable/yellow{ - icon_state = "2-4" + icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/outpost/crew/cryo) -"aP" = ( -/obj/structure/railing{ +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/effect/turf_decal/corner/opaque/white{ dir = 6 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"aS" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"aQ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"aR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"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/manifold/scrubbers/hidden/layer4{ + dir = 8 }, +/obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-4" }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "aU" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"aX" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/black, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"aX" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) "aZ" = ( /obj/structure/chair{ dir = 8 @@ -187,43 +197,88 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/central) -"bc" = ( -/obj/structure/rack, -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/glass/rag, -/obj/item/razor, -/obj/item/plunger, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) -"bi" = ( -/obj/structure/railing{ - dir = 1 +"bb" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/effect/turf_decal/corner/opaque/bottlegreen{ dir = 10 }, -/obj/machinery/computer/electrolyzer_console{ - pixel_y = -18; - density = 0; - dir = 1 +/turf/open/floor/plasteel/dark, +/area/outpost/security) +"bc" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -14 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/structure/mirror{ + pixel_x = -25 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/button/door{ + pixel_y = -21; + dir = 1; + pixel_x = 9; + name = "door lock"; + id = "b1"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/plasteel/mono, +/area/outpost/hallway/central) +"be" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/dim/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"bh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"bi" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/vacant_rooms) "bn" = ( /obj/structure/closet/crate/trashcart, /obj/structure/spider/stickyweb, /turf/open/floor/plating, /area/outpost/maintenance/fore) "bq" = ( -/obj/structure/chair/pew/left{ +/obj/structure/urinal{ + dir = 8; + pixel_x = 18 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 6 + }, +/turf/open/floor/plasteel/mono, +/area/outpost/hallway/central) +"br" = ( +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 9 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/hallway/port) "bs" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -240,6 +295,25 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/central) +"bt" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"bv" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/syringe/contraband/morphine{ + pixel_y = 6; + pixel_x = -3 + }, +/obj/item/reagent_containers/pill/floorpill{ + pixel_x = 4; + pixel_y = 3 + }, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) "bz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -263,6 +337,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/central) +"bI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "bJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -274,18 +354,27 @@ /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/central) "bL" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/structure/sign/poster/random{ - pixel_x = -28 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"bN" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"bP" = ( +/obj/structure/chair/stool/bar, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "bS" = ( /obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/turf_decal/corner_techfloor_grid{ @@ -301,6 +390,12 @@ /area/outpost/maintenance/fore) "bW" = ( /obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 10 + }, /turf/open/floor/plasteel, /area/outpost/security) "bY" = ( @@ -310,40 +405,32 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) "ca" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "outpost1" +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/cargo) "cc" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/machinery/mineral/processing_unit{ + output_dir = 4; + input_dir = 2 }, -/obj/structure/disposalpipe/junction/yjunction{ - dir = 4 +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/platform/ship_two/corner, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) +"cg" = ( +/obj/structure/disposalpipe/junction{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/black{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"cg" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "ci" = ( /obj/effect/spawner/random/trash/decal, @@ -352,64 +439,74 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "cl" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/black{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, /area/outpost/hallway/central) "cm" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/box, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/turf/open/floor/plasteel/dark, /area/outpost/storage) "cq" = ( /turf/closed/indestructible/reinforced, /area/outpost/maintenance/central) "cr" = ( -/obj/structure/railing/corner{ - dir = 1 - }, /obj/effect/turf_decal/industrial/loading, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "cs" = ( -/obj/structure/flora/junglebush, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/central) +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/outpost/cargo) "cu" = ( /obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/corner/opaque/red{ +/obj/effect/turf_decal/corner/opaque/bottlegreen{ dir = 8 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/security) -"cG" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +"cA" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) +"cB" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 +/obj/structure/sign/directions/supply{ + dir = 1; + pixel_y = 0; + pixel_x = 28 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/structure/sign/directions/security{ + pixel_y = -6; + pixel_x = 28; + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"cG" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/closet/crate/trashcart, /turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/area/outpost/hallway/central) "cI" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -417,10 +514,23 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "cK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/central) +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/outpost/cargo) +"cL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "cO" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt/dust, @@ -454,12 +564,31 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "cV" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 8 + }, /turf/open/floor/plating, -/area/outpost/cargo/office) +/area/outpost/engineering/atmospherics) "cX" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 10 + }, /turf/open/floor/plasteel, /area/outpost/security) +"dc" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) +"de" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "dg" = ( /obj/structure/railing{ dir = 4 @@ -473,13 +602,29 @@ /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "di" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 6 }, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/machinery/firealarm/directional/south, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) +"dj" = ( +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "dl" = ( /obj/effect/spawner/random/trash/decal, /obj/effect/turf_decal/steeldecal/steel_decals7{ @@ -520,9 +665,9 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "dD" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/disposalpipe/segment, -/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/outpost/crew/janitor) "dK" = ( @@ -548,9 +693,19 @@ /area/outpost/maintenance/central) "dL" = ( /obj/structure/closet/secure_closet/armory3, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, /area/outpost/security) +"dM" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "dN" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -559,18 +714,13 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "dO" = ( -/obj/item/kirbyplants{ - icon_state = "plant-22" - }, -/obj/machinery/light/dim/directional/west, -/obj/machinery/camera/autoname{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/reinforced, +/obj/structure/railing/thin{ dir = 6 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/central) +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "dP" = ( /obj/structure/chair, /obj/item/radio/intercom/directional/north, @@ -590,49 +740,67 @@ /obj/effect/decal/cleanable/chem_pile, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"dS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "dT" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /turf/closed/indestructible/reinforced, /area/outpost/maintenance/fore) -"dU" = ( -/obj/item/kirbyplants{ - icon_state = "plant-22" - }, -/obj/machinery/newscaster/directional/north, -/obj/machinery/light/dim/directional/east, -/obj/machinery/camera/autoname, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 10 - }, -/obj/item/reagent_containers/food/drinks/dry_ramen, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/central) "dW" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/firealarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/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/turf_decal/steeldecal/steel_decals9, -/obj/effect/turf_decal/steeldecal/steel_decals9{ - dir = 8 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "dZ" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +/obj/structure/platform/ship_two{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 6 }, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, /area/outpost/cargo) +"ed" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/syringe/contraband/morphine{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/reagent_containers/pill/floorpill{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/lamp/green{ + pixel_x = 8; + pixel_y = -10 + }, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) "ee" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -643,30 +811,33 @@ icon_state = "wood-broken4" }, /area/outpost/crew/bar) +"eg" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "ei" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, /obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 9 + dir = 6 }, -/obj/effect/turf_decal/industrial/stand_clear{ +/obj/effect/turf_decal/corner_steel_grid/full{ dir = 8 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "em" = ( /turf/closed/indestructible/reinforced, /area/outpost/external) "eq" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/poster/random{ + pixel_x = 28 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, +/obj/effect/turf_decal/corner/opaque/white, /turf/open/floor/plasteel, /area/outpost/hallway/port) "et" = ( @@ -678,10 +849,20 @@ /turf/open/floor/wood, /area/outpost/crew/library) "ev" = ( -/obj/machinery/newscaster/directional/south, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) +"ex" = ( +/obj/item/reagent_containers/syringe{ + pixel_y = 7; + pixel_x = 4 + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "ey" = ( /obj/machinery/door/firedoor/closed, /obj/structure/barricade/wooden/crude, @@ -709,30 +890,30 @@ /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) "eE" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 4 +/obj/effect/mob_spawn/human/corpse/charredskeleton{ + name = "Marv"; + mob_name = "Marv" }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/obj/item/stack/cable_coil/cut/yellow, +/obj/effect/decal/cleanable/ash/large, +/turf/open/floor/plating/asteroid, +/area/outpost/external) "eG" = ( /obj/structure/cable/yellow{ - icon_state = "2-4" + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/brown/full, -/turf/open/floor/plasteel/patterned, /area/outpost/cargo) "eQ" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "1-8" }, -/obj/effect/turf_decal/corner/opaque/brown/full, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "eU" = ( @@ -742,13 +923,22 @@ /obj/effect/turf_decal/corner_techfloor_grid/diagonal, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) -"fd" = ( -/obj/machinery/conveyor/inverted{ - id = "outpost1"; - dir = 10 +"eX" = ( +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) +"eY" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) +"fd" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ + dir = 8 }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/cargo) +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) "fh" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -775,14 +965,21 @@ /turf/open/floor/plasteel/tech, /area/outpost/security) "fi" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/storage) +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"fj" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/hallway/central) "fk" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -808,6 +1005,11 @@ /obj/structure/foamedmetal, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"fs" = ( +/obj/structure/chair/bench/beige/directional/south, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) "fw" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -822,21 +1024,12 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "fE" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 - }, -/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/stand_clear{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/structure/closet/secure_closet/freezer/gulag_fridge, +/obj/item/reagent_containers/pill/floorpill, +/obj/item/reagent_containers/pill/floorpill, +/obj/item/reagent_containers/pill/floorpill, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "fG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -847,29 +1040,60 @@ /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) "fI" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/turf/open/floor/plating, -/area/outpost/hallway/central) +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 + }, +/obj/structure/table, +/obj/item/reagent_containers/glass/rag{ + pixel_y = 12; + pixel_x = -5 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_y = 6; + pixel_x = 4 + }, +/obj/structure/cable/yellow, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/plasteel, +/area/outpost/medical) "fK" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood{ icon_state = "wood-broken6" }, /area/outpost/crew/bar) -"fN" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +"fM" = ( +/obj/structure/disposalpipe/segment{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"fN" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, -/area/outpost/hallway/port) +/area/outpost/vacant_rooms) "fP" = ( /obj/structure/sign/poster/random{ pixel_x = 28 @@ -886,84 +1110,113 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) +"fS" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/outpost/maintenance/starboard) +"fT" = ( +/obj/item/stack/tile/carpet{ + pixel_x = -7; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor5" + }, +/mob/living/simple_animal/mouse/white, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"fY" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/dim/directional/east, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "fZ" = ( /obj/structure/chair, /obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/grimy, /area/outpost/security) "ga" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/structure/closet/crate/trashcart/laundry, +/turf/open/floor/plasteel/patterned, +/area/outpost/maintenance/central) +"gc" = ( +/obj/structure/railing/wood{ + dir = 9 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"gb" = ( -/obj/structure/flora/grass/jungle, -/obj/structure/flora/grass/jungle, -/obj/structure/flora/junglebush/large, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) +/turf/open/floor/wood, +/area/outpost/maintenance/starboard) "gf" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/firealarm/directional/west, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "gg" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable/yellow{ icon_state = "0-8" }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, /obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ + dir = 8 + }, /turf/open/floor/plasteel, /area/outpost/security) +"gn" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/cargo/office) "go" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/corner/opaque/white{ dir = 1 }, -/obj/machinery/newscaster/directional/north, /turf/open/floor/plasteel, /area/outpost/hallway/port) "gq" = ( /turf/closed/indestructible/reinforced, /area/outpost/crew/janitor) -"gr" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/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 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) "gt" = ( /obj/structure/rack, /obj/item/skub, -/turf/open/floor/plasteel/mono, +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters, +/turf/open/floor/plasteel/dark, /area/outpost/vacant_rooms) +"gu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/sign/directions/medical{ + pixel_x = 28; + dir = 2; + pixel_y = -10 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "gz" = ( -/obj/effect/spawner/random/vending/cola, -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 +/obj/effect/decal/cleanable/crayon{ + icon_state = "danger" }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel, /area/outpost/hallway/central) "gA" = ( /obj/structure/cable/yellow{ @@ -977,8 +1230,49 @@ /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) "gC" = ( -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, +/obj/effect/decal/cleanable/crayon{ + icon_state = "!"; + pixel_x = 9 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -19; + pixel_x = 2 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -25; + pixel_x = -7 + }, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = 11; + pixel_x = -14 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -19; + pixel_x = 2 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "f"; + pixel_y = 0; + pixel_x = -19 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "n" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "u"; + pixel_y = -5; + pixel_x = -10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating/rust, /area/outpost/maintenance/fore) "gE" = ( /obj/item/radio/intercom/directional/east, @@ -990,7 +1284,7 @@ dir = 4; id = "outpost1" }, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/patterned/grid, /area/outpost/cargo) "gP" = ( /obj/structure/filingcabinet/double, @@ -1005,35 +1299,19 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "gT" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/platform/ship_two{ + dir = 1 }, -/turf/open/floor/plasteel/patterned, +/turf/open/floor/plasteel/patterned/grid, /area/outpost/cargo) "gU" = ( /obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/grimy, /area/outpost/security) -"gW" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central6, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) "gZ" = ( -/obj/effect/turf_decal/industrial/caution, -/obj/machinery/light/dim/directional/south, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "hb" = ( /obj/effect/turf_decal/industrial/caution, /obj/structure/cable/yellow{ @@ -1044,11 +1322,27 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"hg" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 +"hd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/dim/directional/east, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/structure/disposaloutlet{ +/turf/open/floor/plating, +/area/outpost/hallway/central) +"hf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"hg" = ( +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/structure/disposaloutlet{ dir = 1 }, /obj/machinery/conveyor/auto{ @@ -1059,18 +1353,19 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "hj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/outpost/maintenance/central) +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "hk" = ( /obj/structure/frame, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"ho" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "hq" = ( /turf/open/floor/plating/asteroid, /area/outpost/external) @@ -1079,8 +1374,17 @@ dir = 8 }, /obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, +/turf/open/floor/plating/rust, /area/outpost/maintenance/central) +"hw" = ( +/obj/item/reagent_containers/syringe{ + pixel_y = -2; + pixel_x = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "hz" = ( /obj/structure/cable/yellow{ icon_state = "0-2" @@ -1089,21 +1393,15 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "hA" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 +/obj/machinery/light/dim/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/outpost/hallway/port) "hD" = ( /obj/structure/disposalpipe/trunk/multiz{ @@ -1111,17 +1409,34 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) -"hJ" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" +"hI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"hJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/sign/poster/random{ + pixel_x = -28 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "hK" = ( @@ -1131,22 +1446,14 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "hM" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/light/dim/directional/north, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 6 - }, -/obj/machinery/camera/autoname{ - dir = 9 +/obj/structure/closet/crate, +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"hO" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/central) +"hP" = ( +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "hS" = ( /obj/item/radio/intercom/directional/east, /obj/structure/table/wood, @@ -1161,27 +1468,24 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "hW" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/turf_decal/floordetail/tiled, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"hX" = ( -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ - dir = 4 +/obj/machinery/door/airlock{ + dir = 4; + name = "Restroom Stall"; + id_tag = "b1" }, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) +"hX" = ( +/obj/structure/chair/sofa/brown/old/right/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) "hY" = ( /obj/structure/closet/crate/trashcart, /turf/open/floor/plating, @@ -1192,20 +1496,25 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "ib" = ( -/obj/structure/reagent_dispensers/beerkeg, -/obj/effect/turf_decal/corner/transparent/brown/full, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, /area/outpost/crew/bar) "ic" = ( -/obj/structure/flora/grass/jungle, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6; + pixel_x = 6 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/item/pen, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/turf/open/floor/plasteel/patterned, +/area/outpost/crew/cryo) "id" = ( /obj/machinery/holopad/emergency/bar, /obj/effect/decal/cleanable/dirt/dust, @@ -1230,26 +1539,27 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) +"il" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "ip" = ( /turf/open/floor/plating, /area/outpost/maintenance/fore) -"iq" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/wood, -/area/outpost/crew/bar) "ir" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/outpost/crew/bar) +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/steeldecal/steel_decals9, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"is" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "it" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1273,11 +1583,8 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "iG" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/neutral, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/turf/closed/indestructible/rock, +/area/outpost/maintenance/starboard) "iH" = ( /obj/machinery/light/dim/directional/east, /obj/effect/decal/cleanable/dirt/dust, @@ -1299,6 +1606,35 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/hallway/port) +"iK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/white, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"iL" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"iN" = ( +/obj/structure/chair/stool/bar{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) "iQ" = ( /obj/item/trash/can/food/beans{ pixel_x = 5; @@ -1322,27 +1658,66 @@ /area/outpost/maintenance/central) "iV" = ( /obj/machinery/door/firedoor/heavy, -/obj/effect/spawner/structure/window/reinforced/indestructable, +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, /turf/open/floor/plating, /area/outpost/vacant_rooms/office) "iY" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/modglass{ + pixel_y = 1; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/modglass{ + pixel_y = 5; + pixel_x = 5 + }, /turf/open/floor/wood, /area/outpost/crew/bar) +"jb" = ( +/obj/structure/disposalpipe/segment, +/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/firealarm/directional/east, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "jd" = ( -/obj/effect/turf_decal/ihejirika_small/right, -/turf/open/floor/plating, -/area/outpost/maintenance/central) +/obj/structure/chair/bench/beige/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) "je" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/turf/open/floor/plating, +/obj/structure/chair/comfy/orange/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, /area/outpost/crew/bar) +"jf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/firealarm/directional/north, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "jg" = ( /obj/structure/rack, /obj/machinery/light/dim/directional/west, /obj/item/reagent_containers/food/drinks/waterbottle, -/turf/open/floor/plasteel/mono, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/outpost/storage) "jj" = ( /obj/machinery/light/dim/directional/east, @@ -1363,10 +1738,7 @@ /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "js" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) "jx" = ( /obj/item/trash/can/food/beans{ @@ -1377,29 +1749,45 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/asteroid, /area/outpost/maintenance/central) -"jC" = ( -/obj/structure/disposalpipe/segment{ +"jz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/central) -"jH" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/item/radio/intercom/directional/east, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 + icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 6 +/turf/open/floor/plating, +/area/outpost/hallway/central) +"jC" = ( +/obj/machinery/light/dim/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/turf/open/floor/plasteel, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"jD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/newscaster/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"jE" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "jI" = ( /obj/machinery/door/airlock{ @@ -1413,11 +1801,20 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, /area/outpost/crew/bar) -"jK" = ( -/obj/structure/railing{ +"jJ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"jK" = ( /obj/effect/decal/cleanable/dirt, +/obj/structure/railing/thin{ + dir = 8 + }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "jL" = ( @@ -1428,23 +1825,42 @@ /obj/effect/turf_decal/industrial/warning{ dir = 8 }, +/obj/structure/sign/directions/supply{ + pixel_y = 26; + dir = 4 + }, +/obj/structure/sign/directions/security{ + dir = 4; + pixel_y = 32 + }, +/obj/structure/sign/directions/medical{ + pixel_y = 38; + dir = 2 + }, +/obj/structure/sign/directions/service{ + pixel_y = 20; + dir = 8 + }, /turf/open/floor/plasteel/tech, /area/outpost/hallway/central) "jM" = ( -/obj/effect/spawner/random/chicken, -/turf/open/floor/ship/dirt, -/area/outpost/hallway/port) -"jO" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 + }, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) +"jO" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/outpost/hallway/port) "jR" = ( /obj/structure/chair/stool/bar{ @@ -1456,6 +1872,14 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) +"jS" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"jT" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/maintenance/central) "jU" = ( /obj/structure/table/wood, /obj/machinery/computer/bookmanagement, @@ -1463,14 +1887,20 @@ /turf/open/floor/wood, /area/outpost/crew/library) "kb" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/camera/autoname{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "kd" = ( /obj/structure/cable/yellow{ @@ -1479,17 +1909,26 @@ /turf/open/floor/plating, /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/computer/cryopod/retro/directional/west, +/turf/open/floor/plasteel/patterned, +/area/outpost/crew/cryo) +"kl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, /turf/open/floor/plasteel, -/area/outpost/crew/cryo) +/area/outpost/hallway/central) "km" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/confetti, @@ -1499,11 +1938,13 @@ /turf/open/floor/plasteel/elevatorshaft, /area/outpost/hallway/central) "kx" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/west, /turf/open/floor/plating, -/area/outpost/maintenance/central) +/area/outpost/engineering/atmospherics) "ky" = ( /obj/structure/sign/painting/library{ pixel_y = -26 @@ -1513,21 +1954,24 @@ /turf/open/floor/wood, /area/outpost/crew/library) "kA" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/effect/turf_decal/industrial/caution, +/obj/structure/noticeboard{ + name = "refinery notice board"; + dir = 8; + pixel_y = 0; + pixel_x = 26 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/outpost/maintenance/central) +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "kE" = ( /obj/machinery/light/small/directional/south, /obj/structure/disposalpipe/segment{ @@ -1540,38 +1984,56 @@ /obj/item/shovel/spoon, /turf/open/floor/plating/asteroid, /area/outpost/external) -"kM" = ( +"kK" = ( +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ - icon_state = "1-8" + icon_state = "0-8" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"kQ" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/small/directional/south, +/obj/structure/cable/yellow, +/obj/structure/grille/indestructable, +/obj/effect/turf_decal/corner_techfloor_gray/full{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) +"kL" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"kM" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"kN" = ( +/obj/structure/chair/stool/bar{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/neutral{ +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"kQ" = ( +/obj/machinery/light/dim/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/turf/open/floor/plasteel/patterned, +/area/outpost/crew/cryo) "kR" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/turf/open/floor/plating, +/area/outpost/maintenance/fore) "kT" = ( /obj/machinery/mineral/processing_unit_console{ pixel_y = 20; @@ -1594,28 +2056,46 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"kV" = ( +/obj/item/stack/tile/carpet, +/obj/structure/railing/thin/corner, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "la" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/holopad/emergency/janitor, -/obj/effect/turf_decal/trimline/opaque/purple/filled, -/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/outpost/crew/janitor) "lb" = ( -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) "lh" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/structure/barricade/wooden/crude, +/turf/closed/indestructible/rock, +/area/outpost/external) +"li" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/effect/turf_decal/floordetail/tiled, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, /turf/open/floor/plasteel, /area/outpost/hallway/central) "lk" = ( @@ -1630,6 +2110,12 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) +"ll" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 8 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "lo" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -1658,43 +2144,32 @@ /turf/open/floor/plasteel/tech, /area/outpost/maintenance/fore) "ls" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/structure/railing/thin{ + dir = 9 }, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 6 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel, +/obj/machinery/conveyor_switch{ + id = "outpost3"; + layer = 3.11; + pixel_y = 8; + pixel_x = -9 + }, +/turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) "lt" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/door/window{ - req_access = list("101") - }, -/obj/machinery/door/window{ - req_access = list("101"); - dir = 1 - }, -/obj/effect/turf_decal/floordetail/tiled, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, /area/outpost/security) "lw" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, /area/outpost/crew/bar) "lx" = ( /obj/machinery/light/small/directional/north, @@ -1702,15 +2177,22 @@ /obj/effect/turf_decal/steeldecal/steel_decals_central2, /turf/open/floor/plating, /area/outpost/maintenance/central) -"lA" = ( -/obj/structure/flora/grass/jungle, -/obj/effect/spawner/random/chicken, -/turf/open/floor/grass/ship/jungle, +"ly" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, /area/outpost/hallway/central) +"lA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "lB" = ( /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, +/turf/open/floor/plating/rust, /area/outpost/maintenance/central) "lE" = ( /obj/structure/cable/yellow{ @@ -1738,19 +2220,63 @@ /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/light/small/directional/north, +/obj/effect/turf_decal/siding/wood/corner, +/obj/item/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 18; + pixel_x = -11 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "lM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals9, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/maintenance{ + req_access = list("101") + }, +/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/effect/mapping_helpers/airlock/locked, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/open/floor/plating, -/area/outpost/maintenance/fore) +/area/outpost/engineering/atmospherics) +"lO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/sign/directions/service{ + dir = 8; + pixel_x = -28 + }, +/obj/structure/sign/directions/supply{ + pixel_y = -6; + pixel_x = -28; + dir = 4 + }, +/obj/structure/sign/directions/security{ + dir = 4; + pixel_y = 6; + pixel_x = -28 + }, +/obj/structure/sign/directions/medical{ + pixel_y = -12; + pixel_x = -28; + dir = 2 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "lX" = ( /obj/structure/rack, /obj/effect/turf_decal/steeldecal/steel_decals_central2{ @@ -1763,11 +2289,12 @@ dir = 4 }, /obj/machinery/camera/autoname, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 5 - }, /obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, /area/outpost/security) "mb" = ( /obj/structure/cable/yellow{ @@ -1794,12 +2321,13 @@ /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "mf" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood, +/area/outpost/maintenance/starboard) +"mg" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/crew/cryo) "mk" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -1814,29 +2342,31 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/storage) +"mo" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/maintenance/central) "mp" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, +/obj/effect/decal/cleanable/glass/strange, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable/yellow{ - icon_state = "2-8" + icon_state = "1-10" }, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) +"mq" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, -/obj/structure/disposalpipe/junction{ +/obj/effect/turf_decal/corner/opaque/white{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/hallway/port) "mr" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -1847,34 +2377,40 @@ /turf/open/floor/plasteel/tech, /area/outpost/maintenance/fore) "ms" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/sign/directions/supply{ - pixel_y = 21; +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 - }, /turf/open/floor/plasteel, /area/outpost/hallway/central) "mv" = ( /obj/structure/rack, /obj/effect/spawner/random/clothing/kittyears_or_rabbitears, /obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plasteel/mono, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/outpost/vacant_rooms) -"mA" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" +"mx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/sign/number/random, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, +/obj/item/radio/intercom/directional/north, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) +"mA" = ( +/obj/structure/grille, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "mB" = ( /obj/machinery/door/firedoor/closed, /obj/structure/barricade/wooden/crude, @@ -1894,6 +2430,25 @@ "mC" = ( /turf/open/space/basic, /area/space) +"mG" = ( +/obj/structure/closet/crate/bin{ + pixel_y = 0 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/insectguts, +/obj/item/reagent_containers/syringe{ + pixel_y = -7; + pixel_x = -1 + }, +/obj/item/reagent_containers/syringe{ + pixel_y = 1 + }, +/obj/item/reagent_containers/syringe{ + pixel_y = -6; + pixel_x = 9 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "mJ" = ( /obj/structure/chair/wood, /obj/structure/cable/yellow{ @@ -1925,11 +2480,13 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "mN" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/corner/opaque/brown/full, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/railing/thin, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "mP" = ( @@ -1960,11 +2517,31 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 9 }, /turf/open/floor/plasteel, /area/outpost/security) +"mZ" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "nb" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1975,11 +2552,20 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "nc" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/corner/opaque/neutral, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/obj/machinery/shower{ + dir = 8; + desc = "An old shower. It looks rusted." + }, +/obj/structure/toilet{ + pixel_y = 13; + pixel_x = -9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/outpost/hallway/central) "nd" = ( /obj/structure/chair/office{ dir = 1 @@ -2006,24 +2592,29 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "nq" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/turf/open/floor/plating, -/area/outpost/vacant_rooms) +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "nt" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, -/obj/effect/turf_decal/corner/opaque/black, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "ny" = ( /obj/structure/railing{ @@ -2036,43 +2627,29 @@ /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "nz" = ( -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/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/machinery/cryopod{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, /area/outpost/crew/cryo) "nK" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel, +/area/outpost/medical) "nL" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 5 +/obj/effect/spawner/random/vending/snack, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) +/turf/open/floor/plasteel/dark, +/area/outpost/crew/library) "nM" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -2098,9 +2675,14 @@ /turf/open/floor/wood, /area/outpost/crew/library) "nU" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) +/obj/structure/railing/thin{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) "nY" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -2119,32 +2701,23 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "oa" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/siding/wood/corner, -/obj/item/kirbyplants{ - icon_state = "plant-02"; - pixel_y = 18; - pixel_x = -11 +/obj/structure/chair/comfy/orange/directional/south, +/obj/effect/turf_decal/siding/wood, +/obj/structure/sign/poster/random{ + pixel_y = 30 }, -/turf/open/floor/wood, +/turf/open/floor/plasteel/grimy, /area/outpost/crew/bar) "ob" = ( -/obj/effect/turf_decal/corner/opaque/red{ +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/security) "od" = ( -/obj/machinery/shower{ - pixel_y = 17 - }, -/obj/effect/decal/cleanable/food/pie_smudge, -/obj/effect/turf_decal/borderfloor/full, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/floordetail/pryhole, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) "og" = ( /obj/machinery/atmospherics/pipe/simple/multiz{ pixel_y = 1; @@ -2160,7 +2733,24 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) -"om" = ( +"oh" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/white, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"ol" = ( +/obj/structure/railing/wood{ + dir = 8 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/outpost/maintenance/starboard) +"om" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 @@ -2168,13 +2758,14 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "on" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "op" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -2185,13 +2776,33 @@ /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-4" + }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "or" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/rilena/tali{ + pixel_y = -30 + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"ou" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"ov" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) "ow" = ( /obj/structure/cable/yellow{ @@ -2202,6 +2813,11 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) +"oy" = ( +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "oK" = ( /obj/machinery/door/airlock/public{ id_tag = "out1" @@ -2219,33 +2835,58 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, /area/outpost/storage) -"oN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +"oL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"oM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, /turf/open/floor/plating, -/area/outpost/maintenance/fore) -"oQ" = ( -/obj/effect/turf_decal/corner/opaque/red{ +/area/outpost/hallway/central) +"oN" = ( +/obj/structure/chair/bench/beige/directional/south, +/obj/effect/turf_decal/siding/wood{ dir = 8 }, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) +"oQ" = ( /obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/outpost/security) "oS" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 5 + }, /obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/patterned/grid, /area/outpost/cargo) "oT" = ( -/obj/structure/chair/pew/right{ - dir = 4 +/obj/effect/turf_decal/industrial/warning{ + dir = 5 }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 9 +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/cargo) "oU" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -2268,6 +2909,25 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/security) +"oY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/crowbar{ + pixel_y = 7; + pixel_x = 6 + }, +/obj/item/cigbutt/roach, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) +"oZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "pb" = ( /obj/structure/chair/stool/bar{ dir = 1; @@ -2283,59 +2943,80 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) "ph" = ( -/turf/open/floor/ship/dirt/dark, -/area/outpost/hallway/port) +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/outpost/hallway/central) "pj" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 4 }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/storage) "pl" = ( -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 5 + dir = 4 }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/storage) "pm" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/effect/decal/cleanable/crayon{ + icon_state = "danger" }, -/turf/open/floor/plasteel, +/obj/effect/decal/cleanable/crayon{ + icon_state = "!"; + pixel_x = 14; + pixel_y = 5 + }, +/turf/open/floor/plating, /area/outpost/hallway/central) "pn" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 }, /obj/structure/holosign/barrier/infinite{ max_integrity = 500 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) +"po" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) "pp" = ( /obj/item/reagent_containers/pill/floorpill, /turf/open/floor/plating, /area/outpost/maintenance/fore) "pr" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/newscaster/directional/east, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/turf/open/floor/wood, +/area/outpost/maintenance/starboard) "pt" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt/dust, @@ -2349,6 +3030,15 @@ }, /turf/open/floor/wood, /area/outpost/crew/library) +"py" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "pA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -2359,22 +3049,14 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) +"pB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/starboard) "pC" = ( -/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/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/maintenance{ - req_access = list("101") - }, -/turf/open/floor/plasteel/tech, +/obj/structure/chair/bench/beige/directional/north, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) "pF" = ( /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ @@ -2392,6 +3074,23 @@ /obj/item/canvas/twentythreeXtwentythree, /turf/open/floor/wood, /area/outpost/crew/library) +"pL" = ( +/obj/structure/disposalpipe/junction{ + dir = 2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"pM" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/starboard) +"pO" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/security) "pQ" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -2405,10 +3104,10 @@ /obj/item/kirbyplants{ icon_state = "plant-22" }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ +/obj/effect/turf_decal/corner/opaque/neutral/half{ dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "qb" = ( /obj/structure/cable/yellow{ @@ -2427,11 +3126,39 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"qe" = ( +/obj/structure/railing/thin{ + dir = 4 + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "qg" = ( /obj/structure/chair/sofa/brown/left/directional/east, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/royalblack, /area/outpost/crew/bar) +"qh" = ( +/obj/structure/table, +/obj/item/pizzabox/vegetable{ + pixel_y = 10 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = -19; + pixel_y = 13 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"qk" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "qp" = ( /obj/structure/flora/rock, /turf/open/floor/plating/asteroid, @@ -2446,35 +3173,49 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) +"qs" = ( +/obj/structure/platform/wood_two{ + dir = 4 + }, +/obj/structure/chair/stool/bar, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "qv" = ( -/obj/structure/table/wood, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/carpet/green, -/area/outpost/crew/bar) +/obj/structure/railing/thin, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"qw" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/full, +/turf/open/floor/plasteel, +/area/outpost/security) "qx" = ( /obj/structure/spider/stickyweb, /obj/effect/decal/cleanable/generic, /turf/open/floor/plating, /area/outpost/maintenance/fore) "qA" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/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" }, -/obj/effect/turf_decal/corner/opaque/neutral, -/obj/effect/turf_decal/industrial/caution, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) -"qD" = ( -/obj/structure/chair/pew{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 +"qC" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 1 }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/security) +"qD" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "qG" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -2487,57 +3228,58 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) -"qN" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/cargo) -"qR" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +"qJ" = ( +/obj/machinery/vending/boozeomat{ + pixel_y = 1; + dir = 8; + pixel_x = 7 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"qM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"qT" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 + icon_state = "1-2" }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) +"qN" = ( +/obj/machinery/disposal/deliveryChute{ + dir = 8 }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/disposalpipe/trunk, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/hallway/central) +"qR" = ( +/obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"qT" = ( +/obj/structure/grille/indestructable, /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/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"qW" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, /turf/open/floor/plating, -/area/outpost/security) +/area/outpost/engineering/atmospherics) +"qW" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "outpost2" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/platform/ship_two, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) "qX" = ( /obj/structure/grille/indestructable, /obj/structure/cable/yellow{ @@ -2548,49 +3290,51 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "rb" = ( -/obj/machinery/newscaster/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/turf/open/floor/plating, +/area/outpost/maintenance/central) "rg" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/wrapping, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"rj" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) "rk" = ( /obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/mineral/electrolyzer{ output_dir = 4 }, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/patterned/grid, /area/outpost/cargo) "rm" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +/obj/structure/sink{ + dir = 8; + pixel_y = 0; + pixel_x = 14 }, -/obj/effect/turf_decal/floordetail/tiled, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/obj/structure/mirror{ + pixel_x = 25 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/button/door{ + pixel_y = -21; + dir = 1; + pixel_x = -9; + name = "door lock"; + id = "b2"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/plasteel/mono, +/area/outpost/hallway/central) "ro" = ( /obj/machinery/power/terminal{ dir = 4 @@ -2601,14 +3345,16 @@ /obj/structure/rack, /obj/effect/spawner/random/food_or_drink/donkpockets, /obj/effect/spawner/random/maintenance/seven, -/turf/open/floor/plasteel/mono, +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/outpost/vacant_rooms) "rr" = ( -/obj/structure/flora/grass/jungle, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/grass/ship/jungle, +/turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) "rs" = ( /obj/structure/table/wood, @@ -2625,45 +3371,41 @@ /turf/open/space/basic, /area/space) "rv" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ +/turf/closed/indestructible/reinforced, +/area/outpost/medical) +"ry" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central6, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"ry" = ( -/obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/machinery/door/window{ + req_access = list("101"); + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/door/window{ + req_access = list("101"); dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) +/area/outpost/security) "rz" = ( /obj/structure/flora/rock, /obj/structure/flora/rock, /turf/open/floor/plating/asteroid, /area/outpost/external) +"rB" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) "rC" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -2678,51 +3420,49 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "rG" = ( -/obj/item/kirbyplants{ - icon_state = "plant-22" - }, -/obj/machinery/light/dim/directional/west, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 5 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/central) +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "rK" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/structure/chair/plastic{ dir = 1 }, -/turf/open/floor/plasteel, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, /area/outpost/hallway/central) "rM" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/dim/directional/east, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/neutral, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "rN" = ( -/obj/machinery/mineral/unloading_machine{ - input_dir = 2; - output_dir = 1 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/cargo) +/obj/structure/chair/sofa/brown/left/directional/south, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "rP" = ( -/obj/structure/railing{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) "rQ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -2738,7 +3478,7 @@ /obj/effect/turf_decal/steeldecal/steel_decals6{ dir = 9 }, -/turf/open/floor/plating, +/turf/open/floor/plating/rust, /area/outpost/maintenance/fore) "rR" = ( /obj/structure/table, @@ -2777,31 +3517,37 @@ /obj/effect/turf_decal/box, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) +"rV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "rW" = ( +/obj/structure/cable/yellow{ + icon_state = "1-9" + }, /obj/effect/turf_decal/corner_techfloor_gray{ - dir = 6 + dir = 10 }, /obj/structure/cable/yellow{ - icon_state = "1-4" + icon_state = "5-9" }, -/obj/effect/spawner/random/trash/decal, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) "rZ" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/firealarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/structure/disposalpipe/segment{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "sb" = ( /obj/item/kirbyplants{ @@ -2828,6 +3574,12 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) +"sc" = ( +/obj/machinery/washing_machine, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/maintenance/central) "sf" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -2836,68 +3588,102 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "sj" = ( -/obj/structure/reagent_dispensers/beerkeg, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/corner/transparent/brown/full, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/wood, /area/outpost/crew/bar) "sk" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/sofa/brown/right/directional/east, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"sl" = ( +/obj/structure/railing/wood{ + dir = 2; + color = "#792f27" + }, +/turf/open/floor/plasteel/stairs/wood{ + dir = 4; + color = "#792f27" + }, +/area/outpost/crew/bar) +"sm" = ( +/obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 + dir = 6 }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"sl" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"sn" = ( +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"sq" = ( +/obj/effect/landmark/outpost/elevator_machine{ + shaft = "1" + }, +/obj/machinery/elevator_call_button{ + dir = 4; + pixel_y = 0; + pixel_x = -22 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/brown/full, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"sr" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"sm" = ( -/obj/structure/flippedtable{ +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"su" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/junction/flip{ dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 1 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"sw" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, -/turf/open/floor/plating, -/area/outpost/maintenance/central) -"sn" = ( -/turf/open/floor/plating, -/area/outpost/maintenance/central) -"sz" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/closet/emcloset/wall/directional/west, /turf/open/floor/plasteel, /area/outpost/hallway/central) +"sz" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 4 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) "sB" = ( /obj/structure/disposalpipe/segment, /obj/structure/chair/office{ @@ -2918,18 +3704,11 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "sG" = ( -/obj/structure/toilet{ - dir = 8; - pixel_y = 0; - pixel_x = 8 +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 }, -/obj/effect/turf_decal/borderfloor/full, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals9{ - dir = 1 - }, -/obj/effect/turf_decal/floordetail/pryhole, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) "sH" = ( /obj/machinery/door/firedoor, @@ -2941,6 +3720,17 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/hallway/port) +"sL" = ( +/obj/structure/sink/kitchen{ + dir = 1; + name = "big sink" + }, +/obj/structure/mirror{ + pixel_y = -25 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) "sO" = ( /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -2981,6 +3771,13 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/outpost/maintenance/central) +"sS" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "sV" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -2988,14 +3785,26 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) +"sW" = ( +/obj/effect/spawner/random/trash/decal, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/maintenance/central) "ta" = ( /obj/structure/rack, /obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/clothing/gloves, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/mono, +/turf/open/floor/plasteel/dark, /area/outpost/storage) +"te" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "th" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -3005,6 +3814,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) +"ti" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "tj" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -3016,36 +3832,31 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "tl" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/neutral{ +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) +"tm" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 }, -/obj/effect/decal/cleanable/insectguts, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"tm" = ( -/obj/effect/decal/cleanable/glass/strange, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/central) +/area/outpost/hallway/port) "to" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/grass/ship/jungle, +/obj/machinery/elevator_call_button{ + dir = 2; + pixel_y = 24 + }, +/obj/structure/chair/bench/beige/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) "tr" = ( /obj/structure/bookcase/random, @@ -3054,18 +3865,10 @@ /turf/open/floor/wood, /area/outpost/crew/library) "tt" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central6, -/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/vacant_rooms) "tu" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 @@ -3079,6 +3882,7 @@ /obj/effect/turf_decal/techfloor{ dir = 4 }, +/obj/item/radio/intercom/directional/east, /turf/open/floor/plating, /area/outpost/maintenance/central) "tw" = ( @@ -3089,21 +3893,47 @@ }, /turf/open/floor/carpet/royalblack, /area/outpost/crew/bar) -"tA" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +"ty" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/turf/open/floor/plasteel, +/area/outpost/medical) +"tz" = ( +/obj/item/stack/tile/carpet, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"tA" = ( +/obj/machinery/mineral/unloading_machine{ + input_dir = 2; + output_dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/platform/ship_two{ dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) "tC" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/disposalpipe/junction/yjunction, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) "tE" = ( /obj/structure/railing{ @@ -3121,41 +3951,39 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, +/turf/open/floor/plating/rust, /area/outpost/maintenance/fore) "tH" = ( -/obj/structure/sink/greyscale{ - dir = 8; - pixel_x = 13 - }, -/obj/structure/mirror{ - pixel_x = 26; - pixel_y = -4 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/borderfloor/full, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals9{ +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/turf_decal/floordetail/pryhole, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) +/obj/machinery/door/airlock{ + dir = 4; + name = "Restroom Stall"; + id_tag = "b2" + }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) "tI" = ( -/obj/structure/railing{ +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/reinforced, +/obj/machinery/computer/electrolyzer_console{ + pixel_y = -5; + density = 0; + dir = 8; + pixel_x = -2 + }, +/obj/structure/railing/thin{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "tN" = ( -/obj/structure/railing/corner, -/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/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "tS" = ( @@ -3164,38 +3992,37 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "tT" = ( -/obj/structure/railing{ +/obj/structure/railing/thin{ dir = 8 }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "tU" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 9 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 + dir = 4 }, -/turf/open/floor/plating, -/area/outpost/maintenance/central) -"tZ" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 9 }, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"tZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "0-8" }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "ua" = ( /obj/item/radio/intercom/directional/east, /obj/structure/chair{ @@ -3229,14 +4056,12 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "ug" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/neutral, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "uj" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning, @@ -3246,15 +4071,25 @@ /turf/open/floor/plasteel/tech, /area/outpost/hallway/port) "uk" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"um" = ( -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/random{ + pixel_y = 30 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white, /turf/open/floor/plasteel, -/area/outpost/storage) +/area/outpost/hallway/port) +"um" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/obj/structure/chair/bench/olive/directional/east{ + dir = 2 + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "un" = ( /obj/structure/chair/wood{ dir = 8 @@ -3280,49 +4115,48 @@ /turf/open/floor/wood, /area/outpost/crew/library) "uw" = ( -/obj/effect/turf_decal/box/corners{ +/turf/open/floor/plasteel/mono{ dir = 1 }, -/obj/machinery/light/dim/directional/north, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/cargo) "uy" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/newscaster/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/light/dim/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/outpost/hallway/central) "uz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/brown/full, -/turf/open/floor/plasteel/patterned, /area/outpost/cargo) "uA" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/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/lightgrey{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) +"uD" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, /turf/open/floor/plasteel, -/area/outpost/hallway/port) -"uD" = ( -/turf/open/floor/ship/dirt, -/area/outpost/hallway/central) +/area/outpost/medical) "uE" = ( /obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, @@ -3332,10 +4166,13 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, /obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 9 + }, /turf/open/floor/plasteel, /area/outpost/security) "uJ" = ( @@ -3343,33 +4180,36 @@ dir = 4 }, /obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, /area/outpost/security) "uL" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/structure/toilet{ + dir = 4; + pixel_y = 0; + pixel_x = -6 }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 4 +/obj/structure/mirror{ + pixel_y = 30 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/sink{ + pixel_y = 24 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/crew/bar) "uN" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/structure/festivus{ + pixel_x = -17; + pixel_y = -7; + name = "normal pole"; + desc = "A fairly normal pole in a fairly normal position." }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/outpost/maintenance/starboard) "uQ" = ( /obj/structure/table, /obj/item/clipboard{ @@ -3380,11 +4220,12 @@ /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) "uU" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral, -/obj/structure/sign/poster/random{ - pixel_x = 28 +/obj/machinery/newscaster/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, +/obj/effect/turf_decal/corner/opaque/white, /turf/open/floor/plasteel, /area/outpost/hallway/port) "uV" = ( @@ -3395,28 +4236,16 @@ /turf/open/floor/plating/asteroid, /area/outpost/maintenance/central) "uW" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/firealarm/directional/north, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +/obj/effect/turf_decal/siding/wood{ + dir = 6 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) "uX" = ( -/obj/machinery/disposal/bin, -/obj/machinery/newscaster/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/central) +/obj/structure/chair/sofa/brown/old/left/directional/east, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) "va" = ( /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt/dust, @@ -3432,54 +4261,90 @@ /turf/open/floor/plating/asteroid, /area/outpost/external) "vd" = ( -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/structure/chair{ +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 8 }, -/obj/structure/extinguisher_cabinet/directional/east{ - pixel_y = -7 - }, -/obj/machinery/firealarm/directional/east{ - pixel_y = 6 +/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, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, /area/outpost/crew/cryo) +"ve" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "vp" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"vr" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/door/firedoor, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "2-8" + }, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 8 }, -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"vB" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/cable/yellow{ - icon_state = "2-4" + icon_state = "1-8" }, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/effect/turf_decal/corner_steel_grid{ + dir = 8 }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"vq" = ( /obj/structure/disposalpipe/segment{ - dir = 6 + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"vr" = ( +/obj/structure/dresser{ + dir = 8 + }, +/obj/item/clothing/under/dress/skirt/color{ + pixel_x = -2; + pixel_y = 12 + }, +/obj/item/clothing/under/dress/skirt/color/blue{ + pixel_y = 5; + pixel_x = 3 + }, +/obj/machinery/light/dim/directional/south, +/obj/item/clothing/shoes/sandal{ + pixel_x = -6; + pixel_y = 2 + }, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) +"vz" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/wood_two/corner{ dir = 8 }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 5; + pixel_x = -7 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"vB" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/outpost/hallway/central) "vH" = ( @@ -3498,11 +4363,32 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) +"vK" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "vR" = ( -/obj/structure/flora/grass/jungle, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) +"vS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/tile/carpet{ + pixel_y = 3; + pixel_x = -8 + }, +/obj/item/cigbutt/roach{ + pixel_y = 4; + pixel_x = 9 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "vT" = ( /obj/structure/rack, /mob/living/simple_animal/pet/mothroach{ @@ -3515,30 +4401,38 @@ /turf/open/floor/plating/asteroid, /area/outpost/maintenance/central) "vV" = ( -/obj/machinery/door/airlock/public{ - id_tag = "out2" +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"vX" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "6-8" }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) +"vX" = ( +/obj/item/decal_painter, +/obj/item/floor_painter{ + pixel_y = 6; + pixel_x = 5 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/structure/rack, +/obj/item/stack/tile/carpet{ + pixel_x = 6; + pixel_y = -4; + amount = 27 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "vZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 @@ -3556,21 +4450,10 @@ /turf/open/floor/wood, /area/outpost/crew/library) "we" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/dim/directional/south, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "wi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 @@ -3592,42 +4475,41 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"wn" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 9 +"wp" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/outpost/hallway/central) "wq" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"wr" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "wu" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /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/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/outpost/hallway/port) "wv" = ( -/obj/machinery/light/dim/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/turf/open/floor/plating, +/area/outpost/crew/bar) "ww" = ( /obj/machinery/door/airlock/glass{ name = "Cryogenics" @@ -3652,29 +4534,41 @@ /turf/open/floor/wood/mahogany, /area/outpost/crew/bar) "wC" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction/flip{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/outpost/hallway/port) "wE" = ( /obj/structure/closet/secure_closet/armory1, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, /area/outpost/security) "wF" = ( -/obj/structure/flora/grass/jungle, -/obj/structure/flora/junglebush/c, -/turf/open/floor/grass/ship/jungle, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"wI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "wK" = ( /turf/closed/indestructible/reinforced, @@ -3685,13 +4579,36 @@ "wN" = ( /obj/machinery/vending/coffee, /obj/machinery/light/dim/directional/south, -/turf/open/floor/plasteel/tech/techmaint, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) +"wO" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"wP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "wR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/foamedmetal, /turf/open/floor/plating, /area/outpost/maintenance/central) +"wS" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "wT" = ( /obj/machinery/jukebox{ pixel_y = 16; @@ -3712,53 +4629,76 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"wV" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "wW" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 5 + }, /turf/open/floor/plasteel, /area/outpost/security) "wX" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/storage) "wY" = ( -/obj/machinery/cryopod, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 5 +/obj/machinery/firealarm/directional/north, +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor{ + dir = 1 }, -/obj/structure/sign/poster/random{ - pixel_y = 30 +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/crew/cryo) +/area/outpost/cargo) +"wZ" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "xc" = ( -/obj/effect/turf_decal/corner/opaque/red{ +/obj/effect/turf_decal/corner/opaque/black{ dir = 4 }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ + dir = 1 + }, /turf/open/floor/plasteel, /area/outpost/security) "xf" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/brown/full, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, /area/outpost/cargo) "xk" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) "xm" = ( @@ -3767,67 +4707,58 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"xo" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/dim/directional/north, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) "xr" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/obj/structure/chair/sofa/brown/old/directional/east, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) "xu" = ( /obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) "xy" = ( -/obj/effect/decal/cleanable/glass/strange, +/obj/structure/falsewall/reinforced, /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/plasteel/tech/techmaint, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, /area/outpost/maintenance/central) "xI" = ( /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, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, /area/outpost/crew/cryo) "xJ" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/door/window{ + req_access = list("101") }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/machinery/door/window{ + req_access = list("101"); + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech, +/area/outpost/security) "xK" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3842,24 +4773,26 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "xM" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/kitchen/fork{ + pixel_y = 0; + pixel_x = -7 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 +/obj/item/kitchen/fork{ + pixel_x = 8; + pixel_y = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/reagent_containers/syringe, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"xN" = ( +/obj/item/stack/sheet/mineral/sandstone{ + pixel_x = 5; + pixel_y = 6 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) "xQ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -3868,6 +4801,11 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"xU" = ( +/obj/structure/chair/bench/beige/directional/south, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) "xW" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -3888,22 +4826,34 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "xZ" = ( -/obj/structure/chair/pew/left{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 +/obj/structure/disposalpipe/segment{ + dir = 10 }, +/obj/structure/closet/l3closet/janitor, +/obj/effect/turf_decal/steeldecal/steel_decals3, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/crew/janitor) "yc" = ( /obj/structure/foamedmetal, /turf/open/floor/plating, /area/outpost/maintenance/central) +"yf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "yh" = ( -/obj/structure/chair/sofa/brown/corner/directional/east, -/obj/machinery/light/small/directional/west, -/turf/open/floor/carpet/green, +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, /area/outpost/crew/bar) "yj" = ( /obj/machinery/door/firedoor, @@ -3922,23 +4872,12 @@ /turf/open/floor/plasteel/tech, /area/outpost/hallway/port) "yk" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction/flip{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"yq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/structure/table, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) +"yq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, /obj/effect/turf_decal/steeldecal/steel_decals6{ dir = 5 @@ -3946,30 +4885,35 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "yv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/brown/full, +/obj/structure/table/reinforced, +/obj/structure/railing/thin, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "yB" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 9 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) "yE" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/wood, /area/outpost/crew/bar) +"yL" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "yN" = ( /obj/structure/rack, /obj/effect/spawner/random/food_or_drink/donkpockets, -/turf/open/floor/plasteel/mono, +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/outpost/vacant_rooms) "yQ" = ( /obj/structure/chair{ @@ -3983,14 +4927,11 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "yR" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 4 +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "yS" = ( /obj/structure/cable/yellow{ @@ -3999,55 +4940,93 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) +"yU" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "yV" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral, -/obj/structure/closet/firecloset/wall/directional/east, -/turf/open/floor/plasteel, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) -"za" = ( -/obj/structure/falsewall/reinforced, +"yX" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) +"yY" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"yZ" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/structure/falsewall/reinforced, /turf/open/floor/plating, -/area/outpost/maintenance/fore) +/area/outpost/hallway/central) +"za" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/crew/bar) "zb" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/newscaster/directional/south, /obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/south, -/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/corner/opaque/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/floordetail/tiled, -/turf/open/floor/plasteel, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) "zg" = ( -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "1" +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"zo" = ( +/obj/effect/decal/cleanable/glass/strange, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/door/airlock/hatch, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"zo" = ( -/obj/machinery/mineral/processing_unit{ - output_dir = 4; - input_dir = 2 +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "5-8" }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/cargo) +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) +"zp" = ( +/obj/structure/flora/rock, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) "zq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -4057,41 +5036,29 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "zr" = ( -/obj/machinery/camera/autoname{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 8 + dir = 5 }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/storage) "zv" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/sign/directions/service{ - pixel_y = 22; - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/plasteel, /area/outpost/hallway/central) "zC" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "outpost2" +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/cargo) +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "zD" = ( /obj/machinery/camera/autoname{ dir = 4 }, /obj/machinery/light/directional/north, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/security) "zE" = ( /obj/structure/cable/yellow{ @@ -4099,27 +5066,28 @@ }, /turf/open/floor/plating/asteroid, /area/outpost/external) -"zI" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/cable/yellow{ - icon_state = "1-2" +"zG" = ( +/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/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"zI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/comfy/orange/directional/north, /turf/open/floor/plating, -/area/outpost/maintenance/central) +/area/outpost/crew/bar) "zL" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/effect/turf_decal/corner/opaque/black{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, /area/outpost/hallway/central) "zM" = ( @@ -4147,13 +5115,18 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "zR" = ( -/obj/effect/mob_spawn/human/corpse/charredskeleton{ - name = "Marv" +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 }, -/obj/item/stack/cable_coil/cut/yellow, -/obj/effect/decal/cleanable/ash/large, -/turf/open/floor/plating/asteroid, -/area/outpost/external) +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) "zS" = ( /obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, @@ -4176,22 +5149,22 @@ /obj/structure/foamedmetal, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Ai" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 4 +"Ac" = ( +/obj/structure/railing/wood{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) +/turf/open/floor/wood, +/area/outpost/maintenance/starboard) +"Ai" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"Aj" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/structure/chair/bench/olive/directional/north, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "Ak" = ( /obj/machinery/door/airlock/maintenance{ dir = 4 @@ -4209,10 +5182,10 @@ /area/outpost/maintenance/fore) "Am" = ( /obj/effect/spawner/random/vending/cola, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ +/obj/effect/turf_decal/corner/opaque/neutral/half{ dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "Ao" = ( /obj/item/radio/intercom/directional/north, @@ -4239,6 +5212,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/central) +"As" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "Au" = ( /obj/effect/turf_decal/steeldecal/steel_decals3{ dir = 1 @@ -4247,28 +5230,46 @@ /area/outpost/maintenance/fore) "Aw" = ( /obj/machinery/vending/coffee, -/turf/open/floor/plasteel/tech/techmaint, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "Ay" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/sign/poster/official/miners{ - pixel_x = 26 +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/crew/bar) +"AB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/neutral, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"AH" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plating/asteroid, -/area/outpost/external) -"AI" = ( -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"AH" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"AI" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, /obj/structure/cable/yellow{ @@ -4297,22 +5298,12 @@ /turf/open/floor/plasteel/tech, /area/outpost/maintenance/central) "AL" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 5 +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/hallway/central) "AM" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -4324,34 +5315,21 @@ /turf/open/floor/wood, /area/outpost/crew/library) "AN" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/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/turf_decal/steeldecal/steel_decals4, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"AO" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/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 = 8 }, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, +/obj/effect/turf_decal/corner/opaque/white, /turf/open/floor/plasteel, +/area/outpost/hallway/port) +"AO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) "AP" = ( /obj/structure/table/wood, @@ -4368,29 +5346,22 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "AS" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/corner_steel_grid/full, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "AT" = ( -/obj/structure/railing/wood{ - dir = 2; - color = "#792f27" - }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs/wood{ - dir = 4; - color = "#792f27" - }, -/area/outpost/crew/bar) +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) "AU" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ dir = 1 }, /turf/open/floor/plasteel, @@ -4404,21 +5375,29 @@ }, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) +"Ba" = ( +/obj/effect/turf_decal/siding/wood, +/obj/item/kirbyplants/random, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) "Bc" = ( /obj/item/radio/intercom/directional/west, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, /obj/effect/landmark/ert_outpost_spawn, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 9 + }, /turf/open/floor/plasteel, /area/outpost/security) "Bd" = ( /obj/machinery/computer/cryopod/directional/north, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 5 +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 8 }, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/security) @@ -4434,39 +5413,44 @@ }, /turf/open/floor/carpet/green, /area/outpost/crew/bar) -"Bj" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning{ +"Bh" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Bj" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 5 }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) +/turf/open/floor/plating/rust, +/area/outpost/maintenance/central) "Bo" = ( /obj/item/bedsheet, /obj/structure/bed/pod, /obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/grimy, /area/outpost/security) "Bp" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/number/random, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "Bq" = ( /obj/structure/cable/yellow{ @@ -4489,32 +5473,23 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Bt" = ( -/obj/machinery/light/dim/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "Bu" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/beer/light{ - pixel_x = -8 - }, -/obj/item/newspaper{ - pixel_x = 7; - pixel_y = 7 + pixel_y = -2; + pixel_x = 5 }, -/turf/open/floor/carpet/green, +/turf/open/floor/plasteel/grimy, /area/outpost/crew/bar) "By" = ( /obj/structure/closet/secure_closet/contraband, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, /area/outpost/security) "Bz" = ( /obj/machinery/power/floodlight, @@ -4532,26 +5507,10 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"BE" = ( -/obj/item/kirbyplants{ - icon_state = "plant-22" - }, -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 9 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/central) "BJ" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/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, -/area/outpost/hallway/central) +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) "BM" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning{ @@ -4581,15 +5540,30 @@ }, /obj/machinery/light/small/directional/north, /obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/grimy, /area/outpost/security) +"BP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "BR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/crayon{ + icon_state = "f"; + pixel_y = 0; + pixel_x = -19 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew/bar) +/obj/effect/decal/cleanable/crayon{ + icon_state = "f"; + pixel_y = 0; + pixel_x = -19 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "BX" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/mug{ @@ -4605,25 +5579,26 @@ /turf/closed/indestructible/reinforced, /area/outpost/maintenance/fore) "BZ" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 10 +/obj/item/kirbyplants{ + icon_state = "plant-21"; + name = "oxygen reclaimation system" }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "Ca" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 6 +/obj/machinery/light/small/directional/east, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/structure/disposalpipe/segment, +/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/plating/rust, +/area/outpost/maintenance/central) "Cc" = ( /turf/closed/indestructible/reinforced, /area/outpost/crew/bar) @@ -4654,79 +5629,51 @@ /turf/open/floor/carpet/green, /area/outpost/crew/bar) "Ch" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/crew/bar) "Ci" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "1" - }, -/obj/machinery/elevator_call_button{ - dir = 1; - pixel_y = -24 - }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) +"Ck" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/medical) "Cl" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/small/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/corner/opaque/neutral{ +/obj/structure/platform/wood_two, +/turf/open/floor/plasteel/stairs/wood{ dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/maintenance/starboard) "Cm" = ( /obj/item/toy/sprayoncan, /turf/open/floor/plating/asteroid, /area/outpost/external) "Cn" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/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/tech, -/area/outpost/hallway/central) +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "Cp" = ( /obj/machinery/camera/autoname, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) +"Cr" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/obj/structure/chair/bench/olive/directional/east{ + dir = 2 + }, +/obj/machinery/camera/autoname, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "Ct" = ( /obj/structure/grille/indestructable, /obj/structure/cable/yellow{ @@ -4746,68 +5693,137 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) +"CB" = ( +/obj/machinery/newscaster/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"CF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "CI" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/dim/directional/west, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/curtain/cloth/fancy{ + dir = 8; + open = 0 + }, +/turf/open/floor/plasteel/stairs{ dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/area/outpost/hallway/central) "CK" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) +/turf/open/floor/wood, +/area/outpost/crew/bar) "CL" = ( -/obj/structure/flora/junglebush, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) -"CU" = ( -/obj/machinery/button/door{ - id = "out2"; - normaldoorcontrol = 1; - specialfunctions = 4; - dir = 1; - pixel_y = -22; - pixel_x = -9 +/obj/machinery/conveyor{ + id = "outpost3"; + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/hallway/central) +"CM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/floordetail/tiled, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) -"CV" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"CN" = ( +/obj/structure/disposalpipe/segment, +/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/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"CP" = ( +/obj/machinery/microwave, +/obj/structure/table, +/obj/effect/decal/cleanable/sprayweb, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"CS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"CU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"CX" = ( -/obj/structure/railing{ - dir = 8 +"CV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 6 +/obj/structure/disposalpipe/segment{ + dir = 10 }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"Df" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +"CX" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random{ - pixel_x = 28 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/corner/opaque/neutral, -/turf/open/floor/plasteel, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"Df" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/structure/chair/bench/olive/directional/north, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) +"Dg" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/outpost/hallway/central) "Di" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/obj/structure/table/reinforced, +/obj/machinery/conveyor_switch{ + id = "outpost1"; + layer = 3.11; + pixel_y = 4; + pixel_x = 5 }, -/obj/effect/turf_decal/corner/opaque/brown/full, +/obj/structure/railing/thin, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "Dm" = ( @@ -4817,18 +5833,17 @@ /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "Do" = ( -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/black{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 6 }, /turf/open/floor/plasteel, /area/outpost/security) "Dp" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/industrial/loading{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) "Dq" = ( /obj/structure/falsewall/reinforced, /obj/structure/cable/yellow{ @@ -4837,15 +5852,15 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "DA" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/obj/structure/barricade/wooden/crude, +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"DD" = ( +/turf/open/floor/plasteel/stairs, +/area/outpost/maintenance/starboard) "DF" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/cable/yellow{ icon_state = "4-8" }, @@ -4853,16 +5868,24 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 4 +/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, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "DH" = ( /obj/structure/rack, /obj/effect/spawner/random/clothing/bowler_or_that, /obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plasteel/mono, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/outpost/storage) "DI" = ( /obj/structure/railing{ @@ -4878,6 +5901,20 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) +"DO" = ( +/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/door/airlock{ + name = "Laundry Room" + }, +/turf/open/floor/plasteel/tech, +/area/outpost/maintenance/central) "DP" = ( /obj/structure/railing/corner, /obj/machinery/light/dim/directional/north, @@ -4891,7 +5928,8 @@ /area/outpost/cargo) "DS" = ( /obj/machinery/power/smes/magical{ - name = "power relay" + name = "power relay"; + output_level = 200000 }, /obj/structure/cable/yellow{ icon_state = "0-4" @@ -4910,6 +5948,10 @@ /obj/effect/decal/cleanable/generic, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) +"DZ" = ( +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "Ef" = ( /obj/effect/turf_decal/corner_techfloor_gray{ dir = 9 @@ -4919,12 +5961,9 @@ /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) "Eg" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/item/radio/intercom/directional/east, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 8 - }, +/obj/machinery/holopad/emergency/janitor, +/obj/effect/turf_decal/trimline/opaque/purple/filled, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, /area/outpost/crew/janitor) "Ei" = ( @@ -4932,11 +5971,33 @@ /obj/structure/spider/stickyweb, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Ej" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "Eo" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/black, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/plasteel, /area/outpost/hallway/central) +"Eq" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "Et" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -4946,12 +6007,42 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) "Ez" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, +/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/structure/disposalpipe/segment, +/obj/machinery/door/airlock{ + name = "Recycling" + }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) +"EB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, /turf/open/floor/plating, -/area/outpost/hallway/port) +/area/outpost/hallway/central) "EC" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/ship/dirt, +/obj/structure/closet/firecloset/wall/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, +/turf/open/floor/plasteel, /area/outpost/hallway/port) "ED" = ( /obj/structure/table/wood, @@ -4963,24 +6054,34 @@ /turf/open/floor/carpet/green, /area/outpost/crew/bar) "EG" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, -/obj/structure/closet/l3closet/janitor, -/obj/effect/turf_decal/steeldecal/steel_decals3, +/obj/effect/turf_decal/trimline/opaque/purple/filled/line, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, /area/outpost/crew/janitor) "EH" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/outpost/hallway/port) +"EI" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"EK" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "EP" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -4989,17 +6090,39 @@ /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/outpost/maintenance/central) +"EU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/grille/indestructable, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) "EV" = ( -/obj/structure/chair/comfy/orange/directional/south, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/grimy, /area/outpost/crew/bar) +"EW" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/vacant_rooms) "EX" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"EZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/mouse, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "Fa" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable/yellow{ @@ -5018,21 +6141,31 @@ /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "Ff" = ( -/obj/effect/turf_decal/corner/opaque/red{ +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ dir = 4 }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/security) +"Fh" = ( +/obj/machinery/door/firedoor/heavy, +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plating, +/area/outpost/vacant_rooms/office) "Fi" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/structure/disposalpipe/segment{ dir = 1 }, -/obj/structure/sign/poster/random{ - pixel_y = 30 +/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, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "Fl" = ( /obj/structure/cable/yellow{ @@ -5045,39 +6178,20 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Fn" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/window{ - req_access = list("101"); - dir = 8 - }, -/obj/machinery/door/window{ - req_access = list("101"); - dir = 4 - }, -/obj/effect/turf_decal/floordetail/tiled, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/outpost/security) +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) "Fq" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/structure/grille/indestructable, /turf/open/floor/plating, /area/outpost/crew/library) "Fr" = ( -/obj/machinery/vending/boozeomat{ - pixel_y = 32; - density = 0 - }, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/vending/boozeomat, /turf/open/floor/carpet/green, /area/outpost/crew/bar) "Fs" = ( @@ -5091,6 +6205,36 @@ icon_state = "wood-broken4" }, /area/outpost/crew/bar) +"Ft" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"Fu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/grille/indestructable, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) "Fv" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -5107,42 +6251,49 @@ }, /obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms/office) "FB" = ( -/turf/open/floor/carpet/green, -/area/outpost/crew/bar) -"FD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/outpost/crew/bar) +/obj/structure/platform/wood_two/corner, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "FE" = ( -/obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/mineral/electrolyzer_unloader, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/patterned/grid, /area/outpost/cargo) "FF" = ( -/obj/effect/turf_decal/ihejirika_small/left, -/turf/open/floor/plating, -/area/outpost/maintenance/central) -"FH" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/sign/poster/rilena/ri{ + pixel_x = -26 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/crayon{ + icon_state = "guy"; + pixel_y = 20 }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/effect/decal/cleanable/garbage{ + pixel_x = -7; + pixel_y = -3 }, -/turf/open/floor/plasteel, +/obj/item/paper/crumpled{ + pixel_y = -2; + pixel_x = 5 + }, +/obj/item/paper/crumpled{ + pixel_y = 5; + pixel_x = -4 + }, +/turf/open/floor/plating, /area/outpost/hallway/central) +"FH" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) "FI" = ( /obj/structure/railing, /obj/item/radio/intercom/directional/north, @@ -5155,26 +6306,30 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) +"FM" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/cigbutt/roach, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) "FN" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/urinal{ + dir = 8; + pixel_x = 18 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 9 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/steeldecal/steel_decals_central7, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/central) +/turf/open/floor/plasteel/mono, +/area/outpost/hallway/central) "FQ" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) "FS" = ( /obj/structure/reagent_dispensers/fueltank, @@ -5225,7 +6380,7 @@ /obj/structure/bed/pod, /obj/item/bedsheet, /obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/grimy, /area/outpost/security) "Gm" = ( /obj/structure/cable/yellow{ @@ -5238,12 +6393,27 @@ /obj/effect/spawner/random/clothing/bowler_or_that, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Gu" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 +"Gr" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, -/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"Gt" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/outpost/maintenance/starboard) +"Gu" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/janitorialcart, +/obj/item/mop, +/obj/item/clothing/gloves/color/purple, +/obj/item/clothing/head/beanie/purple, +/obj/item/clothing/neck/tie/purple, /turf/open/floor/plasteel, /area/outpost/crew/janitor) "Gv" = ( @@ -5252,44 +6422,26 @@ /obj/machinery/fax/admin/outpost{ pixel_y = 5 }, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/grimy, /area/outpost/security) -"GB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/maintenance{ - dir = 4; - req_access = list("101") - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/port) +"GC" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "GE" = ( /obj/structure/chair/comfy/orange/directional/south, +/obj/machinery/firealarm/directional/north, /obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/random{ - pixel_y = 30 - }, -/turf/open/floor/wood, +/turf/open/floor/plasteel/grimy, /area/outpost/crew/bar) "GK" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/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, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "GL" = ( /obj/effect/landmark/outpost/elevator{ shaft = "1" @@ -5297,52 +6449,55 @@ /turf/open/floor/plasteel/elevatorshaft, /area/outpost/hallway/central) "GM" = ( -/obj/structure/sign/poster/official/no_erp{ - pixel_y = 30 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/floordetail/tiled, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) -"GQ" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/caution{ dir = 8 }, +/obj/structure/railing/thin, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) +"GO" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, /turf/open/floor/plasteel, /area/outpost/hallway/port) +"GQ" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/cargo/office) "GS" = ( /obj/machinery/modular_computer/console/preset/civilian, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) "GT" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +/obj/effect/turf_decal/siding/wood{ + dir = 10 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) "GU" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, /obj/structure/cable/yellow{ - icon_state = "1-8" + icon_state = "6-8" }, -/obj/structure/disposalpipe/junction/yjunction{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 10 }, +/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 10 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/central) "GW" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt/dust, @@ -5373,49 +6528,105 @@ /obj/structure/flora/rock/pile, /turf/open/floor/plating/asteroid, /area/outpost/external) +"Hc" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "He" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/dim/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 1 - }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "Hh" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, +/turf/open/floor/plasteel/grimy, /area/outpost/crew/bar) "Hi" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/door/airlock{ + dir = 4; + name = "Bar" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/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/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/outpost/crew/bar) "Hk" = ( /obj/structure/rack, /obj/effect/spawner/random/clothing/beret_or_rabbitears, /obj/machinery/light/dim/directional/west, -/turf/open/floor/plasteel/mono, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/outpost/storage) "Hl" = ( /mob/living/simple_animal/mouse/brown, /obj/effect/turf_decal/steeldecal/steel_decals6, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Hn" = ( +/obj/structure/chair/stool/bar{ + dir = 4 + }, +/mob/living/simple_animal/hostile/cockroach, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"Hp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt/roach{ + pixel_x = -5; + pixel_y = -4 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"Hs" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "Ht" = ( /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -5450,31 +6661,44 @@ /obj/structure/grille/indestructable, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Hz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "HB" = ( -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, /obj/structure/table, -/obj/item/paper_bin{ - pixel_y = 6; - pixel_x = 6 +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 8 + }, +/obj/effect/spawner/random/entertainment/plushie{ + pixel_x = 16; + pixel_y = 4 + }, +/obj/item/folder{ + pixel_x = -5; + pixel_y = 2 }, -/obj/item/pen, -/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable/yellow{ - icon_state = "0-8" + icon_state = "2-4" }, -/obj/effect/turf_decal/steeldecal/steel_decals_central6, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/patterned, /area/outpost/crew/cryo) +"HC" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/external) "HD" = ( /turf/closed/indestructible/rock, /area/outpost/external) "HF" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/beer/light{ - pixel_y = -2; - pixel_x = 5 - }, -/turf/open/floor/carpet/green, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/plasteel/grimy, /area/outpost/crew/bar) "HG" = ( /obj/machinery/door/firedoor, @@ -5494,33 +6718,55 @@ /turf/open/floor/plasteel/tech, /area/outpost/hallway/central) "HJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/structure/ore_box, +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/turf/open/floor/wood, -/area/outpost/crew/bar) +/area/outpost/cargo) "HL" = ( /obj/structure/easel, /obj/effect/decal/cleanable/dirt/dust, /obj/item/canvas/nineteenXnineteen, /turf/open/floor/wood, /area/outpost/crew/library) +"HO" = ( +/obj/effect/landmark/outpost/elevator_machine{ + shaft = "1" + }, +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "HQ" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/firealarm/directional/east, -/obj/structure/holosign/barrier/infinite{ - max_integrity = 500 +/obj/structure/disposalpipe/junction/flip{ + dir = 1 }, -/turf/open/floor/plasteel, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "HR" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/structure/disposalpipe/segment, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/tech, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, /area/outpost/hallway/central) "HX" = ( /obj/machinery/door/airlock{ @@ -5541,23 +6787,24 @@ /turf/open/floor/plating, /area/outpost/crew/bar) "HZ" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-8" }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 9 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 6 +/obj/structure/disposalpipe/junction/yjunction{ + dir = 1 }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "Ia" = ( /obj/item/radio/intercom/wideband/table{ @@ -5572,7 +6819,7 @@ pixel_x = -5 }, /obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/grimy, /area/outpost/security) "Ic" = ( /obj/effect/decal/cleanable/dirt, @@ -5586,39 +6833,28 @@ /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) "Ip" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/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 = "2-4" }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/effect/decal/cleanable/ash{ + pixel_y = 14; + pixel_x = -7 }, -/obj/effect/turf_decal/industrial/caution, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/turf/open/floor/plating/rust, +/area/outpost/maintenance/starboard) "Is" = ( /obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/storage) "It" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) "Iu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -5633,18 +6869,10 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "Ix" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/crew/bar) "Iz" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5659,9 +6887,25 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "IB" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/corner/opaque/neutral, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/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/outpost/hallway/port) +"ID" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "IE" = ( @@ -5669,73 +6913,71 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "IH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-4" }, +/obj/machinery/light/small/directional/west, /turf/open/floor/plating, -/area/outpost/maintenance/central) +/area/outpost/engineering/atmospherics) "IJ" = ( /obj/structure/table, /obj/item/trash/can/food/beans, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/central) -"IM" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/firealarm/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +"IL" = ( +/obj/effect/turf_decal/corner/opaque/black, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/outpost/hallway/port) -"IN" = ( -/obj/effect/decal/cleanable/crayon{ - icon_state = "!"; - pixel_x = 9 - }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "f"; - pixel_y = 0; - pixel_x = -19 - }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "u"; - pixel_y = -5; - pixel_x = -10 - }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "n" - }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "arrow"; - pixel_y = -19; - pixel_x = 2 +/area/outpost/hallway/central) +"IM" = ( +/obj/structure/cable/yellow{ + icon_state = "4-10" }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"IN" = ( /obj/effect/decal/cleanable/crayon{ icon_state = "arrow"; pixel_y = -25; pixel_x = -7 }, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/glass, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/plating, /area/outpost/maintenance/fore) "IS" = ( -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/machinery/light/dim/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ dir = 8 }, -/turf/open/floor/plasteel, +/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/patterned, /area/outpost/crew/cryo) "IT" = ( /obj/machinery/camera/autoname, -/obj/effect/turf_decal/corner/opaque/red{ +/obj/effect/turf_decal/corner/opaque/bottlegreen{ dir = 8 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/security) "IU" = ( /obj/structure/cable/yellow{ @@ -5755,33 +6997,36 @@ "IW" = ( /turf/closed/indestructible/rock, /area/outpost/maintenance/central) -"IY" = ( -/obj/effect/decal/cleanable/crayon{ - icon_state = "antilizard"; - pixel_x = -30 - }, +"Ja" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) -"Ji" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +/obj/machinery/firealarm/directional/west, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/steeldecal/steel_decals9, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/outpost/hallway/central) +"Jh" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "Jo" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/crayon{ + icon_state = "peace"; + pixel_y = -26 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/neutral{ +/turf/open/floor/plasteel/stairs{ dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/area/outpost/hallway/central) "Jp" = ( /obj/machinery/door/airlock/public, /obj/effect/turf_decal/industrial/warning, @@ -5803,25 +7048,38 @@ /turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms) "Jq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) +/obj/structure/chair/sofa/brown/corner/directional/east, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "Jr" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/dim/directional/south, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 1 - }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"Jt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/firealarm/directional/south, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, /area/outpost/hallway/central) +"Jx" = ( +/obj/item/stack/tile/carpet, +/obj/structure/rack, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "JA" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/disposal/bin, @@ -5832,12 +7090,19 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "JE" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +/obj/machinery/shower{ + dir = 4; + desc = "An old shower. It looks rusted." }, -/turf/open/floor/plasteel, +/obj/structure/toilet{ + pixel_y = 13; + pixel_x = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6, +/turf/open/floor/plasteel/showroomfloor, /area/outpost/hallway/central) "JF" = ( /obj/effect/decal/cleanable/crayon{ @@ -5848,8 +7113,15 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "JM" = ( -/obj/structure/chair/sofa/brown/right/directional/east, -/turf/open/floor/carpet/green, +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_x = -8 + }, +/obj/item/newspaper{ + pixel_x = 7; + pixel_y = 7 + }, +/turf/open/floor/plasteel/grimy, /area/outpost/crew/bar) "JS" = ( /obj/structure/disposalpipe/segment{ @@ -5875,7 +7147,7 @@ /obj/effect/spawner/random/clothing/pirate_or_bandana, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/mono, +/turf/open/floor/plasteel/dark, /area/outpost/storage) "JW" = ( /obj/machinery/vending/games, @@ -5883,10 +7155,22 @@ /turf/open/floor/wood, /area/outpost/crew/library) "JX" = ( -/obj/structure/flora/grass/jungle, -/obj/structure/flora/junglebush/b, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) +/obj/machinery/conveyor{ + id = "outpost3"; + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/hallway/central) +"Kb" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 11; + pixel_x = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "Kd" = ( /obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -5902,36 +7186,35 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "Kh" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/newscaster/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/neutral, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Kl" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 4 +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, /turf/open/floor/plasteel, /area/outpost/hallway/port) -"Ko" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/camera/autoname{ - dir = 5 +"Kl" = ( +/obj/machinery/vending/wallmed{ + pixel_x = 22 }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/structure/table, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plasteel, -/area/outpost/hallway/port) +/area/outpost/medical) +"Ko" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "Kr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -5939,17 +7222,18 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Ks" = ( -/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/chair/bench/beige/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/plating, -/area/outpost/maintenance/central) +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) +"Kv" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "Kx" = ( /turf/closed/indestructible/reinforced, /area/outpost/storage) @@ -5977,7 +7261,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plating, +/turf/closed/indestructible/reinforced/rust, /area/outpost/maintenance/central) "KC" = ( /obj/structure/disposalpipe/segment{ @@ -6017,6 +7301,15 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/crew/janitor) +"KG" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "KI" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -6032,22 +7325,18 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "KK" = ( -/obj/structure/toilet{ - dir = 4; - pixel_y = 0; - pixel_x = -6 - }, -/obj/structure/mirror{ - pixel_y = 30 +/obj/machinery/button/door{ + dir = 8; + pixel_x = 22; + pixel_y = 9; + id = "out3"; + normaldoorcontrol = 1; + specialfunctions = 4 }, -/obj/structure/sink{ - pixel_y = 24 - }, -/obj/effect/turf_decal/corner/transparent/brown/full, /turf/open/floor/plasteel, /area/outpost/crew/bar) "KS" = ( -/obj/structure/railing{ +/obj/structure/railing/thin{ dir = 1 }, /turf/open/floor/plasteel/patterned, @@ -6063,31 +7352,24 @@ /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) "KW" = ( -/obj/structure/cable/yellow{ - icon_state = "6-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/effect/spawner/random/vending/cola, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/turf/open/floor/plasteel/dark, +/area/outpost/crew/library) +"KY" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/effect/turf_decal/borderfloor{ + dir = 5 }, -/turf/open/floor/plating, -/area/outpost/maintenance/central) -"KY" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/steeldecal/steel_decals9{ - dir = 4 +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/cargo) "KZ" = ( /obj/machinery/door/airlock/maintenance{ dir = 4; @@ -6118,25 +7400,18 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/effect/turf_decal/corner/opaque/red{ +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/corner/opaque/black, +/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ dir = 4 }, -/obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel, /area/outpost/security) "Lg" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/outpost/hallway/port) "Lh" = ( /turf/closed/indestructible/reinforced, @@ -6145,6 +7420,11 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/green, /area/outpost/crew/bar) +"Lm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/starboard) "Ls" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -6167,40 +7447,17 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "Lu" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction/yjunction{ +/obj/machinery/light/dim/directional/north, +/obj/structure/ore_box, +/turf/open/floor/plasteel/mono{ dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/black/full, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/area/outpost/cargo) "LB" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/storage) -"LD" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/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, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) "LE" = ( /obj/item/radio/intercom/directional/west, /obj/effect/decal/cleanable/dirt/dust, @@ -6212,15 +7469,19 @@ /area/outpost/maintenance/fore) "LJ" = ( /obj/machinery/computer/helm/viewscreen/directional/north, -/obj/structure/chair/comfy{ +/obj/structure/chair/comfy/olive{ dir = 8 }, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/corner/opaque/black/border{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, /area/outpost/security) "LK" = ( -/obj/structure/flora/junglebush/c, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/medical) "LL" = ( /turf/closed/indestructible/reinforced, /area/outpost/hallway/port) @@ -6235,11 +7496,15 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "LS" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/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" + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 5 }, -/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plasteel, /area/outpost/hallway/port) "LU" = ( @@ -6247,35 +7512,23 @@ /turf/open/floor/plating, /area/outpost/storage) "LX" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/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/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) "LY" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/bed, +/obj/item/bedsheet/black, +/obj/item/toy/plush/rilena, +/obj/item/toy/plush/tali{ + pixel_x = 10; + pixel_y = -6 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/turf/open/floor/plating, +/area/outpost/hallway/central) "Md" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -6290,17 +7543,21 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Me" = ( -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/grimy, /area/outpost/security) "Mk" = ( /obj/machinery/newscaster/directional/south, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/corner/opaque/black/border{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, /area/outpost/security) "Ml" = ( -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 9 + dir = 8 }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/storage) "Mm" = ( @@ -6382,21 +7639,16 @@ /turf/open/floor/wood, /area/outpost/crew/library) "MI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +/obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ - dir = 1 + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/outpost/hallway/central) "MK" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, @@ -6420,29 +7672,61 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "MO" = ( -/obj/structure/chair/pew/right{ - dir = 8 +/obj/structure/sign/poster/rilena/run{ + pixel_y = 30 }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 +/obj/structure/table, +/obj/item/modular_computer/laptop/preset/civilian/rilena{ + pixel_y = 9 }, -/turf/open/floor/plasteel, +/obj/item/reagent_containers/food/drinks/rilenacup{ + pixel_y = -2; + pixel_x = 7 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"MP" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/closet/crate/trashcart, +/turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) "MQ" = ( /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, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, /area/outpost/crew/cryo) +"MU" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/vacant_rooms/office) +"MW" = ( +/obj/effect/spawner/random/trash/grille_or_waste, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"MZ" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "Nc" = ( -/turf/closed/indestructible/rock, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel, /area/outpost/hallway/central) "Nd" = ( /obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/grimy, /area/outpost/security) "Ne" = ( /obj/item/radio/intercom/directional/north, @@ -6453,6 +7737,12 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) +"Nf" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "Ng" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, @@ -6468,36 +7758,62 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) +"Nn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "No" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/donut/jelly, /obj/effect/turf_decal/floordetail/tiled, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/grimy, /area/outpost/security) "Nu" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/camera/autoname{ + dir = 5 }, -/obj/structure/disposalpipe/segment, -/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/siding/thinplating/dark{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "Nv" = ( -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/storage) +/obj/effect/turf_decal/industrial/warning{ + dir = 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/machinery/door/airlock/medical/glass{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/outpost/medical) "NF" = ( /obj/structure/cable/yellow{ icon_state = "6-8" @@ -6513,9 +7829,13 @@ /turf/open/space/basic, /area/space) "NI" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/yellow, +/turf/open/floor/plasteel, /area/outpost/cargo) "NK" = ( /turf/closed/indestructible/reinforced, @@ -6533,16 +7853,6 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) -"NT" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/hatch, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) "NU" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, @@ -6556,22 +7866,29 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) "Oa" = ( -/obj/structure/flora/grass/jungle, -/obj/structure/flora/junglebush/c, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) -"Oh" = ( -/obj/structure/chair/sofa/brown/directional/north, -/turf/open/floor/carpet/royalblack, -/area/outpost/crew/bar) -"Oi" = ( -/obj/structure/railing/corner, +/obj/structure/sink/kitchen{ + dir = 1; + name = "big sink" + }, +/obj/structure/mirror{ + pixel_y = -25 + }, /turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"Om" = ( -/obj/structure/flora/junglebush/b, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) +/area/outpost/hallway/central) +"Oh" = ( +/obj/structure/chair/sofa/brown/directional/north, +/turf/open/floor/carpet/royalblack, +/area/outpost/crew/bar) +"Oi" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "On" = ( /obj/machinery/conveyor/auto{ id = "outpost3"; @@ -6579,6 +7896,16 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Op" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "Or" = ( /obj/structure/chair/sofa/brown/corner/directional/north, /obj/effect/decal/cleanable/dirt/dust, @@ -6600,21 +7927,25 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "OC" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 1; - piping_layer = 2 - }, +/obj/structure/falsewall/reinforced, /turf/open/floor/plating, -/area/outpost/maintenance/central) -"OG" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ +/area/outpost/engineering/atmospherics) +"OF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel/tech, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"OG" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "OH" = ( /obj/machinery/door/firedoor, @@ -6641,69 +7972,108 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "OK" = ( -/obj/structure/falsewall/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/outpost/crew/bar) -"OM" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/neutral, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"OO" = ( -/obj/structure/railing, /turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"OP" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +/area/outpost/maintenance/central) +"OM" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + 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/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/turf/open/floor/plating/rust, +/area/outpost/maintenance/central) +"OO" = ( +/obj/structure/platform/wood_two{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"OP" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/black{ +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"OS" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 9 + }, /turf/open/floor/plasteel, -/area/outpost/hallway/port) +/area/outpost/hallway/central) +"OT" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/maintenance/central) "OY" = ( /obj/structure/grille/indestructable, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, +/turf/open/floor/plating/rust, /area/outpost/maintenance/central) +"OZ" = ( +/obj/item/reagent_containers/syringe{ + pixel_y = -4; + pixel_x = 8 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"Pc" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "Pe" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Ph" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/cargo) +"Pi" = ( /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) +"Pl" = ( +/obj/structure/rack, +/obj/item/storage/cans/sixbeer{ + pixel_x = -2; + pixel_y = -3 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "Pm" = ( /obj/structure/chair{ dir = 8 @@ -6712,26 +8082,32 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "Po" = ( -/obj/structure/chair/pew{ +/obj/effect/landmark/outpost/elevator_machine{ + shaft = "1" + }, +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/outpost/hallway/central) "Pt" = ( -/obj/machinery/cryopod{ - dir = 1 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ +/obj/effect/turf_decal/corner_techfloor_gray{ dir = 10 }, -/obj/machinery/camera/autoname{ - dir = 4 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/crew/cryo) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) "Pw" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/industrial/outline/yellow, @@ -6747,14 +8123,29 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Py" = ( +/obj/structure/falsewall/reinforced, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/closed/indestructible/reinforced/rust, +/area/outpost/maintenance/fore) "PA" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille/indestructable, /turf/open/floor/plating, /area/outpost/crew/cryo) "PD" = ( /obj/structure/chair/sofa/brown/right/directional/west, /turf/open/floor/carpet/royalblack, /area/outpost/crew/bar) +"PE" = ( +/obj/item/kirbyplants{ + icon_state = "plant-21"; + name = "oxygen reclaimation system" + }, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "PF" = ( /obj/structure/grille/indestructable, /obj/structure/cable/yellow{ @@ -6772,36 +8163,32 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "PG" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, /obj/structure/cable/yellow{ - icon_state = "1-8" + icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 9 + dir = 4 }, -/obj/structure/holosign/barrier/infinite{ - max_integrity = 500 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_y = -28 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "PI" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/cargo) +/turf/closed/indestructible/reinforced, +/area/outpost/maintenance/starboard) "PO" = ( /obj/structure/chair/wood{ dir = 1 @@ -6809,24 +8196,14 @@ /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{ +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ 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/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, +/turf/open/floor/plasteel/patterned, /area/outpost/crew/cryo) "PS" = ( /obj/structure/falsewall/reinforced, @@ -6844,9 +8221,20 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "PV" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/carpet/green, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, /area/outpost/crew/bar) +"PW" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "PY" = ( /obj/machinery/door/airlock/security/brig{ req_access = list("101") @@ -6861,61 +8249,47 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/security) -"Qa" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +"Qg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"Qc" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"Qg" = ( -/obj/structure/cable/yellow{ - icon_state = "4-9" - }, +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ - icon_state = "1-9" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 10 + icon_state = "2-9" }, /turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/fore) +/area/outpost/maintenance/central) +"Qi" = ( +/obj/structure/chair/sofa/brown/old/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) "Qk" = ( -/obj/machinery/button/door{ - dir = 8; - pixel_x = 22; - pixel_y = 9; - id = "out3"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/obj/effect/turf_decal/corner/transparent/brown/full, -/turf/open/floor/plasteel, -/area/outpost/crew/bar) +/turf/open/floor/engine/air, +/area/outpost/engineering/atmospherics) "Qn" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/holosign/barrier/infinite{ + max_integrity = 500 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white, +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/hallway/port) "Qp" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -6924,34 +8298,59 @@ /turf/open/floor/plating/asteroid, /area/outpost/external) "Qr" = ( -/obj/effect/turf_decal/corner/opaque/red{ +/obj/effect/turf_decal/corner/opaque/bottlegreen{ dir = 8 }, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, /area/outpost/security) "Qv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, /obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Qx" = ( /obj/structure/rack, /obj/effect/spawner/random/clothing/bowler_or_that, /obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plasteel/mono, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/outpost/storage) "QA" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/firealarm/directional/south, -/obj/structure/janitorialcart, -/obj/item/mop, -/obj/item/clothing/gloves/color/purple, -/obj/item/clothing/head/beanie/purple, -/obj/item/clothing/neck/tie/purple, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/port) +"QF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/outpost/hallway/central) "QL" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -6972,38 +8371,43 @@ /obj/structure/filingcabinet/double, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) +"QS" = ( +/obj/structure/table, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/maintenance/central) "QT" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel, +/obj/item/radio/intercom/directional/south, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) "QY" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/outpost/hallway/port) "QZ" = ( -/obj/effect/decal/cleanable/crayon{ - icon_state = "arrow"; - pixel_y = 11; - pixel_x = -14 +/obj/structure/chair{ + dir = 8 }, -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/fore) +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = -7 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/crew/cryo) "Ra" = ( /obj/machinery/door/airlock{ dir = 4; @@ -7022,28 +8426,16 @@ /area/outpost/crew/bar) "Rb" = ( /obj/structure/falsewall/reinforced, -/turf/open/floor/plating, +/turf/closed/indestructible/reinforced/rust, /area/outpost/vacant_rooms/office) "Rc" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 1 - }, -/turf/open/floor/plasteel, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/outpost/hallway/port) "Rf" = ( /obj/machinery/power/apc/auto_name/directional/south, @@ -7083,17 +8475,29 @@ /obj/item/trash/semki, /turf/open/floor/plating/asteroid, /area/outpost/external) +"Rn" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "Ro" = ( -/obj/structure/falsewall/reinforced, -/turf/closed/indestructible/reinforced, +/turf/closed/indestructible/reinforced/rust, /area/outpost/maintenance/fore) "Rr" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/storage) "Rs" = ( @@ -7113,10 +8517,10 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Rt" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 1 - }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/light/small/directional/west, /turf/open/floor/plasteel, /area/outpost/crew/janitor) "Ru" = ( @@ -7129,18 +8533,17 @@ /turf/open/floor/wood, /area/outpost/crew/library) "Rv" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/turf/open/floor/plating{ + icon_state = "platingdmg3" }, -/obj/effect/turf_decal/corner/opaque/black{ +/area/outpost/maintenance/central) +"Rw" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech, /area/outpost/hallway/central) "RA" = ( /obj/structure/railing/wood{ @@ -7162,6 +8565,20 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) +"RD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/outpost/hallway/central) "RG" = ( /obj/structure/barricade/wooden/crude, /obj/machinery/door/firedoor/closed, @@ -7194,40 +8611,74 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "RJ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/obj/machinery/button/door{ + specialfunctions = 4; + normaldoorcontrol = 1; + id = "out1"; + dir = 1; + pixel_y = -21; + pixel_x = -8 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/storage) +"RL" = ( +/obj/structure/grille/indestructable, +/obj/structure/cable/yellow, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "RM" = ( -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, /obj/effect/landmark/ert_outpost_spawn, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 6 + }, /turf/open/floor/plasteel, /area/outpost/security) "RO" = ( -/obj/structure/railing{ - dir = 6 +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -19; + pixel_x = 2 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/conveyor_switch{ - id = "outpost1"; - layer = 3.11; - pixel_y = 4; - pixel_x = 5 +/obj/structure/rack, +/obj/item/toy/balloon, +/obj/item/toy/balloon, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"RR" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/effect/turf_decal/corner_techfloor_gray, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"RS" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"RT" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/grille, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "RU" = ( /obj/item/kirbyplants/random, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/turf/open/floor/plasteel/dark, /area/outpost/storage) "RV" = ( /obj/effect/decal/cleanable/crayon{ @@ -7261,14 +8712,22 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "RY" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/neutral, /turf/open/floor/plasteel, /area/outpost/hallway/port) +"Sb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/item/radio/intercom/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "Sd" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -7277,31 +8736,31 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Si" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/floordetail/pryhole, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) "Sk" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 - }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plasteel, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "Sl" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/obj/structure/sign/poster/official/miners{ + pixel_x = 26 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "Sn" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -7324,17 +8783,13 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "Sq" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 }, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, /turf/open/floor/plasteel, /area/outpost/hallway/port) @@ -7347,26 +8802,30 @@ /turf/open/floor/wood, /area/outpost/crew/library) "Ss" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +/obj/structure/reagent_dispensers/beerkeg, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/structure/closet/emcloset/wall/directional/north, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/crew/bar) "SC" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 4 +/obj/machinery/light/dim/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 1 }, -/obj/effect/decal/cleanable/insectguts, -/obj/effect/turf_decal/floordetail/tiled, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/vacant_rooms) "SE" = ( -/turf/open/floor/ship/dirt, -/area/outpost/hallway/port) +/obj/structure/chair/bench/beige/directional/south, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) "SG" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -7398,25 +8857,32 @@ /obj/effect/turf_decal/spline/fancy/opaque/grey{ dir = 4 }, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/outpost/security) "SS" = ( /obj/structure/chair{ dir = 1 }, /obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/grimy, /area/outpost/security) "SV" = ( -/obj/structure/flora/grass/jungle, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "SW" = ( /obj/structure/rack, /obj/effect/spawner/random/food_or_drink/donkpockets, /obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plasteel/mono, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/turf/open/floor/plasteel/dark, /area/outpost/vacant_rooms) "SY" = ( /obj/machinery/light/small/directional/east, @@ -7430,12 +8896,11 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Tb" = ( -/obj/structure/flora/junglebush, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on/layer2{ dir = 8 }, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/central) +/turf/open/floor/engine/air, +/area/outpost/engineering/atmospherics) "Td" = ( /obj/structure/bookcase/random, /obj/effect/decal/cleanable/dirt/dust, @@ -7446,78 +8911,126 @@ /obj/effect/turf_decal/spline/fancy/opaque/grey{ dir = 4 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/security) "Tg" = ( -/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) +/obj/effect/turf_decal/corner/opaque/neutral/half, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "Th" = ( /turf/closed/indestructible/reinforced, /area/outpost/cargo/office) -"Tr" = ( -/obj/structure/railing{ +"Tk" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/corner_steel_grid{ dir = 9 }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"Tp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"Tq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"Tr" = ( /obj/machinery/conveyor_switch{ id = "outpost2"; layer = 3.11; pixel_y = 9; pixel_x = -2 }, +/obj/structure/railing/thin{ + dir = 9 + }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "Ts" = ( -/obj/structure/chair/pew{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 9 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"Tw" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/storage) "Tx" = ( -/obj/machinery/button/door{ - specialfunctions = 4; - normaldoorcontrol = 1; - id = "out1"; - dir = 1; - pixel_y = -21; - pixel_x = -8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/storage) -"TA" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/newscaster/directional/south, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/structure/disposalpipe/segment{ +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"TA" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 6 +/obj/machinery/door/airlock{ + dir = 4; + name = "Restroom" }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 9 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/effect/turf_decal/industrial/stand_clear{ +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/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/central) "TD" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -7533,28 +9046,32 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "TE" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/autoname, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) "TG" = ( -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) +"TL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/dim/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "TM" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -7569,13 +9086,18 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "TU" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/engineering/atmospherics) +"TY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/item/radio/intercom/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, /turf/open/floor/plating, -/area/outpost/maintenance/central) +/area/outpost/hallway/central) "TZ" = ( /obj/effect/turf_decal/corner_techfloor_gray{ dir = 9 @@ -7585,25 +9107,8 @@ /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) "Ua" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Uf" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/small/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "Ui" = ( /obj/machinery/disposal/deliveryChute{ name = "fun chute"; @@ -7619,8 +9124,16 @@ dir = 5 }, /obj/effect/turf_decal/steeldecal/steel_decals_central2, -/turf/open/floor/plating, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, /area/outpost/maintenance/fore) +"Ul" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/cockroach, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/outpost/maintenance/starboard) "Um" = ( /obj/structure/chair{ dir = 1 @@ -7633,7 +9146,10 @@ /area/outpost/maintenance/central) "Uq" = ( /obj/effect/spawner/random/vending/snack, -/turf/open/floor/plasteel/tech/techmaint, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "Us" = ( /obj/structure/cable/yellow{ @@ -7653,30 +9169,24 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "Ut" = ( -/obj/machinery/door/airlock{ - dir = 4; - name = "Bar" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/bar) +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "Uv" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating, @@ -7685,7 +9195,8 @@ /turf/closed/indestructible/reinforced, /area/outpost/cargo) "UB" = ( -/obj/effect/turf_decal/corner/opaque/brown/full, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "UC" = ( @@ -7694,7 +9205,10 @@ id = "outpost2" }, /obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/structure/platform/ship_two{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, /area/outpost/cargo) "UE" = ( /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ @@ -7705,7 +9219,8 @@ /obj/machinery/computer/hydrogen_exchange{ dir = 8 }, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms/office) "UG" = ( /obj/structure/cable/yellow{ @@ -7720,11 +9235,11 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "UI" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/corner/opaque/white{ dir = 1 }, -/obj/effect/turf_decal/floordetail/tiled, /turf/open/floor/plasteel, /area/outpost/hallway/central) "UO" = ( @@ -7750,6 +9265,14 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"UR" = ( +/obj/machinery/light/dim/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "UT" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -7769,6 +9292,12 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) +"UV" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "UZ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -7802,21 +9331,23 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Vg" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 4 +"Vm" = ( +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ + dir = 1 }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel, +/obj/item/kirbyplants/random, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "Vp" = ( -/obj/structure/flora/grass/jungle, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "Vq" = ( /obj/structure/bed/double/maint{ dir = 4 @@ -7832,76 +9363,90 @@ /area/outpost/maintenance/central) "Vr" = ( /obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, +/turf/open/floor/plating/rust, /area/outpost/maintenance/fore) -"Vv" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +"Vt" = ( +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "Vx" = ( /obj/structure/railing{ dir = 9 }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"VG" = ( -/obj/structure/noticeboard{ - pixel_y = 26 +"Vy" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 +/turf/open/floor/plasteel/dark, +/area/outpost/security) +"VC" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"VM" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/newscaster/directional/south, +"VG" = ( /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, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"VH" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) +"VJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 5 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) "VN" = ( -/obj/structure/railing{ - dir = 1 +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/crew/bar) +"VO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 10 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/obj/machinery/camera/autoname{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"VO" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/holosign/barrier/infinite{ - max_integrity = 500 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/outpost/hallway/central) "VP" = ( /obj/structure/grille/indestructable, @@ -7911,9 +9456,9 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "VQ" = ( -/obj/effect/turf_decal/industrial/loading{ - dir = 4 - }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "VT" = ( @@ -7928,14 +9473,32 @@ "VW" = ( /obj/structure/chair/sofa/brown/directional/south, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/green, +/turf/open/floor/plasteel/grimy, /area/outpost/crew/bar) +"VZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "Wa" = ( /obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /mob/living/simple_animal/mouse/brown, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Wb" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "Wc" = ( /obj/machinery/recycler, /obj/machinery/conveyor/auto{ @@ -7952,9 +9515,10 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "Wf" = ( -/obj/machinery/light/dim/directional/north, -/turf/open/floor/ship/dirt/dark, -/area/outpost/hallway/port) +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) "Wl" = ( /obj/structure/grille/indestructable, /obj/structure/cable/yellow{ @@ -7967,42 +9531,33 @@ /obj/effect/turf_decal/steeldecal/steel_decals_central7, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Wm" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) "Wt" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/neutral, /turf/open/floor/plasteel, /area/outpost/hallway/port) -"Wv" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 +"Ww" = ( +/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/structure/cable/yellow{ - icon_state = "1-2" +/obj/effect/turf_decal/corner/opaque/white, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Wz" = ( +/obj/structure/sign/poster/random{ + pixel_x = 28 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 }, /turf/open/floor/plasteel, /area/outpost/hallway/port) -"Wz" = ( -/obj/structure/barricade/wooden/crude, -/obj/effect/spawner/structure/window/reinforced/indestructable, -/turf/open/floor/plating, -/area/outpost/maintenance/central) +"WB" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/crew/library) "WC" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/binary/volume_pump, @@ -8030,29 +9585,18 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/security) -"WM" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/neutral, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) "WO" = ( /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/outpost/maintenance/fore) "WR" = ( -/obj/structure/noticeboard{ - name = "refinery notice board"; - dir = 8; - pixel_y = 0; - pixel_x = 26 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/caution, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "WS" = ( @@ -8063,36 +9607,72 @@ /obj/structure/foamedmetal, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"WU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "WV" = ( -/obj/effect/spawner/random/vending/snack, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/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/outpost/hallway/central) "WW" = ( -/obj/effect/turf_decal/ihejirika_small, -/turf/open/floor/plating, -/area/outpost/maintenance/central) +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/item/kirbyplants/random, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "WZ" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/bottle/hooch{ + pixel_y = 8; + pixel_x = -3 }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 4 +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/projectile/bullet/dart/syringe{ + pixel_y = 12; + pixel_x = 4 }, +/turf/open/floor/plating, +/area/outpost/crew/bar) +"Xb" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/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/yellow{ + icon_state = "4-8" + }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/medical) "Xd" = ( /obj/effect/decal/cleanable/ash, /turf/open/floor/plating/asteroid, @@ -8107,45 +9687,31 @@ "Xg" = ( /obj/structure/spider/stickyweb, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, +/turf/open/floor/plating/rust, /area/outpost/maintenance/fore) "Xl" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 }, -/obj/effect/turf_decal/corner/opaque/neutral, -/obj/effect/turf_decal/floordetail/tiled, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Xm" = ( -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/central) -"Xn" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = -28 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Xm" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 9 }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, -/area/outpost/hallway/port) +/area/outpost/storage) "Xq" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -8176,19 +9742,17 @@ /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "Xy" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/disposal/bin, +/obj/machinery/newscaster/directional/west, +/obj/structure/disposalpipe/trunk{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/turf/open/floor/plasteel/dark, +/area/outpost/crew/library) "Xz" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning, @@ -8206,39 +9770,65 @@ "XA" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/five, -/turf/open/floor/plasteel/mono, +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/outpost/vacant_rooms) "XD" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 4 +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/structure/sign/poster/random{ - pixel_x = 28 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 1 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "XE" = ( -/obj/structure/flora/grass/jungle, -/turf/open/floor/grass/ship/jungle, -/area/outpost/hallway/port) +/obj/machinery/conveyor{ + id = "outpost3"; + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/hallway/central) "XF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, +/turf/open/floor/plating/rust, /area/outpost/maintenance/fore) "XI" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/purple/filled/line, -/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, /turf/open/floor/plasteel, /area/outpost/crew/janitor) +"XM" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "XP" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -8256,25 +9846,38 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "XQ" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/structure/sign/poster/official/no_erp{ + pixel_y = 30 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) +"XR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) "XS" = ( -/obj/structure/falsewall/reinforced, +/obj/structure/flippedtable{ + dir = 4 + }, +/obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, /turf/open/floor/plating, /area/outpost/maintenance/central) "XV" = ( @@ -8285,13 +9888,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plasteel/elevatorshaft, /area/outpost/security) -"XW" = ( -/obj/structure/chair/comfy/orange/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) "XZ" = ( /obj/structure/sign/painting/library{ pixel_y = -26 @@ -8304,46 +9900,71 @@ "Yd" = ( /turf/closed/indestructible/reinforced, /area/outpost/hallway/central) +"Yh" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "Yj" = ( /obj/machinery/vending/cigarette, /obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/tech/techmaint, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "Yl" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Yn" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew/bar) +/obj/effect/turf_decal/corner/opaque/white, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "Yq" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/cable/yellow{ - icon_state = "2-8" + icon_state = "4-8" }, -/obj/structure/disposalpipe/junction/yjunction{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/black/three_quarters{ - dir = 8 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 8 +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"Ys" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ - icon_state = "1-8" + icon_state = "1-4" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/turf/open/floor/plating, +/area/outpost/hallway/central) "Yt" = ( /obj/structure/railing{ dir = 4 @@ -8363,17 +9984,18 @@ /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "Yv" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/neutral, /turf/open/floor/plasteel, /area/outpost/hallway/port) "Yw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/brown/full, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, /area/outpost/cargo) "YC" = ( /obj/effect/spawner/random/trash/decal, @@ -8384,28 +10006,22 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "YD" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/machinery/light/small/directional/east, -/turf/open/floor/carpet/green, -/area/outpost/crew/bar) +/obj/item/reagent_containers/pill/floorpill, +/obj/structure/chair/sofa/brown/old/directional/east, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) "YE" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/machinery/newscaster/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 4 - }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/vacant_rooms) "YF" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -8417,56 +10033,90 @@ /obj/effect/decal/cleanable/insectguts, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"YK" = ( +/obj/item/kirbyplants/random, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) "YL" = ( /obj/structure/falsewall/reinforced, /turf/open/floor/plating, /area/outpost/maintenance/fore) "YN" = ( -/obj/structure/flora/grass/jungle, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +/obj/structure/chair/sofa/brown/old/corner/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) +"YP" = ( +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"YQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/turf/open/floor/grass/ship/jungle, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"YX" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/dim/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +"YV" = ( +/obj/machinery/camera/autoname{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"Ze" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "1-8" }, /turf/open/floor/plasteel, +/area/outpost/hallway/central) +"YX" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/outpost/hallway/port) -"Zh" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/disposalpipe/segment{ +"YY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"Ze" = ( +/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, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"Zh" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "Zk" = ( /obj/structure/disposalpipe/trunk{ @@ -8482,12 +10132,26 @@ icon_state = "4-8" }, /obj/machinery/light/directional/north, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 5 + }, /turf/open/floor/plasteel, /area/outpost/security) "Zm" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/neutral, -/turf/open/floor/plasteel, +/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/turf_decal/steeldecal/steel_decals9, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "Zo" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -8499,6 +10163,22 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Zt" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/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 + }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) "Zu" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -8520,23 +10200,41 @@ /area/outpost/storage) "Zx" = ( /obj/structure/falsewall/reinforced, -/turf/open/floor/plating, +/turf/closed/indestructible/reinforced/rust, /area/outpost/cargo/office) "ZE" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/effect/turf_decal/corner/opaque/black{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"ZF" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/security) "ZG" = ( /obj/structure/cable/yellow{ icon_state = "6-9" }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, +/turf/open/floor/plating/rust, /area/outpost/maintenance/fore) +"ZI" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "ZJ" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -8559,167 +10257,41 @@ /turf/open/floor/carpet/green, /area/outpost/crew/bar) "ZM" = ( -/turf/closed/indestructible/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, /area/outpost/crew/bar) "ZN" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/light/small/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "ZP" = ( /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "ZU" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"ZY" = ( -/obj/effect/turf_decal/corner/opaque/grey/full, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/sign/poster/random{ - pixel_y = 30 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) - -(1,1,1) = {" -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -mC -"} -(2,1,1) = {" +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"ZW" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"ZY" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) + +(1,1,1) = {" mC mC mC @@ -8842,7 +10414,7 @@ mC mC mC "} -(3,1,1) = {" +(2,1,1) = {" mC mC mC @@ -8965,7 +10537,7 @@ mC mC mC "} -(4,1,1) = {" +(3,1,1) = {" mC mC mC @@ -9088,7 +10660,7 @@ mC mC mC "} -(5,1,1) = {" +(4,1,1) = {" mC mC mC @@ -9211,7 +10783,7 @@ mC mC mC "} -(6,1,1) = {" +(5,1,1) = {" mC mC mC @@ -9334,7 +10906,7 @@ mC mC mC "} -(7,1,1) = {" +(6,1,1) = {" mC mC mC @@ -9457,7 +11029,7 @@ mC mC mC "} -(8,1,1) = {" +(7,1,1) = {" mC mC mC @@ -9580,7 +11152,7 @@ mC mC mC "} -(9,1,1) = {" +(8,1,1) = {" mC mC mC @@ -9703,7 +11275,7 @@ mC mC mC "} -(10,1,1) = {" +(9,1,1) = {" mC mC mC @@ -9826,7 +11398,7 @@ mC mC mC "} -(11,1,1) = {" +(10,1,1) = {" mC mC mC @@ -9949,7 +11521,7 @@ mC mC mC "} -(12,1,1) = {" +(11,1,1) = {" mC mC mC @@ -10072,7 +11644,7 @@ mC mC mC "} -(13,1,1) = {" +(12,1,1) = {" mC mC mC @@ -10195,7 +11767,7 @@ mC mC mC "} -(14,1,1) = {" +(13,1,1) = {" mC mC mC @@ -10318,7 +11890,7 @@ mC mC mC "} -(15,1,1) = {" +(14,1,1) = {" mC mC mC @@ -10441,7 +12013,7 @@ mC mC mC "} -(16,1,1) = {" +(15,1,1) = {" mC mC mC @@ -10564,7 +12136,7 @@ mC mC mC "} -(17,1,1) = {" +(16,1,1) = {" mC mC mC @@ -10687,7 +12259,7 @@ mC mC mC "} -(18,1,1) = {" +(17,1,1) = {" mC mC mC @@ -10810,7 +12382,7 @@ mC mC mC "} -(19,1,1) = {" +(18,1,1) = {" mC mC mC @@ -10933,7 +12505,7 @@ mC mC mC "} -(20,1,1) = {" +(19,1,1) = {" mC mC mC @@ -11056,7 +12628,7 @@ mC mC mC "} -(21,1,1) = {" +(20,1,1) = {" mC mC mC @@ -11179,7 +12751,7 @@ mC mC mC "} -(22,1,1) = {" +(21,1,1) = {" mC mC mC @@ -11302,7 +12874,7 @@ mC mC mC "} -(23,1,1) = {" +(22,1,1) = {" mC mC mC @@ -11425,7 +12997,7 @@ mC mC mC "} -(24,1,1) = {" +(23,1,1) = {" mC mC mC @@ -11548,7 +13120,7 @@ mC mC mC "} -(25,1,1) = {" +(24,1,1) = {" mC mC mC @@ -11671,9 +13243,7 @@ mC mC mC "} -(26,1,1) = {" -mC -mC +(25,1,1) = {" mC mC mC @@ -11726,6 +13296,10 @@ mC mC mC mC +NH +NH +NH +NH mC mC mC @@ -11791,10 +13365,10 @@ mC mC mC mC +"} +(26,1,1) = {" mC mC -"} -(27,1,1) = {" mC mC mC @@ -11840,17 +13414,15 @@ mC mC mC mC +HD mC mC mC mC mC mC +rt mC -NH -NH -NH -NH mC mC mC @@ -11917,14 +13489,7 @@ mC mC mC "} -(28,1,1) = {" -mC -mC -mC -mC -mC -mC -mC +(27,1,1) = {" mC mC mC @@ -11966,7 +13531,14 @@ mC mC mC mC +HD +HD +HD +HD mC +HD +HD +HD mC mC mC @@ -12040,9 +13612,7 @@ mC mC mC "} -(29,1,1) = {" -mC -mC +(28,1,1) = {" mC mC mC @@ -12083,20 +13653,22 @@ mC mC mC mC +HD mC HD HD +HD +HD +HD +HD +HD +HD +HD +HD mC -mC -mC -mC -mC -mC -mC -mC -mC +HD rt -mC +HD mC mC mC @@ -12163,7 +13735,7 @@ mC mC mC "} -(30,1,1) = {" +(29,1,1) = {" mC mC mC @@ -12204,22 +13776,22 @@ HD HD HD mC -mC -mC -mC HD HD HD -mC -mC -mC -mC HD HD -mC -mC -rt -mC +HD +HD +HD +HD +HD +HD +HD +HD +HD +em +HD mC mC mC @@ -12286,7 +13858,7 @@ mC mC mC "} -(31,1,1) = {" +(30,1,1) = {" mC mC mC @@ -12328,22 +13900,22 @@ HD HD HD mC -mC -mC -mC HD HD HD HD -mC HD HD HD -mC -mC -rt -mC -mC +HD +HD +WZ +zI +HD +HD +HD +HD +HD mC mC mC @@ -12409,7 +13981,7 @@ mC mC mC "} -(32,1,1) = {" +(31,1,1) = {" mC mC mC @@ -12452,28 +14024,28 @@ HD HD HD HD -mC -mC -mC -HD -HD HD HD HD HD HD HD +ZM +wv +wv +wv +wv +wv HD -em HD Cc -je -je -je -je +Ay +Ay +Ay +Ay Cc HD -em +Cc mC mC mC @@ -12532,7 +14104,7 @@ mC mC mC "} -(33,1,1) = {" +(32,1,1) = {" mC mC mC @@ -12577,26 +14149,26 @@ HD HD HD HD -mC -HD -HD -HD HD -ZM -ZM -ZM -ZM HD HD HD ZM -oa -XW -XW -lw -ZM +Cc +Cc +Cc +Cc ZM ZM +wv +Cc +lJ +je +je +ZY +Cc +Cc +Cc HD mC mC @@ -12655,7 +14227,7 @@ mC mC mC "} -(34,1,1) = {" +(33,1,1) = {" mC mC mC @@ -12703,23 +14275,23 @@ HD HD HD HD -HD -HD -ZM -ib -sj -ZM -ZM -HD -HD +NK +YL +Cc +yh +Ss +Cc +Cc ZM -GE +wv +VN +oa tw BX -Hh +lw qg Or -ZM +Cc HD HD mC @@ -12778,7 +14350,7 @@ mC mC mC "} -(35,1,1) = {" +(34,1,1) = {" mC mC mC @@ -12826,25 +14398,25 @@ HD HD HD HD -HD +NK yq -OK -FD -HJ -Rf -ZM -ZM -ZM -ZM -EV +Ch +ib +sj +Rf +Cc +Cc +Cc +Cc +GE GY GW -Hh +lw rs Oh +VN ZM HD -HD em rt rt @@ -12901,7 +14473,7 @@ mC mC mC "} -(36,1,1) = {" +(35,1,1) = {" mC mC mC @@ -12949,26 +14521,26 @@ HD HD HD HD -HD -Jq -ZM -ZM +NK +hj +za +za gE Fs -ZM +Cc nn LE -ZM -iq -Yn -BR -ir +Cc +EV +bL +ug +Hh PD ur +Cc ZM HD HD -HD mC mC mC @@ -13024,7 +14596,7 @@ mC mC mC "} -(37,1,1) = {" +(36,1,1) = {" mC mC mC @@ -13074,25 +14646,25 @@ mP Zs Iu NN -lM -ZM -ZM +ir +za +za HX -ZM +Cc Xe wA -ZM -ZM +Cc +Cc Ra -ZM -ZM -ZM -ZM -ZM +Cc +Cc +Cc +Cc +Cc +wv +HD HD HD -mC -mC mC mC NH @@ -13147,7 +14719,7 @@ mC mC mC "} -(38,1,1) = {" +(37,1,1) = {" mC mC mC @@ -13180,7 +14752,7 @@ HD HD HD Cm -zR +eE Xd Gm SL @@ -13196,22 +14768,23 @@ NK NK NK cS -EP +gZ VT -ZM +Cc JA zO uf RA -AT +sl OI SM no th +Cc +uL +Cc ZM -KK -ZM -HD +Ix HD HD mC @@ -13268,9 +14841,8 @@ mC mC mC mC -mC "} -(39,1,1) = {" +(38,1,1) = {" mC mC mC @@ -13321,7 +14893,7 @@ NK MK dR Ng -ZM +Cc ZK Li ED @@ -13332,11 +14904,11 @@ GX tu zq xW -Qk -ZM -ZM -ZM -ZM +KK +Cc +VN +Cc +Cc Cc mC mC @@ -13393,7 +14965,7 @@ mC mC mC "} -(40,1,1) = {" +(39,1,1) = {" mC mC mC @@ -13434,7 +15006,7 @@ hq HD NK rQ -kd +wV Fl Ab bV @@ -13444,7 +15016,7 @@ NK NU ue AP -ZM +Cc wT Li cO @@ -13454,13 +15026,13 @@ mJ hZ PO UO -ZM -ZM -ZM -PV -yh -JM -je +Cc +Cc +Cc +zC +Jq +sk +Ay mC mC mC @@ -13516,7 +15088,7 @@ mC mC mC "} -(41,1,1) = {" +(40,1,1) = {" mC mC mC @@ -13577,13 +15149,13 @@ Iz un ii bz -ZM +Cc sb -iY -Li +CK +PV VW -Bu -je +JM +Ay mC mC mC @@ -13639,7 +15211,7 @@ mC mC mC "} -(42,1,1) = {" +(41,1,1) = {" mC mC mC @@ -13678,7 +15250,7 @@ HD HD hq HD -NK +Ro YF NK NK @@ -13691,22 +15263,145 @@ ZJ PT hD Cc -Cg -Li -nR -jR -yE -TD -ee -dw -sF -jI -Wd +Cg +Li +nR +jR +yE +TD +ee +dw +sF +jI +Wd +CK +PV +VW +Bu +Ay +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +"} +(42,1,1) = {" +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +mC +HD +HD +HD +HD +hq +hq +hq +hq +HD +HD +Ro +YL +NK +NK +ow +DW +NK +Rs +LH +bn +Ro +bS +eU +VP +NQ +Cc +MD +jj +Bf +dn +fP +mb +IE +hS +PO +Cc +Oy iY -Li -VW +GK +rN HF -je +Ay mC mC mC @@ -13792,46 +15487,46 @@ HD HD HD HD -hq +HD hq hq hq HD -HD -NK -YL -NK +Ro +Ro +BR +ho NK -ow -DW +eD +Mq NK -Rs -LH -bn +fw +ZG +Xg +Ro +Ro +Ak NK -bS -eU -VP -NQ +Ro +za +za +za Cc -MD -jj -Bf -dn -fP -mb -IE -hS -PO -ZM -Oy -au -FB -YD -qv -je -mC -mC +Cc +Cc +Hi +Cc +Cc +Cc +Cc +Cc +za +za +za +Cc +Cc +HD +HD mC mC mC @@ -13919,43 +15614,43 @@ HD hq hq hq -HD -NK -NK +Ro +Ro +Ui gC -wq -NK -eD -Mq -NK -fw -ZG -Xg +ho NK +zY +rW NK -Ak +qb +Qv +tG +aE +gA +cR +zR NK NK -Cc -ZM -ZM -ZM -ZM -ZM +Tp +TL +TY +py +yf Ut -ZM -ZM -ZM -ZM -ZM -ZM -Cc -Cc -Cc -Cc -mC -mC -mC +lO +Ja +As +jD +rV +py +Sb +be +Ys +em +HD +HD +HD mC mC mC @@ -14038,44 +15733,44 @@ HD HD HD HD -HD +NK NK YL +Ro +Ro +Ro +RO +IN +ip NK +IM NK NK -Ui -IN -mf +Pt +ZE NK -zY -Qg NK -qb -Qv -tG -aE -gA -cR +NK +sG TG -rW NK -Uf -yB -Ji -AU -UI -WZ -lh -pm -pm -pm -ga -ga +au +CM +ei +wZ +VC +OF +pL +VZ +fM +Hc +Hc +vq rZ -ZN -Yd -HD +rZ +AS +RD +em HD HD HD @@ -14157,7 +15852,6 @@ mC mC mC mC -mC HD HD HD @@ -14168,14 +15862,14 @@ LR LR NK NK -QZ +NK kE NK NK YF hz -nL -oN +Xl +kR xu NK Ef @@ -14183,25 +15877,27 @@ TZ If at lq -Wm -tA +aX +dS +cL vB -rj -rj -xM -XQ -Hi -BJ -AN -Hi -BJ +oh +iK +Ww +Pc +Pc +Pc +li +Nn +Bh zL -sk -Yd -aI -aI +Hs +Tx +WB aI aI +WB +em HD HD mC @@ -14212,7 +15908,6 @@ mC mC mC mC -mC HD HD mC @@ -14280,7 +15975,6 @@ mC mC mC mC -mC HD HD HD @@ -14301,30 +15995,32 @@ UG NK NK NK +Tw +Tw +Tw Kx Kx Kx -Kx -Kx -Kx -OG -Cn +YY +kL +aQ +Yd +Yd Yd -dU -xZ -qD -qD Po -MO -BE +Po +Po Yd -tZ -ry Yd +Yd +zv +Hs +Jt +WB uv wa tr -aI +em HD HD HD @@ -14334,7 +16030,6 @@ mC mC mC mC -mC HD HD HD @@ -14404,7 +16099,6 @@ mC mC mC mC -mC HD HD HD @@ -14415,48 +16109,49 @@ xm NK NK NK -NK +Ro Yl Hv FS -NK +Ro ZU -Sd +te oU Hv -Kx +Tw jg DH Qx Hk -Kx -JE +Tw +CB +cL AO +Ks Yd +ks +ks +ks +ks +GL Yd -fI -fI -fI -fI -fI -Yd -Yd +oN GT -Cl -Yd +Hs +YY +WB JW km Td +WB +WB aI aI -aI -em mC mC mC HD HD -mC HD HD HD @@ -14527,7 +16222,6 @@ mC mC mC mC -mC HD HD HD @@ -14538,36 +16232,38 @@ uE NK EX tS +Ro +Ro +Ro NK -NK -NK -NK -NK -ip -xu +Ro +hP +MW Rg Kx -Kx +Tw +Xm +Ml Ml aw -aw -zr -Kx -Ch -VM -Yd -rr -lA -wF +Tw +mx +cL +tl ai -hO -uD -cs Yd -ZY -FH +ks +ks +ks +ks +ks Yd -aI +YK +TE +Hs +bh +WB +WB AM sB iw @@ -14576,8 +16272,7 @@ Zu aI Fq Fq -aI -HD +em HD HD HD @@ -14650,7 +16345,6 @@ mC mC mC mC -mC HD HD HD @@ -14671,26 +16365,28 @@ fq WS LU RU -Nv +jM ta JV -um +AT Kx -Ss +jf +cL tl pC -YN -uD -hO -to -ai -uD -uD Yd -xo -xJ -uX -aI +ks +ks +ks +ks +ks +Yd +fs +TE +dj +Ft +Xy +WB Ne pt et @@ -14699,8 +16395,7 @@ UU aI pG ky -aI -HD +em HD HD HD @@ -14774,46 +16469,47 @@ mC mC mC mC -mC HD HD HD -NK +Ro it JF NK Rg NK -NK -NK Ro -za +Ro +Ro +PS NK NK NK WS Kx cm +FH Is Rr wX -fi oK -AS -we -Yd -Tb -uD -uD -ai +wF +Vp +tl ai -Xm -lA Yd +ks +ks +ks +ks +ks +Yd +ai TE -Zh +Hs WV -aI +nL +WB lk rg jU @@ -14822,8 +16518,7 @@ nT aI HL Sr -aI -HD +HC HD HD HD @@ -14897,11 +16592,10 @@ mC mC mC mC -mC HD HD HD -NK +Ro aB KI PF @@ -14909,33 +16603,35 @@ TT NK mU Gn -NK +Ro Rg Hv hk -NK +Ro Rg Kx Kx +zr pl pj RJ -Tx Kx -on +Oi +iL LX +jd Yd +ks +ks +ks +ks +ks Yd -fI -fI -fI -fI -fI -Yd -Yd +to uW Zh -gz +hI +KW aI fk SG @@ -14945,8 +16641,7 @@ sV LP ar XZ -aI -HD +HC HD HD mC @@ -15020,7 +16715,6 @@ mC mC mC mC -mC HD HD HD @@ -15045,34 +16739,35 @@ Zv LB LB Kx -tt -Ph +dM +BP +UV Yd -dO -oT -Ts -Ts -Ts -bq -rG +fj +fj +HO +HO +HO Yd -rK -kQ Yd -aI -sO -aI -aI -aI +Yd +MZ +wI +oM aI aI +sO aI aI +WB +WB +WB aI +WB +em +HD HD HD -mC -mC mC mC mC @@ -15143,7 +16838,6 @@ mC mC mC mC -mC HD HD HD @@ -15162,36 +16856,39 @@ kM NK wq LH -Kx +Tw mm Ic ua iH Kx -KY +Vm +iL cl -LD -LD -rj -aU -cc -YE -uN -LD -GK -mp -yk -vr -sz -GU +jJ +WU +sw +Ej +OS +OS +sq +kl +zG +IL +Rn +mZ +qM +oZ VO -NT -Nc -HD -HD -HD -HD -HD +sS +UR +ZW +il +sS +jC +EI +pm +lh HD HD mC @@ -15235,8 +16932,6 @@ mC mC mC mC -mC -mC "} (55,1,1) = {" mC @@ -15265,7 +16960,6 @@ mC mC mC mC -mC HD HD HD @@ -15279,42 +16973,45 @@ NK ds ci NK -PS -NK -NK -NK +Py +Ro +Ro +Ro NK NK Kx +Tw +Tw Kx Kx -Kx -Kx -Kx -or -WM -Df -Kh -OM -ZE -ei -Rv +Tw +Kv +jE +Wb +Wb +Hz +Wb +Wb +YQ yR -Vg -nK -qT -Ua +yR +qk +yR +PW +HQ HR -FQ +yX cg -HQ -NT -Nc -HD -HD -HD -HD -HD +Yh +Gr +Vt +Vt +wr +CN +Tk +OG +OG +lh HD HD HD @@ -15358,8 +17055,6 @@ mC mC mC mC -mC -mC "} (56,1,1) = {" mC @@ -15388,7 +17083,6 @@ mC mC mC mC -mC HD HD HD @@ -15410,36 +17104,38 @@ EP Mw NK Yl -NK +Yd +JE bc -IY -vV +fj +fj tC -LL -LL -LL -LL -jL -HG -Bj -Yd -cq -cq -AI -cq -cq -cq -KF -gq -gq -gq -HD -HD -HD -HD -HD -HD -HD +fY +jb +Dg +yY +yY +EB +Eq +py +jz +py +yZ +hd +gu +Rw +XM +YV +wp +YP +Nf +Op +ad +AB +ly +ly +gz +lh HD HD mC @@ -15482,7 +17178,6 @@ mC mC mC mC -mC "} (57,1,1) = {" mC @@ -15510,7 +17205,6 @@ mC mC mC mC -mC HD HD HD @@ -15530,39 +17224,40 @@ NK nb Vr XF -rC -NK -Au -NK -GM -CU -LL -LL -LL -XE -XE -Ez -SC -uL -Xl -wN +rC +NK +Au +fj +Yd +hW +Yd +fj +TA +Yd +fj +fj +Yd +jL +HG +Zt +Yd cq -yc -bs cq -dl +AI cq -Ix -Ai -CK +cq +OT +KF gq gq -HD -HD -HD -HD -HD -HD +gq +rv +LK +LK +Nv +LK +LK +rv HD HD HD @@ -15632,7 +17327,6 @@ mC mC mC mC -mC HD HD HD @@ -15652,40 +17346,41 @@ cI NK xK NK -LH -LH +ve +ve LH YI -NK +fj +ZN od Si -LL -XE -Oa -XE -Om -Ez -kR -vX -ug -Yj +FQ +Pi +sL +fj +xU +TE +Nc +Bp +Tq +wN cq -zS -kA -zI -Ls +yc +bs cq +dl +OT XI la Rt -QA gq -HD -HD -HD -HD -HD -HD +gq +Cr +is +Xb +Ko +Df +rv HD HD HD @@ -15755,7 +17450,6 @@ mC mC mC mC -mC HD HD HD @@ -15779,36 +17473,37 @@ NK LH NK nZ -NK +fj +Yd tH -sG -LL +Yd +XQ vR -SE -XE -XE -Ez +Oa +Yd +yk +Ba Eo -jH +ZI Ci -Yd -cq -cq -cq -sP -Mu -DV +Yj +OT +zS +OM +Ca +Ls +OT EG Eg dD Gu gq -HD -HD -HD -HD -HD -HD +SV +vK +ty +VH +WW +Ck HD HD HD @@ -15877,7 +17572,6 @@ mC mC mC mC -mC HD HD HD @@ -15891,7 +17585,7 @@ hq qp NK NK -NK +YL NK NK Hv @@ -15900,38 +17594,39 @@ NF WO NK NK -Th -Th -Th -Th -Zx -Th -CL -XE -LK +NK +NK +fj +nc +rm +Yd +AL +FN +bq +Yd SE -LL +TE zv -mA -Qn -zg -ks -ks -GL -cq -IU -cq -cq -cq -cq +VG +QF +OT +OT cq cq -IW -HD -HD -HD -HD -HD +sP +Mu +DV +xZ +fd +Wf +Fn +gq +um +Tg +uD +ti +Aj +Ck HD HD HD @@ -15999,7 +17694,6 @@ mC mC mC mC -mC HD HD HD @@ -16024,37 +17718,38 @@ Vf Gb sf Th -gP -qH -Fv -rU Th -XE -gb -nU -EC -LL +Th +gn +Zx +Th +Ai +Yd +Yd +Yd +Yd +Yd +bt VG -Bp -fE -zg -ks -ks -ks +QT +OT +sc +mo +aq cq -KW -Ks -zS +IU cq -iQ -jx -vT -IW -HD -HD -HD -HD -HD +cq +cq +cq +cq +OT +OT +nK +Kl +fI +rv +Ck HD HD HD @@ -16121,7 +17816,6 @@ mC mC mC mC -mC HD HD HD @@ -16147,37 +17841,39 @@ Px MM Md Th -QR -MB -KV -Th +gP +qH +Fv +rU Th -XE +Jo +Yd CL XE -XE -LL +cG +Yd ms -Bp -QT -zg -ks -ks -ks +VG +ov +DO +OK +sW +jT cq -Mt -Us -So +GU +Bj +zS cq -RV -dK -uV -IW -HD -HD -HD -HD -HD +iQ +jx +vT +cq +rv +rv +rv +rv +hq +qp HD HD HD @@ -16220,7 +17916,6 @@ mC mC mC mC -mC "} (63,1,1) = {" mC @@ -16244,7 +17939,6 @@ mC mC mC mC -mC HD HD mC @@ -16257,9 +17951,9 @@ HD HD HD HD -HD -HD -hq +PI +PI +BJ Uw Uw Uw @@ -16270,40 +17964,41 @@ Uw Uw KZ Th -uQ +QR MB -Xr +KV Th -SE -SE -XE -SE -CL +Th +CI +Yd +JX +ls +po Ez -It -wn +VJ +su Jr cq +ga +sW +QS cq +Mt +Us +So cq -cq -cq -ER -XP -cq -cq -Ao -Vq -IW +RV +dK +uV IW +Ha +hq +hq +hq +Ha +hq HD HD -HD -mC -mC -HD -HD -mC mC mC mC @@ -16376,13 +18071,12 @@ mC mC mC mC -mC -HD -HD -HD HD HD HD +PI +cA +Dp Uw DP dg @@ -16392,35 +18086,39 @@ Yt vI Xv QL -cV -GS -nd -ie Th -Wf -jM +uQ +MB +Xr +Th +FF +ph +Yd JX nU -JX -Ez +XR +Yd AU -ls +VG uy cq -gR -sn -lB -om -sR -Rh -gR cq -DV -IW -IW +OT +OT cq +ER +XP cq cq +Ao +Vq +cq +IW +hq +hq +qp +hq +hq HD HD mC @@ -16464,9 +18162,6 @@ mC mC mC mC -mC -mC -mC "} (65,1,1) = {" mC @@ -16500,54 +18195,54 @@ mC mC mC mC -mC -HD -HD HD HD HD +It +eX Uw kT -zo +cc UC UC UC -rN +tA oS hb -cV -rR -Ni -JU +GQ +GS +nd +ie Th -ph -SE -SV -ic -Vp -Ez +LY +or +Yd +JX +nU +MP +Yd UI Sk zb cq +gR sn -wR -OY -hs -FY -XP -Mt +lB +om +sR +Rh +gR cq -tU -hj -cK +DV +cq +TU TU OC -cq -HD -HD -mC -mC +TU +TU +TU +TU +TU mC mC mC @@ -16621,56 +18316,56 @@ mC mC mC mC -mC -HD -HD HD HD HD HD HD +Dp +Dp Uw FI -zC +qW Tr tT tT jK qq md -cV -cV -Th -ag +GQ +rR +Ni +JU Th -LL -LL -LL -GB -LL -LL -sH -iI -OH -cq -FF -cq -cq -cq -cq -Ct -cq -cq +MO +rK +Yd +qN +rr +od +Yd +wS +Bp +MI +OT +sn +wR +OY +hs +FY +XP +Mt +OT sm -tv -cq +rb +lM IH kx -cq -HD -HD -HD -mC +lA +Bt +BZ +PE +TU mC mC mC @@ -16747,53 +18442,53 @@ mC mC mC HD -HD -HD -HD -HD -HD +CP +xM +bN +Dp Uw fR -zC +qW KS +cK +uz uz -UB -Yw Yw UT -TM -vZ -uj -Ip -IM -bL -CI -xr -uA GQ GQ -eq -TA -He -cq -WW -cq -lX -YC -cq -Sn -nM +Th +ag +Th +Yd +Yd +Yd +Yd +fj +fj +fj +sH +iI +OH +OT +sn cq +OT +OT +OT +Ct +OT +OT XS -cq -cq -cq -cq -cq -HD -HD -HD -mC +tv +TU +tZ +cV +Ua +we +PE +PE +TU mC mC mC @@ -16870,54 +18565,54 @@ mC mC HD HD -HD -HD -HD -HD -HD +qh +EZ +aR +zg Uw jo -zC +qW KS +KY +eG eG -sl -xf xf -Vv -op -cG -Xz -wC +nq +TM +vZ +uj +tU +mq dW hJ QY EH -gr -QY -QY -AL -Lu +br +mq +ID +eg +nt hA +OT +sn cq -jd +lX +YC cq -lx -Mt +Sn +nM cq -FN -rD -Mm xy -np -sn cq +TU +TU +qT +we +TU +TU +TU +TU HD -HD -HD -HD -HD -mC -mC mC mC mC @@ -16993,48 +18688,50 @@ mC mC HD HD -HD -HD -HD -HD -HD +fE +jS +de +zg Uw Ms -oS +yB cr yS +on tN VQ CV -wv +op WR -gW -uj +Xz +fi qA Zm yV rM -nc +Ze IB -uU -Zm -Qc +rM +rM +Ze HZ YX cq -sn -ER -zS +Rv +cq +lx Mt cq -bJ -jC -tm -wi +vV +rD +Mm +zo np -hY -cq -HD +sn +TU +Tb +Qk +TU HD HD HD @@ -17080,8 +18777,6 @@ mC mC mC mC -mC -mC "} (70,1,1) = {" mC @@ -17117,49 +18812,49 @@ mC mC HD HD -HD -HD -HD -HD +aU +bI +zg Uw Yu Dm +Dm eQ mN dZ -oS -gZ -Uw -Uw -Uw -LL -Uq -Aw -LL -lG -lG -lG -lG -lG -BM -Ky -yj -wK -wK -wK -wK -Rb -cq -cq -Kz -cq -cq -cq -cq +GM +DZ +gf +CU +uj +kA +sr +sr +EC +Kh +He +tm +Wz +cB +eg +nt +hA cq -HD -HD -HD +sn +ER +zS +Mt +OT +bJ +Qg +mp +wi +np +hY +TU +Qk +Qk +TU HD HD mC @@ -17240,48 +18935,49 @@ mC mC mC HD -HD -HD -HD -HD +vX +Lm +yU Uw +Lu uw -qN -UB +js UB +qv gT FE -VN Uw -HD -HD -LL +oT +NI LL LL +Uq +Aw LL lG -wY -Tg -Pt -PA -rm -Kl -hW -iV -Gi -WC -Fx -Zk +mg +mg +lG +lG +BM +Ky +yj wK -KJ -pA -Mt -Mt -tk -Ap +wK +MU +MU +Rb +OT cq -HD -HD +Kz +OT +OT +cq +cq +TU +TU +TU +TU HD HD mC @@ -17327,7 +19023,6 @@ mC mC mC mC -mC "} (72,1,1) = {" mC @@ -17364,49 +19059,49 @@ mC mC HD HD -HD -HD -HD +pM +yU Uw -PI +cs +hM js -UB -yv -Sl -gO -aq -Uw -HD -HD -HD -HD -HD -HD -lG +EK +yv +gT +gO +Uw +QA +LL +LL +LL +LL +LL +LL +mg xI kh MQ PA -Qa -LY +GO +nt wu iV -ZP -tj -pF -Fa +Gi +WC +Fx +Zk wK -Kd -KC -IJ -jn -yQ -bC +KJ +pA +Mt +Mt +tk +Ap cq HD HD HD -mC +HD mC mC mC @@ -17483,53 +19178,53 @@ mC mC mC mC -mC -mC -mC -HD HD +mC HD HD +pM +pM Uw -NI -CV -Yw +wY +hM +EK +EK Di -uk +gT gO -rP Uw -HD -HD -HD -HD -HD -HD -lG +CX +ou +LL +Pl +PI +rB +dc +mg aM PQ nz -ww -Wv -qR -lJ +PA +wC +nt +wu iV -Pw -AW -UE -UZ +ZP +tj +pF +Fa wK -RW -Iv -Ke -mT -Um -va +Kd +KC +IJ +jn +yQ +bC cq HD HD HD -HD +mC mC mC mC @@ -17603,51 +19298,51 @@ mC mC mC mC -mC -mC -mC -mC -mC -mC -mC +rG +rG +em HD HD HD +PI +yU +yU Uw -Oi -Dp -tI +HJ +uw +EK tI -RO +dO +gT rk -bi Uw -HD -HD -HD -HD -HD -HD -lG +CX +hf +LL +Ip +RL +pB +pB +mg HB IS vd -lG +ww LS DF Lg -wK iV -iV -wK -Ht +Pw +AW +UE +UZ wK -DL -sn -aZ -Pm -sn -tk +RW +Iv +Ke +mT +Um +va cq HD HD @@ -17726,51 +19421,51 @@ mC mC mC mC -mC -mC -mC -mC -mC -mC -mC -mC -HD +rG +uX +xr +YD +YN HD +PI +mG +zg Uw -OO -oS -ca -ca +cs +hM +js +hM ca -fd -BZ Uw -HD -HD -HD -HD -HD -wL -wL -wL -wL -wL -wL +Uw +Uw +Jh +RR +KG +Ts +RL +wP +EW +lG +ic +kQ +QZ +lG go nt jO -gf -GQ -GQ -Ko -Xn -cq -cq -Wz -Wz -Wz -Wz -cq +wK +Fh +iV +wK +Ht +wK +DL +sn +aZ +Pm +sn +tk cq HD HD @@ -17848,54 +19543,53 @@ mC mC mC mC -mC -mC -mC -mC -mC -HD -HD -HD -HD -HD -HD +rG +rG +FM +ed +bv +Qi +vr +PI +PI +zg Uw +cs hM -CX -CX -Ca -aP -CX -aX +js +hM +ca Uw -HD -HD -HD +iN +Fu +wO +CS +PI +PI +wL +bi +EW +EW +wL wL wL wL -rv -rb -Bt -Xy -Jp Sq Yq Rc OP -QY -EH +RS +RS Nu PG -ey -Jo +cq +cq DA DA DA DA -fN -RG -HD +cq +cq HD HD HD @@ -17943,6 +19637,7 @@ mC mC mC mC +mC "} (77,1,1) = {" mC @@ -17971,50 +19666,50 @@ mC mC mC mC -mC -mC -mC -mC -HD -HD -HD -HD -HD -HD -HD -Uw -Uw -Uw +rG +RT +vS +fT +oY +hX +kV +qe +PI +qD Uw Uw Uw +Ph Uw Uw Uw -HD -HD -HD +EU +kK +kN +ll +CF +ab wL dP bA -fG -yN -XA +fN +YE +SC di -wL +Jp Fi vp kb XD -pr +Ze Ze aS pn -mB +ey RY Wt -Ay -iG +Wt +Wt Wt Yv RG @@ -18094,54 +19789,53 @@ mC mC mC mC -mC -mC -mC -mC -mC -HD -HD -HD -HD -HD -HD -HD -HD -HD -HD -HD -HD -HD -HD -HD -HD -HD -mC -nq +rG +RT +ex +Hp +qR +qR +qR +DD +qD +yU +eY +yU +yU +eY +zp +zg +qD +Hn +yU +yU +bP +Kb +oL +wL Cp NV fG -mv -SW +yN +XA xk wL -pS -Am -Lh -Lh -Lh -Lh -fh -Lh -Lh -Lh -Lh -Lh -Lh -Lh -Lh -Lh -HD +uk +yL +AN +eq +uU +Yn +aP +Qn +mB +RY +Cn +Sl +Wt +Cn +Yv +RG HD HD HD @@ -18189,6 +19883,7 @@ mC mC mC mC +mC "} (79,1,1) = {" mC @@ -18217,52 +19912,52 @@ mC mC mC mC -mC -mC -mC -mC -mC -mC -mC -HD -HD -HD -HD -HD -HD -HD -HD -HD -HD -HD -HD +rG +mA +hw +tz +oy +Jx HD HD +em HD -mC -nq +Dp +iG +iG +xN +eY +zg +PI +FB +OO +OO +qs +vz +oL +wL pg pg fG -rp -gt +mv +SW ev wL +pS +Am +pO +Lh +Lh +Lh +fh +Lh +Lh +Lh Lh Lh Lh -Le -uI -Bc -mW -xc Lh -BO -Ia Lh -zD -Ff -By Lh HD HD @@ -18340,51 +20035,51 @@ mC mC mC mC -mC -mC -mC -mC -mC -mC -mC -HD -HD +rG +rG +rG +OZ +GC HD HD HD HD HD HD -em HD HD HD +em HD -mC -mC -mC -nq -nq +PI +Cl +gc +Ac +ol +PI +qJ wL -MI -eE -hX +wL +wL +fG +rp +gt lb wL -lY -uJ -Lh -Zl -fZ -Gv -SS -bW +pO +pO +pO +Le +uI +Bc +mW +xc Lh -LJ -Mk +BO +Ia Lh -cu -xc +zD +Ff By Lh HD @@ -18392,7 +20087,7 @@ HD HD HD HD -mC +HD mC mC mC @@ -18465,52 +20160,52 @@ mC mC mC mC -mC -mC -mC -mC -mC +rG +rG +rG +em HD HD -mC HD mC +HD mC mC mC rt mC -mC -mC -mC -mC -NH -mC -mC -mC -wL -Et -bY -wL +PI +fS +pr +uN +Gt +PI +PI +PI +HD wL +rP +uA +sz +tt wL -Bd -Me -PY -wW +lY +uJ +Lh +Zl fZ -No +Gv SS -cX -WJ -cX -cX -oW -Qr -xc +bW +Lh +LJ +Mk Lh +cu +Vy +By Lh -em +HD HD HD HD @@ -18591,10 +20286,9 @@ mC mC mC mC -mC HD HD -mC +HD mC mC mC @@ -18603,38 +20297,38 @@ NH NH NH NH -NH -mC -mC -mC -NH -mC -mC +PI +PI +Ul +mf +Gt +PI +HD +HD HD wL +Et +bY wL wL wL -HD -wL -DI -XV -Lh -gg -Do -RM -Do -Do -Lh -dL -wE +Bd +ZF +PY +wW +fZ +No +SS +cX +WJ +qw +qw +oW +Qr +bb Lh -oQ -ob -qW -Bo Lh -HD +em HD HD HD @@ -18681,6 +20375,7 @@ mC mC mC mC +mC "} (83,1,1) = {" mC @@ -18713,7 +20408,7 @@ mC mC mC mC -mC +HD HD HD mC @@ -18726,40 +20421,40 @@ mC mC mC mC -mC -mC -mC -mC -NH -rt -em -HD -HD +PI +PI +PI +PI +PI HD HD HD +wL +wL +wL +wL HD wL +DI +XV Lh +gg +Do +RM +Do +qC +pO +dL +wE Lh -Lh -Lh -qW -qW -qW -Lh -Lh -Lh -Lh -Lh -IT +oQ ob -qW -Me -qW -mC -mC -mC +lt +Bo +Lh +HD +HD +HD HD HD mC @@ -18853,7 +20548,6 @@ mC mC mC mC -NH mC HD HD @@ -18863,24 +20557,24 @@ HD HD HD HD -HD -HD -HD -HD -mC -mC -mC -HD -HD -HD -HD +wL +Lh +Lh +Lh Lh -SO -Te lt -Nd -qW -mC +lt +lt +pO +pO +pO +Lh +Lh +IT +ob +lt +Me +lt mC mC mC @@ -18927,6 +20621,7 @@ mC mC mC mC +mC "} (85,1,1) = {" mC @@ -18989,21 +20684,21 @@ HD HD HD HD -mC -mC +HD mC mC mC HD HD HD -Lh -Fn -qW -Lh -Lh -Lh HD +Lh +SO +Te +xJ +Nd +lt +mC mC mC mC @@ -19095,7 +20790,7 @@ mC mC mC mC -mC +NH mC mC mC @@ -19121,16 +20816,16 @@ HD HD HD Lh -gU -Gl +ry +lt +Lh +Lh Lh -HD -HD HD mC mC mC -mC +HD HD mC mC @@ -19218,7 +20913,7 @@ mC mC mC mC -mC +NH mC mC HD @@ -19227,8 +20922,6 @@ HD HD HD mC -mC -mC HD HD HD @@ -19236,6 +20929,8 @@ HD HD HD HD +HD +mC mC mC mC @@ -19244,17 +20939,17 @@ HD HD HD Lh -qW -qW +gU +Gl Lh HD HD HD -HD mC mC mC mC +HD mC mC mC @@ -19341,9 +21036,9 @@ mC mC mC mC -mC -mC -HD +NH +rt +em HD HD HD @@ -19352,8 +21047,8 @@ HD mC mC mC -mC -mC +HD +HD HD HD HD @@ -19366,10 +21061,10 @@ mC HD HD HD -mC -mC -mC -HD +Lh +lt +lt +Lh HD HD HD @@ -19464,7 +21159,7 @@ mC mC mC mC -mC +NH mC mC mC @@ -19476,7 +21171,7 @@ mC mC mC mC -HD +mC HD HD HD @@ -19485,14 +21180,14 @@ HD mC mC mC -HD +mC HD HD HD mC mC mC -mC +HD HD HD HD @@ -19598,28 +21293,28 @@ mC mC mC mC +mC HD HD HD HD HD HD -HD -HD -mC mC mC mC HD HD HD +HD mC mC mC mC -mC -mC -mC +HD +HD +HD +HD mC mC mC @@ -19726,10 +21421,9 @@ HD HD HD HD -mC -mC -mC -mC +HD +HD +HD mC mC mC @@ -19788,6 +21482,7 @@ mC mC mC mC +mC "} (92,1,1) = {" mC @@ -19848,6 +21543,7 @@ HD HD HD HD +HD mC mC mC @@ -19856,8 +21552,7 @@ mC mC mC mC -mC -mC +HD HD HD mC @@ -19981,8 +21676,8 @@ mC mC mC mC -mC -mC +HD +HD mC mC mC @@ -20093,7 +21788,7 @@ mC HD HD HD -mC +HD mC mC mC @@ -20212,7 +21907,7 @@ mC mC mC mC -HD +mC HD HD HD @@ -20461,7 +22156,7 @@ mC HD HD HD -mC +HD mC mC mC @@ -20705,8 +22400,8 @@ mC mC mC HD -mC -mC +HD +HD mC mC mC diff --git a/_maps/outpost/nanotrasen_ice.dmm b/_maps/outpost/nanotrasen_ice.dmm index 7e39abd0d9d7..1a8857ee7a8f 100644 --- a/_maps/outpost/nanotrasen_ice.dmm +++ b/_maps/outpost/nanotrasen_ice.dmm @@ -95,10 +95,12 @@ /obj/structure/sign/nanotrasen{ pixel_x = -32 }, -/obj/structure/flora/grass/both{ - layer = 3.1 +/obj/structure/chair/bench/blue/directional/north, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 1 }, -/turf/open/floor/plating/asteroid/snow/temperatre{ +/turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 }, @@ -895,6 +897,17 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/walnut, /area/outpost/crew/lounge) +"gi" = ( +/obj/structure/chair/bench/blue/directional/north, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "gs" = ( /obj/effect/spawner/structure/window/reinforced/indestructable, /obj/machinery/door/poddoor/shutters/preopen{ @@ -1461,14 +1474,28 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/crew/cryo) -"li" = ( +"lf" = ( +/obj/machinery/vending/wallmed{ + pixel_x = -23 + }, /obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/blue/border{ dir = 8 }, -/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) +"li" = ( /obj/structure/railing{ dir = 4 }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 @@ -2560,7 +2587,6 @@ /obj/effect/turf_decal/borderfloor{ dir = 8 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 @@ -2854,6 +2880,18 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/outpost/vacant_rooms/shop) +"sE" = ( +/obj/structure/railing, +/obj/structure/table, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/blue/border, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "sG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/white{ @@ -3331,6 +3369,18 @@ icon_state = "panelscorched" }, /area/outpost/maintenance/fore) +"vs" = ( +/obj/structure/railing/corner, +/obj/structure/chair/bench/blue/directional/north, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/blue/border, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "vu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/white, @@ -3441,6 +3491,21 @@ }, /turf/open/floor/concrete/tiles, /area/outpost/crew/bar) +"wb" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "wd" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -3516,6 +3581,21 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/crew/bar) +"ww" = ( +/obj/structure/table, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 1 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_y = 7; + name = "Space Cleaner FOR OUTPOST USE ONLY" + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "wC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -3688,13 +3768,12 @@ /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 }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 @@ -4119,6 +4198,21 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/maintenance/fore) +"AR" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "AS" = ( /turf/closed/indestructible/reinforced, /area/outpost/vacant_rooms/shop) @@ -4572,6 +4666,18 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Eo" = ( +/obj/structure/railing, +/obj/structure/chair/bench/blue/directional/north, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/blue/border, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "Eq" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/firedoor/border_only, @@ -5085,6 +5191,19 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/vacant_rooms/shop) +"HH" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "HI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/techfloor{ @@ -7095,6 +7214,19 @@ }, /turf/open/floor/plating, /area/outpost/crew/bar) +"VN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "VQ" = ( /obj/effect/turf_decal/siding/wood{ color = "#543C30"; @@ -7230,6 +7362,13 @@ light_range = 2 }, /area/outpost/exterior) +"Wx" = ( +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "Wy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/catwalk/over/plated_catwalk, @@ -12547,8 +12686,8 @@ yR qY yR yR -NG -Yj +lf +HH AS tI PN @@ -12631,8 +12770,8 @@ TP Bd fx aQ -NG -NG +Wx +vs AS Bj Bj @@ -12714,9 +12853,9 @@ NG dq Bd KO -NG -NG -BC +ww +Wx +sE NG NG IH @@ -12798,9 +12937,9 @@ Ho nW Bd KO -NG -NG -IH +gi +Wx +Eo NG vC NG @@ -12882,9 +13021,9 @@ Ay do Ti kn -au -Ja -dk +wb +Wx +AR Ja au Ja @@ -12967,7 +13106,7 @@ rL xs rL rL -ly +VN ly ly rL diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 8335a2d82737..fbda78c0ab6c 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -144,7 +144,7 @@ self_delay = 20 max_amount = 12 grind_results = list(/datum/reagent/cellulose = 2) - custom_price = 100 + custom_price = 50 /obj/item/stack/medical/gauze/twelve amount = 12 @@ -373,6 +373,7 @@ self_delay = 40 other_delay = 15 splint_fracture = TRUE + custom_price = 50 /obj/item/stack/medical/splint/heal(mob/living/target, mob/user) . = ..() diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index a0ea04f8f99e..c5427a87201e 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -66,6 +66,9 @@ if(istype(drop_atom, /turf/open) && istype(loc, /obj/structure/crate_shelf) && user.Adjacent(drop_atom)) var/obj/structure/crate_shelf/shelf = loc return shelf.unload(src, user, drop_atom) // If we're being dropped onto a turf, and we're inside of a crate shelf, unload. + if(istype(drop_atom, /obj/structure) && istype(loc, /obj/structure/crate_shelf) && user.Adjacent(drop_atom) && !drop_atom.density) + var/obj/structure/crate_shelf/shelf = loc + return shelf.unload(src, user, drop_atom.loc) // If we're being dropped onto a turf, and we're inside of a crate shelf, unload. if(istype(drop_atom, /obj/structure/crate_shelf) && isturf(loc) && user.Adjacent(src)) var/obj/structure/crate_shelf/shelf = drop_atom return shelf.load(src, user) // If we're being dropped onto a crate shelf, and we're in a turf, load. diff --git a/code/game/turfs/closed/indestructible.dm b/code/game/turfs/closed/indestructible.dm index 9d186868cf54..9e55858970d2 100644 --- a/code/game/turfs/closed/indestructible.dm +++ b/code/game/turfs/closed/indestructible.dm @@ -100,6 +100,12 @@ 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/reinforced/rust + name = "rusted reinforced wall" + icon = 'icons/turf/walls/rusty_reinforced_wall.dmi' + icon_state = "rusty_reinforced_wall-0" + base_icon_state = "rusty_reinforced_wall" + /turf/closed/indestructible/titanium name = "wall" desc = "A light-weight titanium wall used in shuttles. Effectively impervious to conventional methods of destruction." diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 8415c98e41e5..32dd2b760e88 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -179,10 +179,8 @@ /obj/item/reagent_containers/hypospray/medipen/morphine name = "morphine medipen" desc = "A rapid way to get you out of a tight situation and fast! You'll feel rather drowsy, though." - icon_state = "morphen" - base_icon_state = "morphen" - item_state = "morphen" list_reagents = list(/datum/reagent/medicine/morphine = 10) + custom_price = 75 /obj/item/reagent_containers/hypospray/medipen/oxandrolone name = "oxandrolone medipen" @@ -233,16 +231,6 @@ return icon_state = "[base_icon_state][(reagents.total_volume > 0) ? 1 : 0]" -/* Replaced with variant in whitesands/code/modules/reagents/reagent_containers/hypospray.dm -/obj/item/reagent_containers/hypospray/medipen/survival - name = "survival medipen" - desc = "A medipen for surviving in the harshest of environments, heals and protects from environmental hazards. WARNING: Do not inject more than one pen in quick succession." - icon_state = "stimpen" - item_state = "stimpen" - volume = 57 - amount_per_transfer_from_this = 58 - list_reagents = list(/datum/reagent/medicine/salbutamol = 10, /datum/reagent/medicine/leporazine = 15, /datum/reagent/medicine/bicaridinep = 8, /datum/reagent/medicine/dermaline = 8, /datum/reagent/medicine/epinephrine = 10, /datum/reagent/medicine/lavaland_extract = 2, /datum/reagent/medicine/omnizine = 5) -*/ /obj/item/reagent_containers/hypospray/medipen/atropine name = "atropine autoinjector" desc = "A rapid way to save a person from a critical injury state!" @@ -250,25 +238,7 @@ item_state = "atropen" base_icon_state = "atropen" list_reagents = list(/datum/reagent/medicine/atropine = 10) - -/obj/item/reagent_containers/hypospray/medipen/snail - name = "snail shot" - desc = "All-purpose snail medicine! Do not use on non-snails!" - icon_state = "snail" - item_state = "snail" - base_icon_state = "gorillapen" - list_reagents = list(/datum/reagent/snail = 10) - -/obj/item/reagent_containers/hypospray/medipen/magillitis - name = "experimental autoinjector" - desc = "A custom-frame needle injector with a small single-use reservoir, containing an experimental serum. Unlike the more common medipen frame, it cannot pierce through protective armor or hardsuits, nor can the chemical inside be extracted." - icon_state = "gorillapen" - item_state = "gorillapen" - base_icon_state = "gorillapen" - volume = 5 - ignore_flags = 0 - reagent_flags = NONE - list_reagents = list(/datum/reagent/magillitis = 5) + custom_price = 100 /obj/item/reagent_containers/hypospray/medipen/pumpup name = "maintenance pump-up" @@ -285,6 +255,7 @@ volume = 15 amount_per_transfer_from_this = 15 list_reagents = list(/datum/reagent/medicine/anti_rad = 15) + custom_price = 25 /obj/item/reagent_containers/hypospray/medipen/bonefixingjuice name = "rejuvenating agent injector" @@ -295,6 +266,59 @@ list_reagents = list(/datum/reagent/medicine/bonefixingjuice = 10) icon_state = "syndipen" +/obj/item/reagent_containers/hypospray/medipen/diphen + name = "diphenhydramine injector" + desc = "An effective way to stop an allergic reaction." + list_reagents = list(/datum/reagent/medicine/diphenhydramine = 10) + volume = 10 + amount_per_transfer_from_this = 10 + +/obj/item/reagent_containers/hypospray/medipen/psicodine + name = "psicodine injector" + desc = "An injector filled with psicodine, which rapidly stabilizes the mind." + list_reagents = list(/datum/reagent/medicine/psicodine = 10) + volume = 10 + amount_per_transfer_from_this = 10 + custom_price = 50 + +/obj/item/reagent_containers/hypospray/medipen/synap + name = "synaptizine injector" + desc = "A stimulating injector with a shot of synaptizine inside." + list_reagents = list(/datum/reagent/medicine/synaptizine = 5) + custom_price = 75 + volume = 5 + amount_per_transfer_from_this = 5 + icon_state = "stimpen" + item_state = "stimpen" + +/obj/item/reagent_containers/hypospray/medipen/antihol + name = "antihol injector" + desc = "An injector filled with antihol, essential for the binge drinker." + list_reagents = list(/datum/reagent/medicine/antihol = 10) + volume = 10 + amount_per_transfer_from_this = 10 + custom_price = 25 + +/obj/item/reagent_containers/hypospray/medipen/tricord + name = "tricordrazine injector" + desc = "An injector filled with tricordrazine, a mildly effective healing agent." + list_reagents = list(/datum/reagent/medicine/tricordrazine = 15) + volume = 15 + amount_per_transfer_from_this = 15 + icon_state = "morphen" + base_icon_state = "morphen" + item_state = "morphen" + +/obj/item/reagent_containers/hypospray/medipen/mannitol + name = "tricordrazine injector" + desc = "An injector filled with mannitol, a restorative compound that targets the brain." + list_reagents = list(/datum/reagent/medicine/mannitol = 15) + volume = 15 + amount_per_transfer_from_this = 15 + icon_state = "morphen" + base_icon_state = "morphen" + item_state = "morphen" + //A vial-loaded hypospray. Cartridge-based! /obj/item/hypospray/mkii name = "hypospray mk.II" diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 0cf5a1258964..ad51348128be 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1807,14 +1807,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) limited_stock = 2 //you can't use more than two! restricted_roles = list("Shaft Miner") -/datum/uplink_item/role_restricted/magillitis_serum - name = "Magillitis Serum Autoinjector" - desc = "A single-use autoinjector which contains an experimental serum that causes rapid muscular growth in Hominidae. \ - Side-affects may include hypertrichosis, violent outbursts, and an unending affinity for bananas." - item = /obj/item/reagent_containers/hypospray/medipen/magillitis - cost = 15 - restricted_roles = list("Geneticist", "Chief Medical Officer") - /datum/uplink_item/role_restricted/modified_syringe_gun name = "Modified Syringe Gun" desc = "A syringe gun that fires DNA injectors instead of normal syringes." diff --git a/code/modules/vending/medical.dm b/code/modules/vending/medical.dm index ec96150e92df..26fe1f2c5899 100644 --- a/code/modules/vending/medical.dm +++ b/code/modules/vending/medical.dm @@ -47,3 +47,10 @@ /obj/machinery/vending/medical/syndicate_access name = "\improper SyndiMed Plus" req_access = list(ACCESS_SYNDICATE) + +/obj/machinery/vending/medical + name = "\improper NanoMed Plus" + desc = "Medical drug dispenser." + icon_state = "med" + icon_deny = "med-deny" + product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!" diff --git a/code/modules/vending/medical_wall.dm b/code/modules/vending/medical_wall.dm index 41f97ab888a4..c8f62eb0c75d 100644 --- a/code/modules/vending/medical_wall.dm +++ b/code/modules/vending/medical_wall.dm @@ -1,28 +1,32 @@ /obj/machinery/vending/wallmed - name = "\improper NanoMed" - desc = "Wall-mounted Medical Equipment dispenser." + name = "\improper OutpostMed" + desc = "A vending machine filled with medical supplies, provided to you free of charge by the Outpost Authority." icon_state = "wallmed" icon_deny = "wallmed-deny" density = FALSE + product_ads = "Dr. Pills approved!;Only the finest for the frontier.;Need a pick-me-up?.;Lanchester sourced equipment.;Don't be a fool. Plus yourself up.;Don't you want some?;Ping!" products = list( - /obj/item/reagent_containers/syringe = 1, - /obj/item/reagent_containers/pill/patch/styptic = 3, - /obj/item/reagent_containers/pill/patch/silver_sulf = 3, - /obj/item/reagent_containers/pill/charcoal = 1, - /obj/item/reagent_containers/medigel/styptic = 1, - /obj/item/reagent_containers/medigel/silver_sulf = 1, - /obj/item/reagent_containers/medigel/sterilizine = 1, - /obj/item/reagent_containers/pill/morphine = 1 - ) - contraband = list( - /obj/item/reagent_containers/pill/tox = 1, - /obj/item/storage/box/gum/happiness = 1 + /obj/item/stack/medical/gauze = 8, + /obj/item/stack/medical/splint = 8, + /obj/item/reagent_containers/hypospray/medipen/atropine = 4, + /obj/item/reagent_containers/hypospray/medipen/diphen = 5, + /obj/item/reagent_containers/hypospray/medipen/psicodine = 6, + /obj/item/reagent_containers/hypospray/medipen/synap = 6, + /obj/item/reagent_containers/hypospray/medipen/mannitol = 10, + /obj/item/reagent_containers/hypospray/medipen/tricord = 6, + /obj/item/reagent_containers/hypospray/medipen/morphine = 6, + /obj/item/reagent_containers/hypospray/medipen/antihol = 10, + /obj/item/reagent_containers/hypospray/medipen/anti_rad = 10, ) + premium = list( + /obj/item/reagent_containers/medigel/styptic = 3, + /obj/item/reagent_containers/medigel/silver_sulf = 3, + ) 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 = 200 - extra_price = 400 + default_price = 75 + extra_price = 200 tiltable = FALSE light_mask = "wallmed-light-mask" From c87852aa0ff4629c02eb41c9719896c41e530b27 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 17 Jan 2025 14:13:12 -0600 Subject: [PATCH 025/330] Automatic changelog generation for PR #3985 [ci skip] --- html/changelogs/AutoChangeLog-pr-3985.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3985.yml diff --git a/html/changelogs/AutoChangeLog-pr-3985.yml b/html/changelogs/AutoChangeLog-pr-3985.yml new file mode 100644 index 000000000000..d336be0598c1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3985.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {balance: 'goldgrubs, fugu, and basilisks are now marginally less immune to bullets.'} +delete-after: true From ab5affb90455bf7203e71fd2c322eb2eb0afaf11 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 17 Jan 2025 14:17:33 -0600 Subject: [PATCH 026/330] Automatic changelog generation for PR #3939 [ci skip] --- html/changelogs/AutoChangeLog-pr-3939.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3939.yml diff --git a/html/changelogs/AutoChangeLog-pr-3939.yml b/html/changelogs/AutoChangeLog-pr-3939.yml new file mode 100644 index 000000000000..e29c0feb2043 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3939.yml @@ -0,0 +1,5 @@ +author: Erikafox +changes: + - {rscadd: The asteroid outpost in the region has been somewhat renovated.} + - {rscadd: Outposts now stock a variety of medpens in a small medical area.} +delete-after: true From 7f54394beb8aac953985df941233fdab23ef160e Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 17 Jan 2025 15:00:54 -0500 Subject: [PATCH 027/330] Gun Zoom Changes (#3736) ## About The Pull Request Makes zooming something every gun can do. Reflavors it to be aiming down the sights of the weapon. Adds scopes that make you slower while aiming, but also let you aim further. ports 3 fixes to make this less painful https://github.com/tgstation/tgstation/pull/64015 https://github.com/tgstation/tgstation/pull/57345 https://github.com/tgstation/tgstation/pull/63654 ## Why It's Good For The Game experimentation ## Changelog :cl: add: Scopes!!! add: All guns now have an implicit ability to aim down sights. add: aiming now slows you down. fix: fixes ported from /tg/: projectiles no longer sail into the ether when you fire them at a distance fix: aiming is now less jank /:cl: --------- Signed-off-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> Co-authored-by: Bjarl <94164348+Bjarl@users.noreply.github.com> --- code/__DEFINES/guns.dm | 15 ++ code/__DEFINES/traits.dm | 2 + code/__HELPERS/unsorted.dm | 30 ++-- code/_globalvars/traits.dm | 3 +- code/_onclick/click.dm | 10 +- code/datums/components/fullauto.dm | 6 +- code/datums/components/fullauto_mecha.dm | 4 +- code/game/mecha/equipment/weapons/weapons.dm | 5 +- .../objects/items/attachments/long_scope.dm | 29 ++++ .../objects/items/attachments/short_scope.dm | 26 ++++ code/modules/cargo/packs/gun.dm | 84 ------------ .../modules/cargo/packs/weapon_attachments.dm | 102 ++++++++++++++ .../mining/equipment/kinetic_crusher.dm | 3 +- .../carbon/alien/humanoid/alien_powers.dm | 4 +- code/modules/movespeed/modifiers/items.dm | 4 + .../modules/projectiles/ammunition/_firing.dm | 5 +- code/modules/projectiles/gun.dm | 17 ++- .../projectiles/guns/ballistic/assault.dm | 19 +++ .../projectiles/guns/ballistic/marksman.dm | 4 + .../projectiles/guns/ballistic/pistol.dm | 4 + .../projectiles/guns/ballistic/revolver.dm | 2 + .../projectiles/guns/ballistic/rifle.dm | 3 + .../projectiles/guns/ballistic/shotgun.dm | 5 + .../modules/projectiles/guns/ballistic/smg.dm | 2 + .../clip_lanchester/ballistics.dm | 31 ++--- .../manufacturer/hunter_pride/ballistics.dm | 60 ++++++++ .../manufacturer/scarborough/ballistics.dm | 2 +- .../serene_sporting/ballistics.dm | 16 ++- .../manufacturer/solar_armories/ballistic.dm | 22 ++- .../projectiles/guns/misc/beam_rifle.dm | 6 +- .../projectiles/guns/misc/blastcannon.dm | 3 +- code/modules/projectiles/projectile.dm | 129 +++++++++++------- icons/obj/guns/attachments.dmi | Bin 5803 -> 6061 bytes .../manufacturer/clip_lanchester/48x32.dmi | Bin 4673 -> 4640 bytes icons/obj/guns/manufacturer/inteq/48x32.dmi | Bin 2032 -> 2007 bytes shiptest.dme | 3 + 36 files changed, 460 insertions(+), 200 deletions(-) create mode 100644 code/game/objects/items/attachments/long_scope.dm create mode 100644 code/game/objects/items/attachments/short_scope.dm create mode 100644 code/modules/cargo/packs/weapon_attachments.dm diff --git a/code/__DEFINES/guns.dm b/code/__DEFINES/guns.dm index 9581fb506361..3cabcfa617ce 100644 --- a/code/__DEFINES/guns.dm +++ b/code/__DEFINES/guns.dm @@ -76,6 +76,21 @@ #define GUN_NO_SAFETY_MALFUNCTION_CHANCE_MEDIUM 10 #define GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH 15 +//aiming down sights values +#define PISTOL_ZOOM 2 +#define SHOTGUN_ZOOM 2 +#define SMG_ZOOM 2 +#define RIFLE_ZOOM 2 +#define DMR_ZOOM 4 + +//ads slowdown +#define PISTOL_AIM_SLOWDOWN 0.1 +#define SHOTGUN_AIM_SLOWDOWN 0.3 +#define SMG_AIM_SLOWDOWN 0.2 +#define RIFLE_AIM_SLOWDOWN 0.3 +#define LONG_RIFLE_AIM_SLOWDOWN 0.4 +#define HEAVY_AIM_SLOWDOWN 0.6 + //slowdown defines #define NO_SLOWDOWN 0.0 #define LIGHT_PISTOL_SLOWDOWN 0.05 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index ddd2bc5b0df6..3dce892eb868 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -277,6 +277,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_KISS_OF_DEATH "kiss_of_death" /// We can handle 'dangerous' plants in botany safely #define TRAIT_PLANT_SAFE "plant_safe" +///This person is aiming and should not face atoms in different directions +#define TRAIT_AIMING "aiming" /// This mob overrides certian SSlag_switch measures with this special trait #define TRAIT_BYPASS_MEASURES "bypass_lagswitch_measures" //non-mob traits diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 7bd6f72771cc..a21147e7860e 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -765,19 +765,25 @@ GLOBAL_LIST_INIT(WALLITEMS_INVERSE, typecacheof(list( else return "white" -/proc/params2turf(scr_loc, turf/origin, client/C) - if(!scr_loc) +/proc/parse_caught_click_modifiers(list/modifiers, turf/origin, client/viewing_client) + if(!modifiers) return null - var/tX = splittext(scr_loc, ",") - var/tY = splittext(tX[2], ":") - var/tZ = origin.z - tY = tY[1] - tX = splittext(tX[1], ":") - tX = tX[1] - var/list/actual_view = getviewsize(C ? C.view : world.view) - tX = clamp(origin.x + text2num(tX) - round(actual_view[1] / 2) - 1, 1, world.maxx) - tY = clamp(origin.y + text2num(tY) - round(actual_view[2] / 2) - 1, 1, world.maxy) - return locate(tX, tY, tZ) + + var/screen_loc = splittext(LAZYACCESS(modifiers, SCREEN_LOC), ",") + var/list/actual_view = getviewsize(viewing_client ? viewing_client.view : world.view) + var/click_turf_x = splittext(screen_loc[1], ":") + var/click_turf_y = splittext(screen_loc[2], ":") + var/click_turf_z = origin.z + + var/click_turf_px = text2num(click_turf_x[2]) + var/click_turf_py = text2num(click_turf_y[2]) + click_turf_x = origin.x + text2num(click_turf_x[1]) - round(actual_view[1] / 2) - 1 + click_turf_y = origin.y + text2num(click_turf_y[1]) - round(actual_view[2] / 2) - 1 + + var/turf/click_turf = locate(clamp(click_turf_x, 1, world.maxx), clamp(click_turf_y, 1, world.maxy), click_turf_z) + LAZYSET(modifiers, ICON_X, "[(click_turf_px - click_turf.pixel_x) + ((click_turf_x - click_turf.x) * world.icon_size)]") + LAZYSET(modifiers, ICON_Y, "[(click_turf_py - click_turf.pixel_y) + ((click_turf_y - click_turf.y) * world.icon_size)]") + return click_turf /proc/screen_loc2turf(text, turf/origin, client/C) if(!text) diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index d87596cf828c..9b007b60352c 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -149,7 +149,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_SCOOPABLE" = TRAIT_SCOOPABLE, "TRAIT_ANXIOUS" = TRAIT_ANXIOUS, "TRAIT_KISS_OF_DEATH" = TRAIT_KISS_OF_DEATH, - "TRAIT_PLANT_SAFE" = TRAIT_PLANT_SAFE + "TRAIT_PLANT_SAFE" = TRAIT_PLANT_SAFE, + "TRAIT_AIMING" = TRAIT_AIMING ), /obj/item/bodypart = list( "TRAIT_PARALYSIS" = TRAIT_PARALYSIS diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index cfd08960cd55..c387afaace70 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -382,7 +382,7 @@ /// Simple helper to face what you clicked on, in case it should be needed in more than one place /mob/proc/face_atom(atom/A) - if(buckled || stat != CONSCIOUS || !A || !x || !y || !A.x || !A.y) + if(buckled || stat != CONSCIOUS || !A || !x || !y || !A.x || !A.y || HAS_TRAIT(src, TRAIT_AIMING)) return var/dx = A.x - x var/dy = A.y - y @@ -447,10 +447,10 @@ var/mob/living/carbon/C = usr C.swap_hand() else - var/turf/T = params2turf(LAZYACCESS(modifiers, SCREEN_LOC), get_turf(usr.client ? usr.client.eye : usr), usr.client) - params += "&catcher=1" - if(T) - T.Click(location, control, params) + var/turf/click_turf = parse_caught_click_modifiers(modifiers, get_turf(usr.client ? usr.client.eye : usr), usr.client) + if (click_turf) + modifiers["catcher"] = TRUE + click_turf.Click(click_turf, control, list2params(modifiers)) . = 1 /// MouseWheelOn diff --git a/code/datums/components/fullauto.dm b/code/datums/components/fullauto.dm index f3050c7ab76c..a768b3a804fd 100644 --- a/code/datums/components/fullauto.dm +++ b/code/datums/components/fullauto.dm @@ -125,7 +125,8 @@ if(isnull(location)) //Clicking on a screen object. if(_target.plane != CLICKCATCHER_PLANE) //The clickcatcher is a special case. We want the click to trigger then, under it. return //If we click and drag on our worn backpack, for example, we want it to open instead. - _target = params2turf(modifiers["screen-loc"], get_turf(source.eye), source) + _target = parse_caught_click_modifiers(modifiers, get_turf(source.eye), source) + params = list2params(modifiers) if(!_target) CRASH("Failed to get the turf under clickcatcher") @@ -204,7 +205,8 @@ SIGNAL_HANDLER if(isnull(over_location)) //This happens when the mouse is over an inventory or screen object, or on entering deep darkness, for example. var/list/modifiers = params2list(params) - var/new_target = params2turf(modifiers["screen-loc"], get_turf(source.eye), source) + var/new_target = parse_caught_click_modifiers(modifiers, get_turf(source.eye), source) + params = list2params(modifiers) mouse_parameters = params if(!new_target) if(QDELETED(target)) //No new target acquired, and old one was deleted, get us out of here. diff --git a/code/datums/components/fullauto_mecha.dm b/code/datums/components/fullauto_mecha.dm index 27e7fcf80df6..2db27a06e5b8 100644 --- a/code/datums/components/fullauto_mecha.dm +++ b/code/datums/components/fullauto_mecha.dm @@ -124,7 +124,7 @@ if(isnull(location)) //Clicking on a screen object. if(_target.plane != CLICKCATCHER_PLANE) //The clickcatcher is a special case. We want the click to trigger then, under it. return //If we click and drag on our worn backpack, for example, we want it to open instead. - _target = params2turf(modifiers["screen-loc"], get_turf(source.eye), source) + _target = parse_caught_click_modifiers(modifiers["screen-loc"], get_turf(source.eye), source) if(!_target) CRASH("Failed to get the turf under clickcatcher") @@ -203,7 +203,7 @@ SIGNAL_HANDLER if(isnull(over_location)) //This happens when the mouse is over an inventory or screen object, or on entering deep darkness, for example. var/list/modifiers = params2list(params) - var/new_target = params2turf(modifiers["screen-loc"], get_turf(source.eye), source) + var/new_target = parse_caught_click_modifiers(modifiers["screen-loc"], get_turf(source.eye), source) mouse_parameters = params if(!new_target) if(QDELETED(target)) //No new target acquired, and old one was deleted, get us out of here. diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 216db9656c00..d36cab972fde 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -34,6 +34,9 @@ var/turf/curloc = get_turf(chassis) var/turf/targloc = get_turf(target) + + var/modifiers = params2list(params) + if (!targloc || !istype(targloc) || !curloc) return 0 if (targloc == curloc) @@ -53,7 +56,7 @@ spread = round((rand() - 0.5) * variance) else spread = round((i / projectiles_per_shot - 0.5) * variance) - A.preparePixelProjectile(target, chassis.occupant, params, spread) + A.preparePixelProjectile(target, chassis.occupant, modifiers, spread) A.fire() playsound(chassis, fire_sound, 50, TRUE) diff --git a/code/game/objects/items/attachments/long_scope.dm b/code/game/objects/items/attachments/long_scope.dm new file mode 100644 index 000000000000..47d3399df809 --- /dev/null +++ b/code/game/objects/items/attachments/long_scope.dm @@ -0,0 +1,29 @@ +/obj/item/attachment/long_scope + name = "long range scope" + desc = "An attachment for the scope of a weapon. Allows one to aim down the sight." + icon_state = "silencer" + + slot = ATTACHMENT_SLOT_SCOPE + pixel_shift_x = 1 + pixel_shift_y = 2 + size_mod = 1 + var/zoom_mod = 10 + var/zoom_out_mod = 3 + var/min_recoil_mod = 0.1 + var/aim_slowdown_mod = 0.4 + + +/obj/item/attachment/long_scope/apply_attachment(obj/item/gun/gun, mob/user) + . = ..() + gun.zoom_amt = zoom_mod + gun.zoom_out_amt = zoom_out_mod + gun.min_recoil_aimed = min_recoil_mod + gun.aimed_wield_slowdown += aim_slowdown_mod + +/obj/item/attachment/long_scope/remove_attachment(obj/item/gun/gun, mob/user) + . = ..() + gun.zoom_amt = initial(gun.zoom_amt) + gun.zoom_out_amt = initial(gun.zoom_out_amt) + gun.min_recoil_aimed = initial(gun.min_recoil_aimed) + gun.aimed_wield_slowdown = initial(gun.aimed_wield_slowdown) + return TRUE diff --git a/code/game/objects/items/attachments/short_scope.dm b/code/game/objects/items/attachments/short_scope.dm new file mode 100644 index 000000000000..34c8c1fb185b --- /dev/null +++ b/code/game/objects/items/attachments/short_scope.dm @@ -0,0 +1,26 @@ +/obj/item/attachment/scope + name = "scope" + desc = "An attachment for the scope of a weapon. Allows one to aim down the sight." + icon_state = "small_scope" + + slot = ATTACHMENT_SLOT_SCOPE + pixel_shift_x = 1 + pixel_shift_y = 2 + size_mod = 0 + var/zoom_mod = 6 + var/zoom_out_mod = 2 + var/aim_slowdown_mod = 0.2 + + +/obj/item/attachment/scope/apply_attachment(obj/item/gun/gun, mob/user) + . = ..() + gun.zoom_amt = zoom_mod + gun.zoom_out_amt = zoom_out_mod + gun.aimed_wield_slowdown += aim_slowdown_mod + +/obj/item/attachment/scope/remove_attachment(obj/item/gun/gun, mob/user) + . = ..() + gun.zoom_amt = initial(gun.zoom_amt) + gun.zoom_out_amt = initial(gun.zoom_out_amt) + gun.aimed_wield_slowdown = initial(gun.aimed_wield_slowdown) + return TRUE diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index e89eb64ccb2c..2f1e19daab6e 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -693,87 +693,3 @@ 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 laser sight 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/shotgun - name = "Underbarrel Shotgun Crate" - desc = "Contains a single shot underbarrel shotgun to be mounted on a firearm." - cost = 750 - contains = list(/obj/item/attachment/gun/ballistic/shotgun) - crate_name = "underbarrel shotgun crate" - -/datum/supply_pack/gun/attachment/flamethrower - name = "Underbarrel Flamethrower Crate" - desc = "Contains a compact underbarrel flamethrower to be mounted on a firearm." - cost = 750 - contains = list(/obj/item/attachment/gun/flamethrower) - crate_name = "underbarrel flamethrower crate" - -/datum/supply_pack/gun/attachment/e_gun - name = "Underbarrel Energy Gun Crate" - desc = "Contains an underbarrel energy gun to be mounted on a firearm." - cost = 750 - contains = list(/obj/item/attachment/gun/energy/e_gun) - crate_name = "underbarrel energy gun 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" - -/datum/supply_pack/gun/attachment/riot_launcher - name = "Underbarrel Riot Grenade Launcher Crate" - desc = "Contains a single shot underbarrel riot grenade launcher to be mounted on a firearm." - cost = 750 - contains = list(/obj/item/attachment/gun/riot) - crate_name = "underbarrel riot grenade launcher crate" - -/datum/supply_pack/gun/attachment/flare - name = "Underbarrel Flare Gun Crate" - desc = "Contains a single shot underbarrel flare gun to be mounted on a firearm. One box of flares included." - cost = 200 - contains = list(/obj/item/attachment/gun/flare) - crate_name = "underbarrel flare gun crate" - - diff --git a/code/modules/cargo/packs/weapon_attachments.dm b/code/modules/cargo/packs/weapon_attachments.dm new file mode 100644 index 000000000000..0fee8efdd8ca --- /dev/null +++ b/code/modules/cargo/packs/weapon_attachments.dm @@ -0,0 +1,102 @@ +// the ever continuing guncode growth. if only we had this passion for engineering. + +/* Attachments */ + +/datum/supply_pack/attachment + group = "Gun Attachments" + crate_type = /obj/structure/closet/crate/secure/weapon + faction_discount = 10 + +/datum/supply_pack/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/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/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/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/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/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" + +/datum/supply_pack/attachment/scope + name = "Scope Crate" + desc = "Contains a single scope to be mounted on a firearm." + cost = 400 + contains = list(/obj/item/attachment/scope) + crate_name = "scope crate" + +/datum/supply_pack/attachment/rail_light + name = "Long Scope Crate" + desc = "Contains a single high powered scope to be mounted on a firearm." + cost = 800 + contains = list(/obj/item/attachment/long_scope) + crate_name = "scope crate" + +/datum/supply_pack/attachment/shotgun + name = "Underbarrel Shotgun Crate" + desc = "Contains a single shot underbarrel shotgun to be mounted on a firearm." + cost = 750 + contains = list(/obj/item/attachment/gun/ballistic/shotgun) + crate_name = "underbarrel shotgun crate" + +/datum/supply_pack/attachment/flamethrower + name = "Underbarrel Flamethrower Crate" + desc = "Contains a compact underbarrel flamethrower to be mounted on a firearm." + cost = 750 + contains = list(/obj/item/attachment/gun/flamethrower) + crate_name = "underbarrel flamethrower crate" + +/datum/supply_pack/attachment/e_gun + name = "Underbarrel Energy Gun Crate" + desc = "Contains an underbarrel energy gun to be mounted on a firearm." + cost = 750 + contains = list(/obj/item/attachment/gun/energy/e_gun) + crate_name = "underbarrel energy gun crate" + +/datum/supply_pack/attachment/riot_launcher + name = "Underbarrel Riot Grenade Launcher Crate" + desc = "Contains a single shot underbarrel riot grenade launcher to be mounted on a firearm." + cost = 750 + contains = list(/obj/item/attachment/gun/riot) + crate_name = "underbarrel riot grenade launcher crate" + +/datum/supply_pack/attachment/flare + name = "Underbarrel Flare Gun Crate" + desc = "Contains a single shot underbarrel flare gun to be mounted on a firearm. One box of flares included." + cost = 200 + contains = list(/obj/item/attachment/gun/flare) + crate_name = "underbarrel flare gun crate" diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 27f71dfa9359..2ffda7d05996 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -54,6 +54,7 @@ /obj/item/kinetic_crusher/afterattack(atom/target, mob/living/user, proximity_flag, clickparams) . = ..() + var/modifiers = params2list(clickparams) if(!HAS_TRAIT(src, TRAIT_WIELDED)) return if(!proximity_flag && charged)//Mark a target, or mine a tile. @@ -61,7 +62,7 @@ if(!isturf(proj_turf)) return var/obj/projectile/destabilizer/D = new /obj/projectile/destabilizer(proj_turf) - D.preparePixelProjectile(target, user, clickparams) + D.preparePixelProjectile(target, user, modifiers) D.firer = user D.hammer_synced = src playsound(user, 'sound/weapons/plasma_cutter.ogg', 100, TRUE) diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm index ccd6540ffca1..19bff4af3c39 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -224,9 +224,11 @@ Doesn't work on other aliens/AI.*/ if(!isturf(U) || !isturf(T)) return FALSE + var/modifiers = params2list(params) user.visible_message("[user] spits neurotoxin!", "You spit neurotoxin.") var/obj/projectile/bullet/neurotoxin/A = new /obj/projectile/bullet/neurotoxin(user.loc) - A.preparePixelProjectile(target, user, params) + + A.preparePixelProjectile(target, user, modifiers) A.fire() user.newtonian_move(get_dir(U, T)) user.adjustPlasma(-p_cost) diff --git a/code/modules/movespeed/modifiers/items.dm b/code/modules/movespeed/modifiers/items.dm index 6759b8a47f46..387d458e28cc 100644 --- a/code/modules/movespeed/modifiers/items.dm +++ b/code/modules/movespeed/modifiers/items.dm @@ -15,6 +15,10 @@ multiplicative_slowdown = 1 variable = TRUE +/datum/movespeed_modifier/aiming + multiplicative_slowdown = 0 + variable = TRUE + /datum/movespeed_modifier/berserk multiplicative_slowdown = -0.2 diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index cfa4e91e645c..5ed202107770 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -46,6 +46,7 @@ qdel(reagents) /obj/item/ammo_casing/proc/throw_proj(atom/target, turf/targloc, mob/living/user, params, spread, atom/fired_from) + var/modifiers = params2list(params) var/turf/curloc if(user) curloc = get_turf(user) @@ -66,9 +67,9 @@ direct_target = target if(!direct_target) if(user) - BB.preparePixelProjectile(target, user, params, spread) + BB.preparePixelProjectile(target, user, modifiers, spread) else - BB.preparePixelProjectile(target, curloc, params, spread) + BB.preparePixelProjectile(target, curloc, modifiers, spread) BB.fire(null, direct_target) BB = null return TRUE diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f66dddfec9b5..faf596a7d42e 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -137,6 +137,8 @@ var/wielded_fully = FALSE ///Slowdown for wielding var/wield_slowdown = 0.1 + ///slowdown for aiming whilst wielding + var/aimed_wield_slowdown = 0.1 ///How long between wielding and firing in tenths of seconds var/wield_delay = 0.4 SECONDS ///Storing value for above @@ -216,6 +218,8 @@ ///Used if the guns recoil is lower then the min, it clamps the highest recoil var/min_recoil = 0 + ///if we want a min recoil (or lack of it) whilst aiming + var/min_recoil_aimed = 0 var/gunslinger_recoil_bonus = 0 var/gunslinger_spread_bonus = 0 @@ -276,7 +280,7 @@ * Zooming */ ///Whether the gun generates a Zoom action on creation - var/zoomable = FALSE + var/zoomable = TRUE //Zoom toggle var/zoomed = FALSE ///Distance in TURFs to move the user's screen forward (the "zoom" effect) @@ -1006,7 +1010,7 @@ //I need to refactor this into an attachment /datum/action/toggle_scope_zoom - name = "Toggle Scope" + name = "Aim Down Sights" 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" @@ -1017,6 +1021,7 @@ var/obj/item/gun/gun = target gun.zoom(owner, owner.dir) + gun.min_recoil = gun.min_recoil_aimed /datum/action/toggle_scope_zoom/Remove(mob/user) if(!istype(target, /obj/item/gun)) @@ -1042,17 +1047,23 @@ if((!zoomed && wielded_fully) || zoomed) zoomed = !zoomed else - to_chat(user, "You can't look down the scope without wielding [src]!") + to_chat(user, span_danger("You can't look down the sights without wielding [src]!")) zoomed = FALSE else zoomed = forced_zoom if(zoomed) RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, PROC_REF(rotate)) + ADD_TRAIT(user, TRAIT_AIMING, ref(src)) user.client.view_size.zoomOut(zoom_out_amt, zoom_amt, direc) + min_recoil = min_recoil_aimed + user.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/aiming, multiplicative_slowdown = aimed_wield_slowdown) else UnregisterSignal(user, COMSIG_ATOM_DIR_CHANGE) + REMOVE_TRAIT(user, TRAIT_AIMING, ref(src)) user.client.view_size.zoomIn() + min_recoil = initial(min_recoil) + user.remove_movespeed_modifier(/datum/movespeed_modifier/aiming) return zoomed //Proc, so that gun accessories/scopes/etc. can easily add zooming. diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index a3247cc3dcf0..8a933179de2a 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -6,6 +6,9 @@ default_firemode = FIREMODE_SEMIAUTO wield_delay = 0.8 SECONDS wield_slowdown = RIFLE_SLOWDOWN + aimed_wield_slowdown = RIFLE_AIM_SLOWDOWN + + zoom_amt = RIFLE_ZOOM fire_delay = 0.2 SECONDS @@ -50,6 +53,22 @@ /obj/item/ammo_box/magazine/skm_762_40, ) + //truly a doohickey for every occasion + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/scope, + /obj/item/attachment/long_scope, + /obj/item/attachment/energy_bayonet, + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1, + ATTACHMENT_SLOT_SCOPE = 1 + ) + spread = 1 wield_delay = 0.7 SECONDS diff --git a/code/modules/projectiles/guns/ballistic/marksman.dm b/code/modules/projectiles/guns/ballistic/marksman.dm index 9c89c551b124..557ccc5ca21b 100644 --- a/code/modules/projectiles/guns/ballistic/marksman.dm +++ b/code/modules/projectiles/guns/ballistic/marksman.dm @@ -4,6 +4,10 @@ burst_size = 1 zoomable = TRUE //this var as true without setting anything else produces a 2x zoom wield_slowdown = DMR_SLOWDOWN + aimed_wield_slowdown = LONG_RIFLE_AIM_SLOWDOWN + zoom_amt = DMR_ZOOM wield_delay = 1 SECONDS + min_recoil = 0.1 + light_range = 2 diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index bd7a4728b188..a1b319692467 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -12,11 +12,15 @@ recoil_unwielded = 3 recoil_backtime_multiplier = 1 + zoom_amt = PISTOL_ZOOM + wield_delay = 0.2 SECONDS fire_delay = 0.2 SECONDS spread = 5 spread_unwielded = 7 + wield_slowdown = PISTOL_SLOWDOWN + aimed_wield_slowdown = PISTOL_AIM_SLOWDOWN muzzleflash_iconstate = "muzzle_flash_light" light_range = 1 diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 36fece5f8c31..2375b56e5930 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -39,7 +39,9 @@ bolt_wording = "hammer" dry_fire_sound = 'sound/weapons/gun/general/bolt_drop.ogg' dry_fire_text = "snap" + wield_slowdown = REVOLVER_SLOWDOWN + aimed_wield_slowdown = PISTOL_AIM_SLOWDOWN gun_firemodes = list(FIREMODE_SEMIAUTO) default_firemode = FIREMODE_SEMIAUTO diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index b60ab788ba80..819c32b888c1 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -27,6 +27,9 @@ gun_firemodes = list(FIREMODE_SEMIAUTO) default_firemode = FIREMODE_SEMIAUTO + zoom_amt = RIFLE_ZOOM + aimed_wield_slowdown = RIFLE_AIM_SLOWDOWN + spread = -1 spread_unwielded = 48 recoil = -3 diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 551856a088b1..c05b9a63eb40 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -31,8 +31,11 @@ fire_select_icon_state_prefix = "sg_" wield_slowdown = SHOTGUN_SLOWDOWN + aimed_wield_slowdown = SHOTGUN_AIM_SLOWDOWN wield_delay = 0.8 SECONDS + zoom_amt = SHOTGUN_ZOOM + spread = 4 spread_unwielded = 10 recoil = 1 @@ -40,6 +43,8 @@ gunslinger_recoil_bonus = -1 + min_recoil = 0.1 + /obj/item/gun/ballistic/shotgun/blow_up(mob/user) if(chambered && chambered.BB) process_fire(user, user, FALSE) diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index 52fb375b9424..faa52c29f268 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -8,6 +8,8 @@ spread = 6 spread_unwielded = 10 wield_slowdown = SMG_SLOWDOWN + aimed_wield_slowdown = SMG_AIM_SLOWDOWN + zoom_amt = SMG_ZOOM recoil_unwielded = 4 w_class = WEIGHT_CLASS_BULKY diff --git a/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm index bd2f997c7cc1..4d93fca00c47 100644 --- a/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm @@ -1,5 +1,5 @@ -#define CLIP_ATTACHMENTS list(list(/obj/item/attachment/silencer, /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, /obj/item/attachment/bayonet, /obj/item/attachment/sling, /obj/item/attachment/gun)) -#define CLIP_ATTACHMNENT_POINTS list() +#define CLIP_ATTACHMENTS list(/obj/item/attachment/silencer, /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, /obj/item/attachment/bayonet, /obj/item/attachment/scope, /obj/item/attachment/long_scope, /obj/item/attachment/sling, /obj/item/attachment/gun) +#define CLIP_ATTACHMENT_POINTS list(ATTACHMENT_SLOT_MUZZLE = 1,ATTACHMENT_SLOT_RAIL = 1,ATTACHMENT_SLOT_SCOPE=1) //########### PISTOLS ###########// @@ -178,10 +178,8 @@ NO_MAG_GUN_HELPER(automatic/pistol/cm357) spread_unwielded = 7 valid_attachments = CLIP_ATTACHMENTS - slot_available = list( - ATTACHMENT_SLOT_MUZZLE = 1, - ATTACHMENT_SLOT_RAIL = 1 - ) + slot_available = CLIP_ATTACHMENT_POINTS + slot_offsets = list( ATTACHMENT_SLOT_MUZZLE = list( "x" = 37, @@ -326,16 +324,8 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) 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 - ) + valid_attachments = CLIP_ATTACHMENTS + slot_available = CLIP_ATTACHMENT_POINTS slot_offsets = list( ATTACHMENT_SLOT_MUZZLE = list( "x" = 48, @@ -344,9 +334,15 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) ATTACHMENT_SLOT_RAIL = list( "x" = 35, "y" = 16, + ), + ATTACHMENT_SLOT_SCOPE = list( + "x" = 18, + "y" = 22, ) ) + default_attachments = list(/obj/item/attachment/scope) + wield_slowdown = DMR_SLOWDOWN spread = -4 fire_select_icon_state_prefix = "clip_" @@ -435,6 +431,9 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) fire_delay = 0.18 SECONDS + valid_attachments = CLIP_ATTACHMENTS + slot_available = CLIP_ATTACHMENT_POINTS + 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' diff --git a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm index 90e385c11142..2eadfe016180 100644 --- a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm @@ -611,6 +611,22 @@ EMPTY_GUN_HELPER(shotgun/flamingarrow/conflagration) allowed_ammo_types = list( /obj/item/ammo_box/magazine/illestren_a850r, ) + + 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, + /obj/item/attachment/scope, + /obj/item/attachment/long_scope, + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1, + ATTACHMENT_SLOT_SCOPE = 1 + ) + empty_autoeject = TRUE eject_sound_vary = FALSE can_be_sawn_off = TRUE @@ -677,6 +693,20 @@ EMPTY_GUN_HELPER(shotgun/flamingarrow/conflagration) wield_slowdown = RIFLE_SLOWDOWN wield_delay = 0.65 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/scope, + /obj/item/attachment/long_scope, + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1, + ATTACHMENT_SLOT_SCOPE = 1 + ) + spread = -5 spread_unwielded = 7 @@ -819,6 +849,20 @@ EMPTY_GUN_HELPER(shotgun/flamingarrow) gun_firemodes = list(FIREMODE_SEMIAUTO) default_firemode = FIREMODE_SEMIAUTO + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/scope, + /obj/item/attachment/long_scope, + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1, + ATTACHMENT_SLOT_SCOPE = 1 + ) + /obj/item/gun/ballistic/shotgun/doublebarrel/beacon/sawoff(forced = FALSE) . = ..() if(.) @@ -902,6 +946,22 @@ EMPTY_GUN_HELPER(shotgun/doublebarrel/beacon) recoil_unwielded = 4 wield_slowdown = DMR_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/scope, + /obj/item/attachment/long_scope, + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1, + ATTACHMENT_SLOT_SCOPE = 1 + ) + + default_attachments = list(/obj/item/attachment/scope) + /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." diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index bc0bfb4c72be..d639f7a5f8c5 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -1,4 +1,4 @@ -#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, /obj/item/attachment/gun) +#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, /obj/item/attachment/scope, /obj/item/attachment/gun) #define SCARBOROUGH_ATTACH_SLOTS list(ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_SCOPE = 1, ATTACHMENT_SLOT_RAIL = 1) //########### PISTOLS ###########// diff --git a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm index 04a0bb7f7b22..ff36ffcd2292 100644 --- a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm @@ -1,5 +1,5 @@ -#define SERENE_ATTACHMENTS list(/obj/item/attachment/rail_light, /obj/item/attachment/bayonet, /obj/item/attachment/sling, /obj/item/attachment/gun) -#define SERENE_ATTACH_SLOTS list(ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_RAIL = 1) +#define SERENE_ATTACHMENTS list(/obj/item/attachment/rail_light, /obj/item/attachment/bayonet,/obj/item/attachment/scope,/obj/item/attachment/long_scope, /obj/item/attachment/sling, /obj/item/attachment/gun) +#define SERENE_ATTACH_SLOTS list(ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_RAIL = 1, ATTACHMENT_SLOT_SCOPE = 1) /* Micro Target */ @@ -109,9 +109,13 @@ EMPTY_GUN_HELPER(automatic/pistol/m17) "x" = 44, "y" = 18, ), - ATTACHMENT_SLOT_RAIL = list( + ATTACHMENT_SLOT_SCOPE = list( "x" = 17, "y" = 20, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 28, + "y" = 17, ) ) @@ -193,9 +197,13 @@ EMPTY_GUN_HELPER(automatic/m12_sporter/mod) "x" = 47, "y" = 21, ), - ATTACHMENT_SLOT_RAIL = list( + ATTACHMENT_SLOT_SCOPE = list( "x" = 13, "y" = 23, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 24, + "y" = 19, ) ) diff --git a/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm b/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm index a053a8146831..5224183f6a34 100644 --- a/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm +++ b/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm @@ -1,3 +1,6 @@ +#define SOLAR_ATTACHMENTS list(/obj/item/attachment/laser_sight,/obj/item/attachment/rail_light,/obj/item/attachment/bayonet,/obj/item/attachment/energy_bayonet,/obj/item/attachment/scope,/obj/item/attachment/long_scope) +#define SOLAR_ATTACH_SLOTS list(ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_SCOPE = 1, ATTACHMENT_SLOT_RAIL = 1) + ///SOLAR ARMORIES //fuck you im not typing the full name out //solarwaffledesuckenmydickengeschutzenweaponmanufacturinglocation @@ -121,16 +124,11 @@ slot_flags = ITEM_SLOT_BACK + valid_attachments = SOLAR_ATTACHMENTS + slot_available = SOLAR_ATTACH_SLOTS //gauss doesn't explode so there's not light. light_range = 0 - 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." @@ -166,16 +164,12 @@ slot_flags = ITEM_SLOT_BACK + valid_attachments = SOLAR_ATTACHMENTS + slot_available = SOLAR_ATTACH_SLOTS + //gauss doesn't explode so there's not light. light_range = 0 - 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 diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index 3d1c407a7e56..3e74ee826550 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -206,7 +206,8 @@ if(!istype(curloc)) return targloc = get_turf_in_angle(lastangle, curloc, 10) - P.preparePixelProjectile(targloc, current_user, current_user.client.mouseParams, 0) + var/mouse_modifiers = params2list(current_user.client.mouseParams) + P.preparePixelProjectile(targloc, current_user, mouse_modifiers, 0) P.fire(lastangle) /obj/item/gun/energy/beam_rifle/process() @@ -399,7 +400,8 @@ firing_dir = BB.firer.dir if(!BB.suppressed && firing_effect_type) new firing_effect_type(get_turf(src), firing_dir) - BB.preparePixelProjectile(target, user, params, spread) + var/modifiers = params2list(params) + BB.preparePixelProjectile(target, user, modifiers, spread) BB.fire(gun? gun.lastangle : null, null) BB = null return TRUE diff --git a/code/modules/projectiles/guns/misc/blastcannon.dm b/code/modules/projectiles/guns/misc/blastcannon.dm index 161aa216b866..b8dbdba987af 100644 --- a/code/modules/projectiles/guns/misc/blastcannon.dm +++ b/code/modules/projectiles/guns/misc/blastcannon.dm @@ -83,6 +83,7 @@ /obj/item/gun/blastcannon/afterattack(atom/target, mob/user, flag, params) if((!bomb && bombcheck) || (!target) || (get_dist(get_turf(target), get_turf(user)) <= 2)) return ..() + var/modifiers = params2list(params) var/power = bomb? calculate_bomb() : debug_power power = min(power, max_power) QDEL_NULL(bomb) @@ -98,7 +99,7 @@ log_game("Blast wave fired from [AREACOORD(starting)] at [AREACOORD(targturf)] ([target.name]) by [key_name(user)] with power [heavy]/[medium]/[light].") var/obj/projectile/blastwave/BW = new(loc, heavy, medium, light) BW.hugbox = hugbox - BW.preparePixelProjectile(target, get_turf(src), params, 0) + BW.preparePixelProjectile(target, get_turf(src), modifiers, 0) BW.fire() name = initial(name) desc = initial(desc) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 968c3f85ebbc..3a82e7d8df1b 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -837,63 +837,96 @@ if(prob(50)) homing_offset_y = -homing_offset_y -//Spread is FORCED! -/obj/projectile/proc/preparePixelProjectile(atom/target, atom/source, params, spread = 0) - var/turf/curloc = get_turf(source) - var/turf/targloc = get_turf(target) +/** + * Aims the projectile at a target. + * + * Must be passed at least one of a target or a list of click parameters. + * If only passed the click modifiers the source atom must be a mob with a client. + * + * Arguments: + * - [target][/atom]: (Optional) The thing that the projectile will be aimed at. + * - [source][/atom]: The initial location of the projectile or the thing firing it. + * - [modifiers][/list]: (Optional) A list of click parameters to apply to this operation. + * - deviation: (Optional) How the trajectory should deviate from the target in degrees. + * - //Spread is FORCED! + */ +/obj/projectile/proc/preparePixelProjectile(atom/target, atom/source, list/modifiers = null, spread = 0) + if(!(isnull(modifiers) || islist(modifiers))) + stack_trace("WARNING: Projectile [type] fired with non-list modifiers, likely was passed click params.") + modifiers = null + + var/turf/source_loc = get_turf(source) + var/turf/target_loc = get_turf(target) + if(isnull(source_loc)) + stack_trace("WARNING: Projectile [type] fired from nullspace.") + qdel(src) + return FALSE + trajectory_ignore_forcemove = TRUE - forceMove(get_turf(source)) + forceMove(source_loc) trajectory_ignore_forcemove = FALSE - starting = get_turf(source) + + starting = source_loc + pixel_x = source.pixel_x + pixel_y = source.pixel_y original = target - if(targloc || !params) - yo = targloc.y - curloc.y - xo = targloc.x - curloc.x - setAngle(Get_Angle(src, targloc) + spread) + if(length(modifiers)) + var/list/calculated = calculate_projectile_angle_and_pixel_offsets(source, target_loc && target, modifiers) - if(isliving(source) && params) - var/list/calculated = calculate_projectile_angle_and_pixel_offsets(source, params) p_x = calculated[2] p_y = calculated[3] - setAngle(calculated[1] + spread) - else if(targloc) - yo = targloc.y - curloc.y - xo = targloc.x - curloc.x - setAngle(Get_Angle(src, targloc) + spread) - else - stack_trace("WARNING: Projectile [type] fired without either mouse parameters, or a target atom to aim at!") - qdel(src) + return TRUE + + if(target_loc) + yo = target_loc.y - source_loc.y + xo = target_loc.x - source_loc.x + setAngle(get_angle(src, target_loc) + spread) + return TRUE + + stack_trace("WARNING: Projectile [type] fired without a target or mouse parameters to aim with.") + qdel(src) + return FALSE -/proc/calculate_projectile_angle_and_pixel_offsets(mob/user, params) - var/list/modifiers = params2list(params) - var/p_x = 0 - var/p_y = 0 +/proc/calculate_projectile_angle_and_pixel_offsets(atom/source, atom/target, modifiers) var/angle = 0 - if(LAZYACCESS(modifiers, ICON_X)) - p_x = text2num(LAZYACCESS(modifiers, ICON_X)) - if(LAZYACCESS(modifiers, ICON_Y)) - p_y = text2num(LAZYACCESS(modifiers, ICON_Y)) - if(LAZYACCESS(modifiers, SCREEN_LOC)) - //Split screen-loc up into X+Pixel_X and Y+Pixel_Y - var/list/screen_loc_params = splittext(LAZYACCESS(modifiers, SCREEN_LOC), ",") - - //Split X+Pixel_X up into list(X, Pixel_X) - var/list/screen_loc_X = splittext(screen_loc_params[1],":") - - //Split Y+Pixel_Y up into list(Y, Pixel_Y) - var/list/screen_loc_Y = splittext(screen_loc_params[2],":") - var/x = text2num(screen_loc_X[1]) * 32 + text2num(screen_loc_X[2]) - 32 - var/y = text2num(screen_loc_Y[1]) * 32 + text2num(screen_loc_Y[2]) - 32 - - //Calculate the "resolution" of screen based on client's view and world's icon size. This will work if the user can view more tiles than average. - var/list/screenview = getviewsize(user.client.view) - var/screenviewX = screenview[1] * world.icon_size - var/screenviewY = screenview[2] * world.icon_size - - var/ox = round(screenviewX/2) - user.client.pixel_x //"origin" x - var/oy = round(screenviewY/2) - user.client.pixel_y //"origin" y - angle = ATAN2(y - oy, x - ox) + var/p_x = LAZYACCESS(modifiers, ICON_X) ? text2num(LAZYACCESS(modifiers, ICON_X)) : world.icon_size / 2 // ICON_(X|Y) are measured from the bottom left corner of the icon. + var/p_y = LAZYACCESS(modifiers, ICON_Y) ? text2num(LAZYACCESS(modifiers, ICON_Y)) : world.icon_size / 2 // This centers the target if modifiers aren't passed. + + if(target) + var/turf/source_loc = get_turf(source) + var/turf/target_loc = get_turf(target) + var/dx = ((target_loc.x - source_loc.x) * world.icon_size) + (target.pixel_x - source.pixel_x) + (p_x - (world.icon_size / 2)) + var/dy = ((target_loc.y - source_loc.y) * world.icon_size) + (target.pixel_y - source.pixel_y) + (p_y - (world.icon_size / 2)) + + angle = ATAN2(dy, dx) + return list(angle, p_x, p_y) + + if(!ismob(source) || !LAZYACCESS(modifiers, SCREEN_LOC)) + CRASH("Can't make trajectory calculations without a target or click modifiers and a client.") + + var/mob/user = source + if(!user.client) + CRASH("Can't make trajectory calculations without a target or click modifiers and a client.") + + //Split screen-loc up into X+Pixel_X and Y+Pixel_Y + var/list/screen_loc_params = splittext(LAZYACCESS(modifiers, SCREEN_LOC), ",") + //Split X+Pixel_X up into list(X, Pixel_X) + var/list/screen_loc_X = splittext(screen_loc_params[1],":") + //Split Y+Pixel_Y up into list(Y, Pixel_Y) + var/list/screen_loc_Y = splittext(screen_loc_params[2],":") + + var/tx = (text2num(screen_loc_X[1]) - 1) * world.icon_size + text2num(screen_loc_X[2]) + var/ty = (text2num(screen_loc_Y[1]) - 1) * world.icon_size + text2num(screen_loc_Y[2]) + + //Calculate the "resolution" of screen based on client's view and world's icon size. This will work if the user can view more tiles than average. + var/list/screenview = getviewsize(user.client.view) + var/screenviewX = screenview[1] * world.icon_size + var/screenviewY = screenview[2] * world.icon_size + + var/ox = round(screenviewX/2) - user.client.pixel_x //"origin" x + var/oy = round(screenviewY/2) - user.client.pixel_y //"origin" y + angle = ATAN2(tx - oy, ty - ox) return list(angle, p_x, p_y) /obj/projectile/Destroy() diff --git a/icons/obj/guns/attachments.dmi b/icons/obj/guns/attachments.dmi index 30c7f7e0391b4f2e1e2b4c8dd8868d2296157512..6a396d74c98ecca15939485241dced7a04f4bdad 100644 GIT binary patch literal 6061 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 R6(Ils002ovPDHLkV1j^?pv3?H delta 4044 zcmV;-4>RzfB*7%GoC1H4Nkl3uBwO5``fFm(Zk}MBGYg9yPtUn{+q3ZU6tD zyPA>2`ymMtV`n}$wT)#V4kN(U@hFM{6Nj$w)F6RoAc1Befo33qW*~uPI6;BV&dwZP zm||9-SmR#xp*TAqR6;I14=oVr60e|8lBAs_=`KuR;OzXvIcR@$cJ|=|Jpb?kpPb9Z zAq6tBtRPU9z%5C#3kf^`@{zJt;XKdh3M)QJdCnDQS{n7_{QRSPV^@iwonrXKEKPPP z+|uk)lIg)zU~03OF?R{ZBPuVL2M88@7!yfj}VJ^!U*Dw zM^Ui_fxg`L6#{+kzXTV^@`%KgK1{;hn-H42hll(7+v}D>x7WA#_YV&TiXhZy0|y_? z&PJW4gBLU&&) z?qJE&orgX_zERx7SNrbUR1X!(@MKo1F?D5x6D8FC}@Jr~71=Um!X7 zBcuv)@l@fxq**v{d-J@lc>=p5VEG>CI2nFrw@=`fCYMNp;gLXKOcmbm^SoKur7;%3 z_8HqoVti49D^W_oPO>XM!ni=W_SdAEz(z#R^4e(w`sg0E5oI*E(-@uw58V{imW_>v zZ^;A0wirOFhaI{V3b2%JEr24vodAl|MaT96h;2-uLpP%Zw5i<8KHJdA-Jn13Y^#4! z1VIo4K@bE%5Cq``emi>TMr;>e@S-TVSZQQ$a5y-~81Z^Fw-JSq0?EHs1nN3wkRT?5 z^=fXCLI+bLSUr6v^WRvnV2B__r}b)X0{$&MVBLEyz|Ke-S#|j3Gbj_`mz;57DA^3BI4ShUmylgabt+&xSKE4^eA1?M0G+BRhyGGm%e*R@x z%k&&^6`)O7;sq7aCu7t)n$32_p{tK6l$4DN_&5BL-0=M_;tC;43N!BS6QSzj64#^{tf4!m+BxQyc zn9BLZg{UMFg84bMu!`0mfSs`0;Q%xWl$fptnjZ@XYa&2-__L?gEG4B%04CrS- zGRFWlY+yVv=pPJXu&D&XZp!mK;ooFe$aDfXW`fjvP{?%Bf}z1i`A6~`>@_MS6`;3Yt?`6TG2=oc=K984WAb%P$-9% za!?5)ff`5iaPWKwM(Wo)n2SC4b&rgWwKwXA0IDL=eHBxCpn4H=jDf|;`6Ix0E^k9C z7KPaaygu}FkBD)B)KNfiz963q_;-fi+Q||F+u+xszVl%RjCQ`jbs^ZOeBC3X0_l`` zS|#6O0l0sJh8xCObu#~b@O{D}1mYCNXXXQ+Z5Jlu@HYrBF<>&%FSQ%uy$U|<3_J@xLel~*Vf|D{mTOpY#Uqc>gXeid zGkh6D5ClOG1VIo4K@fyO=n=O=w_{u2c$<1yl=XjTQ)Em5@18vj-Kt4Ms_|z1Qs_)M z$B9meP%o&y;tVux)lmWiCU9TyJkeQ$5}4@<9_2=$+}|8=^x)985Jky%I7yzAN#19T z`Q#wGk1v_iID+XxJynS5h*EAI2Q0$KmE1`J!m`us89$NYKQ3q|{1$uT`WtyOAj*cv;XK(_m3S{C@c?~#ZuUX_wsWmyalUE~qO4jUNdWtUfG9>O=G#Oa?3fi3Z zm$v;)XbRMuqHC9`+$Vftf~Z!^ROhnUrn%3c^ZfGi^6c>K{*S-@`s>F`D++&;T}ITI zk17jK$_vIAcCi#qV6II@n)<}`QD~;CiBj;tW&i%0tEO12h`l~PKfgK%^v{nUKmM66 zVy4e(2$VOCJOamZ3N?S1pM|iggt>~Yo(uqyBft&8*}t+~{~B*vnnW+p78|o5*ayO? z76|7_!`b%0$FmnY>&)T=Jgt9E75Wlr>O=-H4HL@3Ttk>ckX6UVWG0T7Sdw647&Czx zex0o5!NWvad-J+&MU3&$^b5_9iKCel84O{w0&falUAoSt)zRf`n{0=gj}a@yDS)~5 z@#vRb1{p`k-rM@j9DOhm2*-pt+K-l~+krg7jfs&t4ib9Kt;ff6O&Ci_Xu|3~D zOMzN*I{Gv!EIK)n=ivsXml_%NY3mcsT?Xk|tS69qGnn-#^Vr*m6{@bF_0x`CLlwc@ z=0+iHlK_pre)2C$WSy>Ri@xZkZ9=omKo#v{ zPxsricLe0H8q&Bmj1hl#mcA#(yT#Cl)Ay&(IHZpUq|Y>@4?z$FK@bE%5X77CqVMX# zQF!=rpw?`U=hr0dlT42#zbEpvWnMEbo89t><4%Gq#fh3{!;JZJwz-rXlepSPn0S4C zof%9MdiF2;;WCc0gDNn80c16Kd7XUoD>TTuIauDxCsUWV^VNSC*el>7keK~Vt8r*S zyp-6>N*OCD7KFi`RSc^40eEbZhOarM_& zlsEn(7@B5gvOa%SJzO@JdkW|YTk&ykM45g2e3({k3dVH)s0DLdojS^{LHdlNW?|!e znFHz6*`}w3AP9mW2!bF8f*>4uhkkr3>Wn&#M~7_C#%Se8)(u5J&azXnO&BazBb}sxqliz0I)=D>wV?h?{v+;&Fjmr$u*x&?e{5 ztfX6hH*E#@{rlIiR;T(o-0|Fr>pnIskd-jQ0zL2C{4!~`{EV68*H1}v!B2~0kX5v6 zf%M8RPev-Q?ptTOBNV8yE%sfk|D;!W zq;(t!)CH}6L%jB)Qv?lP8y=TH&Tq25P}Hj!T&+awT8|0mj~e|NPFo<453Ah@j#nSM yrgx6*?~C`i&Ev$w9J*QCVMHL(h#&}pX!CzL3WQ#*wm7>0000042HG*iOzOc+jH*!Qcr?bks=Vq*7Gc1 zcXm1s!fS{Knb4|=sE!r*vtcMLheP`2AZHOo(P>lr$M7=cz=v1;n5Mdmuh7<_85R2Kd6a5f z1Uib60yIHIfJE1hJ@y%(2`XS9=%{Q4$}#;I@3Bh(!9BKnAas@EnW+>$IWkm)`v1)s zKdk~3Qvr&p02O}~6@5rrpHp_X`0e(yKJuftmb#R(+mg7f_Rq65`^7bb*X?%y4Z2Uk zfE)J|w#we`k+MPIl1K>eh5XW--QcAeyZ-^*HHv|J^h??MJyO;uC&pm)zGZdI@pW^g zb?*gAFYDuBthb4*(<~eF-jRuK!KuC)31#0TOysN|{|A5PfU|`O&cKvg#ca$NPrT{~ z#LyZ4H7jYRXZ7G5y%x}~QA=`2Zr$IQY>df$^&`rY5laKLG>_`>{z_zdks6f_ZTRWMXRLSGJ{O9H^NFK%pM4 zdZqF$YSVv!MAz8^GA#6=TOQTFW#lYkNDQSA%CW+768^%IT&&{JQdaV452 zSKum-Dk>@}Dk>@}Dk>@}DoPbK8-ZG0$ZjCTsuXeEtE6a1 z<(syZBp@ki4FC`!14gK(X-T3aJ=UhzZ%z;`;S5FXGtpuA zlmMjU&_NT)^`nVMeKruCs2aMV8^hpfKwu(L116eH0YV}ZnNK?lfjUZ`?T9T6=1(k% z=b1hu-S|7COipK7Spb)(1DT**Y8y&n0_dqUGzpCIe;dLU0)3mIsHmu@=-S%Y4)o(Y zhzfsYa&4YOkejMAAKyG7K$PLn?4DE|lVqUS1`=oev^9>Kte}3*tYM60$b<8y>a;Me zcJhM6n4HG7UJ|D83jXvkJ?4FD{z-C**}J@{I8WNO`BQaZo-bBeL#mMqd7o}7SKogx_K^b9@-(}prkeSIe5pD^=PYehGfr!t zd@6?dWTPX2%Yn>pK85x+u5|#&m#Xu=Kv^~sJ)ckhj~*|>q`3{Ctm!>ds*btU(A3Je z?o;zZM2RQw|JD4-pU};KmkngnD^&-8rmQ|+0A~Rb@@a|Mnu;%I=2V^jF=gz)k?ntq zkRL3napWX>iW2etV@s;eT)j8oqvl`2{RU;V`Jw_P?923|>V!gEIBcS^_^ulXH;P8O z%$KSo0)Y~BDEA42Rgp!XFJu{vXW%Zm{XlIO1EQzu92sx`=Tc#VYLyyTR8;i$=qj7z zYUlemRaX|z_kilvn`u{j8qX;oSh9cc)XRZzORwK9oAPs#Ep@JV0v{qV|L*-wCM287 z<@^HBQsq*6(23rADzk-_c9M8});q_$EuJfkLYLxM7*25pveqN?%Td3Evv%P5Ui%VE zwdSc8FG}q?$_E9dR%r8(`z$w*`@uue8_jJ!yM?UrwzB&yP~)U%J{Ckt~ zzk|LH0Ihw;ovkGzQGs}18}&RdTh$!ksr@1Wso;lT`5vaR8SFtO8A{wD@?;S?LV1Bn z+DcdBDJm)|`j#@!)sJf5b9;YB{izL{3{-pHrU0GBvow&>#{B84m1pu%((B^y9H>t4q4%rs z03Fs0^O(ZkY*wOSeP3qbzq#a&IK)^KRSFwIe~UO nT-^$CKV_})t*EG|=XkI~X%VSL00000NkvXXu0mjfUV8ve delta 1614 zcmV-U2C@0q5AYALwgG=7Nkl42HG*iOzNx+jH*!Qcr?bQBjCu^*qbh zot;jL@Jb>=8d?+qm7xOPRt5?w1BH}lLWTmP~_EITLMzoXy4iEwffUCN{cF})$fOh#Z_6+op=p^kU z6;KaF1d>3bM1e*Uaxcm{P!Hws1n2}h4R(r#=f`*=ZXMzNQnhS4ivid{o&ZpsN2$6- zpra@;Ks{6dNHle4vF`x&P#YZthDz2!DW)IYHFhf?xW;x5gmb01XDWqvjsz8<{(m#Z zZz}_Zlz~FZKv{oTSznUY=ak(o{&@UMU-{8%OI=FYbxB-S`{&u3{oeiTu)>J>a1kd;S4EHHv|J^kdoQGf>v2S&YH4zSHZP$LVe5_k38!D zMB7;ZwJT|+2N`elN`dJWAGe-y|%DKK%<|_O}+WKoZ?Q!5O@mqRk+X z=(<2u@&!bkaqy#F0^?U*OiiHqzX1db`>sh?zrHwnf_-ocWMgXGPqL+C7^vz8K%ri9 z8Ku%KYU6)^MANtfGA#7LEU)5x+pGe$t-}NEBw)mO75hT4Nr+VI{DmU`Sn4vGxkOc^ z3S6a;ycv&JopD?waWfwDaCI}HtgNi8tgNi8tgNi8tXNUA5vb*bY+6#RN)gw+N{Wh9 zzN%|U0+N!}000p(V1%lwnv|=DK$H|41gaVWkgR{|hH}PWu{yqfdw{43M<}YzM1$c| z0+5nz15HHNk6lEvSxa=HqHWry3xmf2K^Ku4u+eM^5E9wQeB4n8)KF};BevAqk60p) zvo<4L_&cO*PG?+M0GFo&*`Qr)8%kjU=&3X`35@bz4dDubu4c%}%E}7sZH#$e4KeD? z-<*H*w|U=%$$r9*pYxvrw6Y!O$M+&iqrt4nmOQHmQFvylI>YO$2Ov?W#d`@pX7{A( z*dznRR**O|{nj{cvx3Z!S;H7hkO${Y)u~}xJAlEjjFn7?VI<-FrTb*Byc&9-OZ=4zpZN>0P>~kEEg!_ zCL*}F_&>Tk4V&iHf|929^r<@CSXbBxj(&)d8SBtIvNI zz!`yrd^@7Hros!FAyvn``ivcTWxXQghaS~9a*{noiSYihF;!=%-W%{y!<%ruL0N5o zs6Y|>GCip}TOlqSHnFq#t_uk_iUv&POVtq@ff98n_X&elfkmG$WVsp7z+H0tf$Am% zL{HT@GT;Ett-=PyBsDNAE9>vkT{eHmm9yVhsw^Cy>wwD1lYUow9M36VSTgdI;|tp@ zecl~6<)zwdxe2K*H-ttKzB$sQ>c>&N^EJa-s{ zZpAY)oZ<{*O-JaDqh5wHb>QJzy9lP3@|2?&#hQ-tMM1F@x;$i?r3RXR@lb#8LYudq zyoa3ews38>QF;P!3Xsba@}6?kZlLY&1e@RO11^-JN6hAK>?uzXa_JQI;agkSXEUr> zf1M*^LP50A4By}>IMW+}w2AKww^%~;JLt^@(A0P4v$aShDiGh;Mm@~SCN*#Hlzx$b z)aI99`EI768SFtOxs|v@wmm35U8&()7=-+g;W{jm+43{-lb z#sHnhGd2*@#_;W{g=g|n(kGD~9^Z2x$M7sd2Y{ToLAkxiil#XXG+K;0KVE_)0_uOl zKz_J{e*R&I=%IBu=cNwrI8YhkL(8-903Fr Date: Fri, 17 Jan 2025 14:57:18 -0600 Subject: [PATCH 028/330] Automatic changelog generation for PR #3736 [ci skip] --- html/changelogs/AutoChangeLog-pr-3736.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3736.yml diff --git a/html/changelogs/AutoChangeLog-pr-3736.yml b/html/changelogs/AutoChangeLog-pr-3736.yml new file mode 100644 index 000000000000..cfe5dfef845e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3736.yml @@ -0,0 +1,9 @@ +author: Erikafox +changes: + - {rscadd: Scopes!!!} + - {rscadd: All guns now have an implicit ability to aim down sights.} + - {rscadd: aiming now slows you down.} + - {bugfix: 'fixes ported from /tg/: projectiles no longer sail into the ether when + you fire them at a distance'} + - {bugfix: aiming is now less jank} +delete-after: true From d05fce8bc75d2e154edc033cd3755cfa6ba05f5a Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 17 Jan 2025 15:02:45 -0500 Subject: [PATCH 029/330] Faction Cargo: Armor (#3887) ## About The Pull Request Adds a bunch of the stupid armor variations and not stupid hardsuits to cargo for factions to buy. Removes a bunch of armor cruft like wizard hardsuits. or chronosuits. yeah. chronosuits. those are really in the vogue now. Adjusts some values on armor / spacesuits to make them a little more unique. ## Why It's Good For The Game buy faction gear good yes yes? ## Changelog :cl: add: You can now purchase most faction's special armor at the outpost. del: a bunch of wizard bullshit, and also chrono troopers from red alert 2 code: spacesuit_armor has been split into 2 files /:cl: --------- Signed-off-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> Co-authored-by: Mark Suckerberg Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/controllers/subsystem/traumas.dm | 1 - .../antagonists/wizard/equipment/spellbook.dm | 13 - code/modules/cargo/packs.dm | 2 + code/modules/cargo/packs/armor.dm | 182 +++++++++ code/modules/cargo/packs/spacesuit_armor.dm | 144 -------- code/modules/cargo/packs/spacesuits.dm | 321 ++++++++++++++++ code/modules/clothing/factions/clip.dm | 8 +- code/modules/clothing/factions/hardliners.dm | 2 + code/modules/clothing/factions/ngr.dm | 1 + code/modules/clothing/factions/srm.dm | 2 +- code/modules/clothing/outfits/standard.dm | 9 - .../clothing/spacesuits/_spacesuits.dm | 2 +- .../modules/clothing/spacesuits/chronosuit.dm | 346 ------------------ code/modules/clothing/spacesuits/hardsuit.dm | 136 ++----- .../clothing/spacesuits/miscellaneous.dm | 1 + code/modules/clothing/spacesuits/syndi.dm | 4 +- code/modules/faction/faction_datum.dm | 5 + code/modules/holiday/holidays.dm | 1 - code/modules/mob/living/carbon/human/human.dm | 4 - code/modules/spells/spell.dm | 2 - shiptest.dme | 4 +- 21 files changed, 553 insertions(+), 637 deletions(-) create mode 100644 code/modules/cargo/packs/armor.dm delete mode 100644 code/modules/cargo/packs/spacesuit_armor.dm create mode 100644 code/modules/cargo/packs/spacesuits.dm delete mode 100644 code/modules/clothing/spacesuits/chronosuit.dm diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index 1b31fc270700..3a046a9aa020 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -123,7 +123,6 @@ SUBSYSTEM_DEF(traumas) "the supernatural" = typecacheof(list( /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/clothing/under/rank/civilian/chaplain)), "aliens" = typecacheof(list( diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index 378aa7dbe14a..261614424abc 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -287,19 +287,6 @@ item_path = /obj/item/necromantic_stone category = "Assistance" -/datum/spellbook_entry/item/armor - name = "Mastercrafted Armor Set" - desc = "An artefact suit of armor that allows you to cast spells while providing more protection against attacks and the void of space." - item_path = /obj/item/clothing/suit/space/hardsuit/wizard - category = "Defensive" - -/datum/spellbook_entry/item/armor/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) - . = ..() - if(.) - new /obj/item/tank/internals/oxygen(get_turf(user)) //i need to BREATHE - new /obj/item/clothing/shoes/sandal/magic(get_turf(user)) //In case they've lost them. - new /obj/item/clothing/gloves/combat/wizard(get_turf(user))//To complete the outfit - /datum/spellbook_entry/item/contract name = "Contract of Apprenticeship" desc = "A magical contract binding an apprentice wizard to your service, using it will summon them to your side." diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 4e26a713a6b2..dfba09b7ea9b 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -11,7 +11,9 @@ var/small_item = FALSE //Small items can be grouped into a single crate. var/datum/faction/faction + //what's the discount for buyers in our faction. var/faction_discount = 15 + //are we locked to one faction and its subgroups var/faction_locked = FALSE /datum/supply_pack/proc/generate(atom/A, datum/bank_account/paying_account) diff --git a/code/modules/cargo/packs/armor.dm b/code/modules/cargo/packs/armor.dm new file mode 100644 index 000000000000..e0013468e50f --- /dev/null +++ b/code/modules/cargo/packs/armor.dm @@ -0,0 +1,182 @@ +/datum/supply_pack/armor + group = "Armor" + crate_type = /obj/structure/closet/crate/secure + + +/* + Non-spaceworthy (armor) +*/ + +/datum/supply_pack/armor/basic_armor + name = "Armor Crate" + desc = "One set of well-rounded body armor. The set includes a helmet and vest." + cost = 750 + contains = list(/obj/item/clothing/suit/armor/vest, + /obj/item/clothing/head/helmet/sec) + crate_name = "armor crate" + crate_type = /obj/structure/closet/crate/secure/plasma + +/datum/supply_pack/armor/riot_armor + name = "Riot Armor Crate" + desc = "Contains one full set of riot armor. Although heavily padded to deal with close-quarters threats, they perform poorly against most firearms." + cost = 1500 + contains = list(/obj/item/clothing/suit/armor/riot, + /obj/item/clothing/head/helmet/riot) + crate_name = "riot armor crate" + crate_type = /obj/structure/closet/crate/secure/plasma + +/datum/supply_pack/armor/bullet_armor + name = "Bulletproof Armor Crate" + 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/glasses/sunglasses/ballistic) + crate_name = "bulletproof armor crate" + crate_type = /obj/structure/closet/crate/secure/plasma + +/datum/supply_pack/armor/laser_armor + name = "Reflector Vest Crate" + desc = "Contains one vest made of highly reflective material. The armor piece diffuses a laser's energy by over half, as well as offering a good chance to reflect the laser entirely." + cost = 1500 + contains = list(/obj/item/clothing/suit/armor/laserproof) + crate_name = "reflector vest crate" + crate_type = /obj/structure/closet/crate/secure/plasma + +/datum/supply_pack/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/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 + +//clip + +/datum/supply_pack/armor/clip_armor + name = "X-11 Armor Crate" + desc = "One set of Lanchester Manufacturing-manufactured X-11 armor, sold at a discount to the Confederated League due to a recent contract." + cost = 1250 + contains = list(/obj/item/clothing/suit/armor/vest/bulletproof, + /obj/item/clothing/head/helmet/bulletproof/x11/clip, + /obj/item/clothing/mask/gas/clip) + crate_name = "armor crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/armor/clip_riot + name = "CLIP Riot Armor Crate" + desc = "One set of Clover Corp-manufactured Riot armor, traditionally issued to BARD for xenofauna removal, but available to League vessels deployed in the Frontier due to high Xenofauna density." + cost = 1000 + contains = list(/obj/item/clothing/suit/armor/riot/clip, + /obj/item/clothing/head/helmet/riot/clip, + /obj/item/clothing/mask/gas/clip) + crate_name = "armor crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +//gezena +/datum/supply_pack/armor/pgf_armor + name = "Raksha-plate Crate" + desc = "One set of standard issue Raksha-plate armor, highly protective and very mobile. The helmet is adjustable for horns." + cost = 1500 + contains = list(/obj/item/clothing/suit/armor/gezena/marine, + /obj/item/clothing/head/helmet/gezena) + crate_name = "armor crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/pgf + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/armor/pgf_armor + name = "Navywear Coat Crate" + desc = "One replacement navywear coat. The pricing is unfortunately high to discourage distribution to marines, and encourage servicemen to keep track of their jacket." + cost = 1000 + contains = list(/obj/item/clothing/suit/armor/gezena) + crate_name = "armor crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/pgf + faction_discount = 0 + faction_locked = TRUE + +//jardliner + +/datum/supply_pack/armor/hardliner_armor + name = "Hardliner Armor Crate" + desc = "One set of well-rounded hardliner body armor. Well. Rounded aside from the painfully obvious white. Subsidized by Cybersun Biodynamics." + cost = 500 + contains = list(/obj/item/clothing/suit/armor/hardliners, + /obj/item/clothing/head/helmet/hardliners) + crate_name = "armor crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/syndicate/hardliners + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/armor/hardliner_mecha_armor + name = "Hardliner Pilot Armor Crate" + desc = "One set of armor manufactured for Hardliner exosuit pilots. The jacket is often sought out by those outside of it as a keepsake." + cost = 1500 + contains = list(/obj/item/clothing/suit/armor/hardliners/jacket, + /obj/item/clothing/head/helmet/hardliners/swat) + crate_name = "armor crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/syndicate/hardliners + faction_discount = 0 + faction_locked = TRUE + +//ngr +/datum/supply_pack/armor/ngr_armor + name = "NGR Armor Crate" + desc = "One fairly durable, well manufactured type-1 armor vest and associated helmet, painted in the proud reds of the New Gorlex Republic." + cost = 1000 + contains = list(/obj/item/clothing/suit/armor/ngr, + /obj/item/clothing/head/helmet/ngr) + crate_name = "armor crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/syndicate/ngr + faction_discount = 0 + faction_locked = TRUE + +//srm + +/datum/supply_pack/armor/srm_duster + name = "SRM Duster Crate" + desc = "One hand-stitched duster for a proud Roumainian to wear into the Hunt." + cost = 500 + contains = list(/obj/item/clothing/suit/armor/roumain) + crate_name = "duster crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/srm + faction_discount = 0 + faction_locked = TRUE + +//coalition + +/datum/supply_pack/armor/coalition_armor + name = "Coalition Armor Crate" + desc = "An surplus plate carrier left over from the ICW. Its still painted in Coalition colors and likely to trigger IFF on turrets around the Frontier." + cost = 750 + contains = list(/obj/item/clothing/suit/armor/vest/syndie, + /obj/item/clothing/head/helmet/syndie) + crate_name = "armor crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/syndicate + faction_discount = 0 + faction_locked = TRUE + + diff --git a/code/modules/cargo/packs/spacesuit_armor.dm b/code/modules/cargo/packs/spacesuit_armor.dm deleted file mode 100644 index d0b1da6be6d2..000000000000 --- a/code/modules/cargo/packs/spacesuit_armor.dm +++ /dev/null @@ -1,144 +0,0 @@ -/datum/supply_pack/spacesuit_armor - group = "Spacesuits & Armor" - crate_type = /obj/structure/closet/crate/secure - -/* - Spacesuits (two parts, helm and suit) -*/ - -/datum/supply_pack/spacesuit_armor/spacesuit - name = "Space Suit Crate" - desc = "Contains one basic space suit. Although the technology is centuries old, it should protect you from the vacuum of space." - cost = 500 - contains = list(/obj/item/clothing/suit/space, - /obj/item/clothing/head/helmet/space) - crate_name = "space suit crate" - -/datum/supply_pack/spacesuit_armor/pilot_spacesuit - name = "Pilot Space Suit Crate" - 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) - crate_name = "pilot space suit crate" - -/datum/supply_pack/spacesuit_armor/mining_hardsuits_indie - name = "Mining Hardsuit Crate" - 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" - crate_type = /obj/structure/closet/crate/secure/plasma - -/datum/supply_pack/spacesuit_armor/med_hardsuit - name = "Medical Hardsuit Crate" - desc = "One medical hardsuit, resistant to diseases and useful for retrieving patients in space." - cost = 1500 - 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" - desc = "One deluxe heavy mining hardsuit for dangerous frontier operations. Comes with a pair of EXOCOM jet boots." - cost = 3500 - contains = list(/obj/item/clothing/suit/space/hardsuit/mining/heavy, - /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" - desc = "Contains one security hardsuit for light combat duty." - cost = 2500 - 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" - desc = "Contains one science hardsuit, designed to provide safety under advanced experimental conditions." - cost = 2000 - 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" - desc = "Need to turn your ship into a safety hazard? Not a problem! This engineering space suit will help get the job done." - cost = 1500 - contains = list(/obj/item/clothing/suit/space/engineer, - /obj/item/clothing/head/helmet/space/light/engineer) - crate_name = "engineering space suit crate" - crate_type = /obj/structure/closet/crate/secure/engineering - -/datum/supply_pack/spacesuit_armor/atmos_hardsuit - name = "Atmospherics Hardsuit Crate" - desc = "The iconic hardsuit of Nanotrasen's Atmosphere Corps, this hardsuit is known across space as a symbol of defiance in the face of sudden decompression. Smells faintly of plasma." - cost = 2500 - contains = list(/obj/item/clothing/suit/space/hardsuit/engine/atmos) - crate_name = "atmospherics hardsuit crate" - crate_type = /obj/structure/closet/crate/secure/engineering - faction = /datum/faction/nt - -/* - Non-spaceworthy (armor) -*/ - -/datum/supply_pack/spacesuit_armor/basic_armor - name = "Armor Crate" - desc = "One set of well-rounded body armor. The set includes a helmet and vest." - cost = 750 - contains = list(/obj/item/clothing/suit/armor/vest, - /obj/item/clothing/head/helmet/sec) - crate_name = "armor crate" - crate_type = /obj/structure/closet/crate/secure/plasma - -/datum/supply_pack/spacesuit_armor/riot_armor - name = "Riot Armor Crate" - desc = "Contains one full set of riot armor. Although heavily padded to deal with close-quarters threats, they perform poorly against most firearms." - cost = 1500 - contains = list(/obj/item/clothing/suit/armor/riot, - /obj/item/clothing/head/helmet/riot) - crate_name = "riot armor crate" - crate_type = /obj/structure/closet/crate/secure/plasma - -/datum/supply_pack/spacesuit_armor/bullet_armor - name = "Bulletproof Armor Crate" - 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/glasses/sunglasses/ballistic) - crate_name = "bulletproof armor crate" - crate_type = /obj/structure/closet/crate/secure/plasma - -/datum/supply_pack/spacesuit_armor/laser_armor - name = "Reflector Vest Crate" - desc = "Contains one vest made of highly reflective material. The armor piece diffuses a laser's energy by over half, as well as offering a good chance to reflect the laser entirely." - cost = 1500 - 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/spacesuits.dm b/code/modules/cargo/packs/spacesuits.dm new file mode 100644 index 000000000000..6c02599c7ee2 --- /dev/null +++ b/code/modules/cargo/packs/spacesuits.dm @@ -0,0 +1,321 @@ +/datum/supply_pack/spacesuits + group = "Spacesuits" + crate_type = /obj/structure/closet/crate/secure + +/* + Spacesuits (two parts, helm and suit) +*/ + +/datum/supply_pack/spacesuits/spacesuit + name = "Space Suit Crate" + desc = "Contains one basic space suit. Although the technology is centuries old, it should protect you from the vacuum of space." + cost = 500 + contains = list(/obj/item/clothing/suit/space, + /obj/item/clothing/head/helmet/space) + crate_name = "space suit crate" + +/datum/supply_pack/spacesuits/pilot_spacesuit + name = "Pilot Space Suit Crate" + 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) + crate_name = "pilot space suit crate" + +/datum/supply_pack/spacesuits/engi_spacesuit + name = "Engineering Space Suit Crate" + desc = "Need to turn your ship into a safety hazard? Not a problem! This engineering space suit will help get the job done." + cost = 1500 + contains = list(/obj/item/clothing/suit/space/engineer, + /obj/item/clothing/head/helmet/space/light/engineer) + crate_name = "engineering space suit crate" + crate_type = /obj/structure/closet/crate/secure/engineering + +//syndicate + +/datum/supply_pack/spacesuits/armored_spacesuit + name = "Armored Space Suit Crate" + desc = "Contains one armored spacesuit. Generic enough to be manufactured and distributed by most ex-Coalition groups." + cost = 1500 + contains = list(/obj/item/clothing/suit/space/syndicate/black, + /obj/item/clothing/head/helmet/space/syndicate/black) + faction = /datum/faction/syndicate + faction_discount = 30 + +/datum/supply_pack/spacesuits/armored_engi_spacesuit + name = "Coalition Engineering Space Suit Crate" + desc = "Contains one lightly armored engineering spacesuit. Generic enough to be manufactured by most ex-Coalition groups." + cost = 1000 + contains = list(/obj/item/clothing/suit/space/syndicate/black/engie, + /obj/item/clothing/head/helmet/space/syndicate/black/engie) + faction = /datum/faction/syndicate + faction_locked = TRUE + faction_discount = 0 + +//inteq + +/datum/supply_pack/spacesuits/spacesuit/inteq + name = "Inteq Space Suit Crate" + desc = "Contains one IRMG Space Suit, manufactured aboard the Mothership and widely distributed among Inteq. Most of the cost is logistical in nature." + cost = 500 + contains = list(/obj/item/clothing/suit/space/inteq, + /obj/item/clothing/head/helmet/space/inteq) + crate_name = "space suit crate" + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +//solgov + +/datum/supply_pack/spacesuits/spacesuit/solgov + name = "Solarian Vacsuit Crate" + desc = "Contains one Tortoise Microlite Armored Suit, the pride and joy of many Solarian explorers." + cost = 600 + contains = list(/obj/item/clothing/suit/space/solgov, + /obj/item/clothing/head/helmet/space/solgov) + crate_name = "space suit crate" + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE + +//fucking gezena + +/datum/supply_pack/spacesuits/spacesuit/pgf + name = "Rakalla Crate" + desc = "Contains one Rakalla Suit. It provides robust-enough protection from the elements while being quite flexible." + cost = 600 + contains = list(/obj/item/clothing/suit/space/gezena, + /obj/item/clothing/head/helmet/space/gezena) + crate_name = "rakalla suit crate" + faction = /datum/faction/pgf + faction_discount = 0 + faction_locked = TRUE + + +/* + Hardsuits +*/ + +/datum/supply_pack/spacesuits/mining_hardsuits_indie + name = "Mining Hardsuit Crate" + 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" + crate_type = /obj/structure/closet/crate/secure/plasma + +/datum/supply_pack/spacesuits/sec_hardsuit_bundle + name = "Security Hardsuit Crate" + desc = "Contains one security hardsuit for light combat duty." + cost = 2000 + contains = list(/obj/item/clothing/suit/space/hardsuit/security/independent) + crate_name = "security hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + + +//nt hardsuit breaker + +/datum/supply_pack/spacesuits/med_hardsuit + name = "Medical Hardsuit Crate" + desc = "One medical hardsuit, resistant to diseases and useful for retrieving patients in space." + cost = 1500 + 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/spacesuits/engineering_hardsuit + name = "Engineering Hardsuit Crate" + desc = "One engineering hardsuit, resistant to fire, radiation, and other engineering hazards. Nanotrasen reminds you that Resistant does not mean Immune." + cost = 2500 + contains = list(/obj/item/clothing/suit/space/hardsuit/engine) + crate_name = "engineering hardsuit crate" + crate_type = /obj/structure/closet/crate/medical + faction = /datum/faction/nt + +/datum/supply_pack/spacesuits/mining_hardsuit_heavy + name = "Heavy Mining Hardsuit Crate" + desc = "One heavy-duty mining hardsuit for dangerous frontier operations. Comes with a pair of EXOCOM jet boots." + cost = 3500 + contains = list(/obj/item/clothing/suit/space/hardsuit/mining/heavy, + /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/spacesuits/sci_hardsuit + name = "Scientific Hardsuit Crate" + desc = "Contains one science hardsuit, designed to provide safety under advanced experimental conditions, or while handling explosives." + cost = 2000 + contains = list(/obj/item/clothing/suit/space/hardsuit/rd) + crate_name = "scientific hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/science + faction = /datum/faction/nt + +/datum/supply_pack/spacesuits/atmos_hardsuit + name = "Atmospherics Hardsuit Crate" + desc = "The iconic hardsuit of Nanotrasen's Atmosphere Corps, this hardsuit is known across space as a symbol of defiance in the face of sudden decompression. Smells faintly of plasma." + cost = 2500 + contains = list(/obj/item/clothing/suit/space/hardsuit/engine/atmos) + crate_name = "atmospherics hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/engineering + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/spacesuits/advanced_hardsuit + name = "Advanced Hardsuit Crate" + desc = "The culimination of research into robust engineering equipment. This hardsuit makes the wearer near immune to the natural hazards the Frontier can throw." + cost = 4000 + contains = list(/obj/item/clothing/suit/space/hardsuit/engine/elite) + crate_name = "advanced hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/engineering + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/spacesuits/heavy_sec_hardsuit + name = "Heavy Security Hardsuit Crate" + desc = "Nanotrasen's premier solution to security hazards in low pressure environments, a well armored, highly mobile combat suit. The wearer is advised to have their zero-g training completed before utilizing the jetpack module." + cost = 5000 + contains = list(/obj/item/clothing/suit/space/hardsuit/security/hos) + crate_name = "advanced hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +//general syndicate + +/datum/supply_pack/spacesuits/op_hardsuit //pls nerf + name = "Blood Red Hardsuit Crate" + desc = "The terrifying visage of a Blood-red Hardsuit has heralded the end of many corporate rats. This is most likely due to favorable survivablity onion ratings in its design." + cost = 5000 + contains = list(/obj/item/clothing/suit/space/hardsuit/syndi) + crate_name = "blood-red hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/syndicate + faction_locked = TRUE + +//cybersun breaker + +/datum/supply_pack/spacesuits/neutron_hardsuit + name = "Neutron Star Hardsuit Crate" + desc = "Cybersuns premier offering in the field of combat hardsuits, the Neutron Star is incredibly effective against lasers, but lacks against ballistic weaponry. " + cost = 3000 + contains = list(/obj/item/clothing/suit/space/hardsuit/syndi/cybersun) + crate_name = "neutron star hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/syndicate/cybersun + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/spacesuits/cmt_hardsuit + name = "CMT Hardsuit Crate" + desc = "A reconfiguring of the Neutron Star hardsuit resulted in the CMT, or Cybersun Medical Technician hardsuit. The CMT protects against biological hazards, light weaponsfire, and the usual hazards of space." + cost = 2000 + contains = list(/obj/item/clothing/suit/space/hardsuit/syndi/cybersun/paramed) + crate_name = "neutron star hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/syndicate/cybersun + faction_discount = 0 + faction_locked = TRUE + +//inteq hardsuits + +/datum/supply_pack/spacesuits/pointman_hardsuit + name = "Pointman Hardsuit Crate" + desc = "The heaviest armor fielded by Inteq, the Pointman is a modification of surplus Blood-Red hardsuits retrofitted to fit the IRMG's mission profile." + cost = 5000 + contains = list(/obj/item/clothing/suit/space/hardsuit/syndi/inteq) + crate_name = "pointman hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/inteq + faction_locked = TRUE + +/datum/supply_pack/spacesuits/inteq_hardsuit + name = "Inteq Hardsuit Crate" + desc = "A bulky Mothership-native design with a monocular viewport. The Inteq Hardsuit provides decent protection and combat manueverability for members of IRMG." + cost = 3000 + contains = list(/obj/item/clothing/suit/space/hardsuit/security/independent/inteq) + crate_name = "inteq hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +//solarian hardsuit + +/datum/supply_pack/spacesuits/solar_hardsuit + name = "Solarian Hardsuit Crate" + desc = "A heavy duty hardsuit manufactured for the Solarian Confederation. It provides decent protection while making use of an exoskeleton to stay mobile." + cost = 5000 + contains = list(/obj/item/clothing/suit/space/hardsuit/solgov) + crate_name = "solarian hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE + +//clip jardsuits + +/datum/supply_pack/spacesuits/patroller_hardsuit + name = "Patroller Hardsuit Crate" + desc = "A lightly armored but highly manueverable suit utilized by the Confederated League. It allows the user to maintain a near full range of motion during usage." + cost = 2000 + contains = list(/obj/item/clothing/suit/space/hardsuit/clip_patroller) + crate_name = "patroller hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/spacesuits/spotter_hardsuit + name = "Spotter Hardsuit Crate" + desc = "A well armored hardsuit used as the counterpart to the Patroller, the Spotter lacks in mobility and makes up for it with bulky armor capable of protecting the user." + cost = 4000 + contains = list(/obj/item/clothing/suit/space/hardsuit/clip_spotter) + crate_name = "patroller hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +//jardline + +/datum/supply_pack/spacesuits/white_red_hardsuit + name = "White-Red Hardsuit Crate" + desc = "Cybersun Biodynamics's proudly manufactured modification to the original production of Blood Red Hardsuits. Excellent protect, excellent mobility, and only a questionable sense in coloration." + cost = 5000 + contains = list(/obj/item/clothing/suit/space/hardsuit/syndi/hl) + crate_name = "white-red hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/syndicate/hardliners + faction_discount = 0 + faction_locked = TRUE + +//ngr + +/datum/supply_pack/spacesuits/beige_red_hardsuit + name = "Beige-Red Hardsuit Crate" + desc = "A widely producted variation on the classic Blood-Red hardsuit produced by factories with in the New Gorlex Republic. This suit protects the wearer with thick plates and stylish colors." + cost = 5000 + contains = list(/obj/item/clothing/suit/space/hardsuit/syndi/ngr) + crate_name = "beige-red hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/syndicate/ngr + faction_discount = 0 + faction_locked = TRUE + +//srm + +/datum/supply_pack/spacesuits/roumain_hardsuit + name = "Roumain Hardsuit Crate" + desc = "A hardsuit hand-crafted to resemble plate armor of yore, the Roumain Hardsuit allows the wearer to swiftly move whilst on the hunt, while protecting them from the beasts around them." + cost = 5000 + contains = list(/obj/item/clothing/suit/space/hardsuit/solgov/roumain) + crate_name = "roumain hardsuit crate" + crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/srm + faction_discount = 0 + faction_locked = TRUE diff --git a/code/modules/clothing/factions/clip.dm b/code/modules/clothing/factions/clip.dm index cdb3dcfce757..41019a0e62ab 100644 --- a/code/modules/clothing/factions/clip.dm +++ b/code/modules/clothing/factions/clip.dm @@ -181,6 +181,8 @@ icon = 'icons/obj/clothing/faction/clip/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/clip/suits.dmi' + slowdown = 0.2 + icon_state = "hardsuit-clip-patrol" hardsuit_type = "hardsuit-clip-patrol" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/clip_patroller @@ -213,12 +215,12 @@ icon_state = "clip_spotter" hardsuit_type = "clip_spotter" - armor = list("melee" = 50, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 80) + armor = list("melee" = 50, "bullet" = 60, "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/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) resistance_flags = null - slowdown = 1 + slowdown = 1.25 supports_variations = DIGITIGRADE_VARIATION_SAME_ICON_FILE @@ -232,7 +234,7 @@ icon_state = "hardsuit0-clip_spotter" hardsuit_type = "clip_spotter" - armor = list("melee" = 50, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 80) + armor = list("melee" = 50, "bullet" = 60, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 80) resistance_flags = null supports_variations = SNOUTED_VARIATION diff --git a/code/modules/clothing/factions/hardliners.dm b/code/modules/clothing/factions/hardliners.dm index a1fe2fe6b2ce..3f9f0f2871cb 100644 --- a/code/modules/clothing/factions/hardliners.dm +++ b/code/modules/clothing/factions/hardliners.dm @@ -71,6 +71,7 @@ icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' blood_overlay_type = "armor" + armor = list("melee" = 35, "bullet" = 40, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) //ngr armor reskin - same statline /obj/item/clothing/suit/armor/hardliners/jacket name = "hardliners armored kutte" @@ -80,6 +81,7 @@ icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' blood_overlay_type = "armor" + armor = list("melee" = 35, "bullet" = 40, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) //its not like they cover your arms. /obj/item/clothing/suit/armor/hardliners/sergeant name = "hardliners sergeant jacket" diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index 366fa3b37cfe..81feb19e02c4 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -95,6 +95,7 @@ icon = 'icons/obj/clothing/faction/ngr/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/suits.dmi' blood_overlay_type = "armor" + armor = list("melee" = 35, "bullet" = 40, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) // 5. additional. bullet armor. /obj/item/clothing/suit/armor/ngr/lieutenant name = "\improper 2nd Battlegroup overcoat" diff --git a/code/modules/clothing/factions/srm.dm b/code/modules/clothing/factions/srm.dm index 34e6b4218fe4..481e9f1b0f52 100644 --- a/code/modules/clothing/factions/srm.dm +++ b/code/modules/clothing/factions/srm.dm @@ -95,7 +95,7 @@ worn_y_offset = 4 supports_variations = KEPORI_VARIATION -/obj/item/clothing/suit/space/hardsuit/solgov/roumain +/obj/item/clothing/suit/space/hardsuit/solgov/roumain //i swear to fuck whoever is subtyping these. you will face my wrath. name = "\improper roumain hardsuit" desc = "A hand-crafted suit of armor either modified from a set of normal plate armor or designed to resemble one. A powered exoskeleton has been cleverly integrated into the design and, surprisingly, it is completely vacuum-proof. Suits like this are a testament to what the master craftsmen of Hunter's Pride are capable of." icon = 'icons/obj/clothing/faction/srm/suits.dmi' diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 3687ff2c166f..9a862d182129 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -88,15 +88,6 @@ mask = /obj/item/clothing/mask/breath gloves = /obj/item/clothing/gloves/color/plasmaman -/datum/outfit/chrono_agent - name = "Timeline Eradication Agent" - uniform = /obj/item/clothing/under/color/white - suit = /obj/item/clothing/suit/space/chronos - back = /obj/item/chrono_eraser - head = /obj/item/clothing/head/helmet/space/chronos - mask = /obj/item/clothing/mask/breath - suit_store = /obj/item/tank/internals/oxygen - /datum/outfit/debug //Debug objs plus hardsuit name = "Debug outfit" uniform = /obj/item/clothing/under/misc/patriotsuit diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index f540c175df5a..832f655051de 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -6,7 +6,7 @@ mob_overlay_icon = 'icons/mob/clothing/head/spacesuits.dmi' icon_state = "spaceold" desc = "A special helmet with solar UV shielding to protect your eyes from harmful rays." - clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS //WS Port - Cit Internals + clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS item_state = "spaceold" permeability_coefficient = 0.01 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 50, "fire" = 80, "acid" = 70) diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm deleted file mode 100644 index 6bbde7b4a4dc..000000000000 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ /dev/null @@ -1,346 +0,0 @@ -/obj/item/clothing/head/helmet/space/chronos - name = "Chronosuit Helmet" - desc = "A white helmet with an opaque blue visor." - icon_state = "chronohelmet" - item_state = "chronohelmet" - slowdown = 1 - armor = list("melee" = 60, "bullet" = 60, "laser" = 60, "energy" = 60, "bomb" = 30, "bio" = 90, "rad" = 90, "fire" = 100, "acid" = 100) - resistance_flags = FIRE_PROOF | ACID_PROOF - var/obj/item/clothing/suit/space/chronos/suit - -/obj/item/clothing/head/helmet/space/chronos/dropped() - if(suit) - suit.deactivate(1, 1) - ..() - -/obj/item/clothing/head/helmet/space/chronos/Destroy() - dropped() - return ..() - - -/obj/item/clothing/suit/space/chronos - name = "Chronosuit" - desc = "An advanced spacesuit equipped with time-bluespace teleportation and anti-compression technology." - icon_state = "chronosuit" - item_state = "chronosuit" - actions_types = list(/datum/action/item_action/toggle) - armor = list("melee" = 60, "bullet" = 60, "laser" = 60, "energy" = 60, "bomb" = 30, "bio" = 90, "rad" = 90, "fire" = 100, "acid" = 1000) - resistance_flags = FIRE_PROOF | ACID_PROOF - var/list/chronosafe_items = list(/obj/item/chrono_eraser, /obj/item/gun/energy/chrono_gun) - var/obj/item/clothing/head/helmet/space/chronos/helmet - var/obj/effect/chronos_cam/camera - var/datum/action/innate/chrono_teleport/teleport_now = new - var/activating = 0 - var/activated = 0 - var/cooldowntime = 50 //deciseconds - var/teleporting = 0 - var/phase_timer_id - -/obj/item/clothing/suit/space/chronos/Initialize() - teleport_now.chronosuit = src - teleport_now.target = src - return ..() - -/obj/item/clothing/suit/space/chronos/proc/new_camera(mob/user) - if(camera) - qdel(camera) - camera = new /obj/effect/chronos_cam(user) - camera.holder = user - camera.chronosuit = src - user.reset_perspective(camera) - user.set_machine(camera) - user.remote_control = camera - -/obj/item/clothing/suit/space/chronos/ui_action_click() - if((cooldown <= world.time) && !teleporting && !activating) - if(!activated) - activate() - else - deactivate() - -/obj/item/clothing/suit/space/chronos/dropped() - if(activated) - deactivate() - ..() - -/obj/item/clothing/suit/space/chronos/Destroy() - dropped() - QDEL_NULL(teleport_now) - return ..() - -/obj/item/clothing/suit/space/chronos/emp_act(severity) - . = ..() - if(. & EMP_PROTECT_SELF) - return - var/mob/living/carbon/human/user = src.loc - switch(severity) - if(1) - if(activated && user && ishuman(user) && (user.wear_suit == src)) - to_chat(user, "E:FATAL:RAM_READ_FAIL\nE:FATAL:STACK_EMPTY\nE:FATAL:READ_NULL_POINT\nE:FATAL:PWR_BUS_OVERLOAD") - to_chat(user, "An electromagnetic pulse disrupts your [name] and violently tears you out of time-bluespace!") - user.emote("scream") - deactivate(1, 1) - -/obj/item/clothing/suit/space/chronos/proc/finish_chronowalk(mob/living/carbon/human/user, turf/to_turf) - if(!user) - user = src.loc - if(phase_timer_id) - deltimer(phase_timer_id) - phase_timer_id = 0 - if(istype(user)) - if(to_turf) - user.forceMove(to_turf) - user.SetStun(0) - user.next_move = 1 - user.alpha = 255 - user.update_atom_colour() - user.animate_movement = FORWARD_STEPS - user.notransform = 0 - user.set_anchored(FALSE) - teleporting = 0 - for(var/obj/item/I in user.held_items) - REMOVE_TRAIT(I, TRAIT_NODROP, CHRONOSUIT_TRAIT) - if(camera) - camera.remove_target_ui() - camera.forceMove(user) - user.reset_perspective(camera) - teleport_now.UpdateButtonIcon() - -/obj/item/clothing/suit/space/chronos/proc/chronowalk(atom/location) - var/mob/living/carbon/human/user = src.loc - if(activated && !teleporting && user && istype(user) && location && user.loc && location.loc && user.wear_suit == src && user.stat == CONSCIOUS) - teleporting = 1 - var/turf/from_turf = get_turf(user) - var/turf/to_turf = get_turf(location) - var/distance = cheap_hypotenuse(from_turf.x, from_turf.y, to_turf.x, to_turf.y) - var/phase_in_ds = distance*2 - - if(camera) - camera.remove_target_ui() - - teleport_now.UpdateButtonIcon() - - var/list/nonsafe_slots = list(ITEM_SLOT_BELT, ITEM_SLOT_BACK) - var/list/exposed = list() - for(var/slot in nonsafe_slots) - var/obj/item/slot_item = user.get_item_by_slot(slot) - exposed += slot_item - exposed += user.held_items - for(var/exposed_item in exposed) - var/obj/item/exposed_I = exposed_item - if(exposed_I && !(exposed_I.type in chronosafe_items) && user.dropItemToGround(exposed_I)) - to_chat(user, "Your [exposed_I.name] got left behind.") - - user.ExtinguishMob() - - for(var/obj/item/I in user.held_items) - ADD_TRAIT(I, TRAIT_NODROP, CHRONOSUIT_TRAIT) - user.animate_movement = NO_STEPS - user.changeNext_move(8 + phase_in_ds) - user.notransform = 1 - user.set_anchored(TRUE) - user.Stun(INFINITY) - - animate(user, color = "#00ccee", time = 3) - phase_timer_id = addtimer(CALLBACK(src, PROC_REF(phase_2), user, to_turf, phase_in_ds), 3, TIMER_STOPPABLE) - -/obj/item/clothing/suit/space/chronos/proc/phase_2(mob/living/carbon/human/user, turf/to_turf, phase_in_ds) - if(teleporting && activated && user) - animate(user, color = list(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 1,1,1,0), time = 2) - phase_timer_id = addtimer(CALLBACK(src, PROC_REF(phase_3), user, to_turf, phase_in_ds), 2, TIMER_STOPPABLE) - else - finish_chronowalk(user, to_turf) - -/obj/item/clothing/suit/space/chronos/proc/phase_3(mob/living/carbon/human/user, turf/to_turf, phase_in_ds) - if(teleporting && activated && user) - user.forceMove(to_turf) - animate(user, color = "#00ccee", time = phase_in_ds) - phase_timer_id = addtimer(CALLBACK(src, PROC_REF(phase_4), user, to_turf), phase_in_ds, TIMER_STOPPABLE) - else - finish_chronowalk(user, to_turf) - -/obj/item/clothing/suit/space/chronos/proc/phase_4(mob/living/carbon/human/user, turf/to_turf) - if(teleporting && activated && user) - animate(user, color = "#ffffff", time = 3) - phase_timer_id = addtimer(CALLBACK(src, PROC_REF(finish_chronowalk), user, to_turf), 3, TIMER_STOPPABLE) - else - finish_chronowalk(user, to_turf) - -/obj/item/clothing/suit/space/chronos/process() - if(activated) - var/mob/living/carbon/human/user = src.loc - if(user && ishuman(user) && (user.wear_suit == src)) - if(camera && (user.remote_control == camera)) - if(!teleporting) - if(camera.loc != user && ((camera.x != user.x) || (camera.y != user.y) || (camera.virtual_z() != user.virtual_z()))) - if(camera.phase_time <= world.time) - chronowalk(camera) - else - camera.remove_target_ui() - else - new_camera(user) - else - STOP_PROCESSING(SSobj, src) - -/obj/item/clothing/suit/space/chronos/proc/activate() - if(!activating && !activated && !teleporting) - activating = 1 - var/mob/living/carbon/human/user = src.loc - if(user && ishuman(user) && user.wear_suit == src) - to_chat(user, "\nChronosuitMK4 login: root") - to_chat(user, "Password:\n") - to_chat(user, "root@ChronosuitMK4# chronowalk4 --start\n") - if(user.head && istype(user.head, /obj/item/clothing/head/helmet/space/chronos)) - to_chat(user, "\[ ok \] Mounting /dev/helm") - helmet = user.head - ADD_TRAIT(helmet, TRAIT_NODROP, CHRONOSUIT_TRAIT) - helmet.suit = src - ADD_TRAIT(src, TRAIT_NODROP, CHRONOSUIT_TRAIT) - to_chat(user, "\[ ok \] Starting brainwave scanner") - to_chat(user, "\[ ok \] Starting ui display driver") - to_chat(user, "\[ ok \] Initializing chronowalk4-view") - new_camera(user) - START_PROCESSING(SSobj, src) - activated = 1 - else - to_chat(user, "\[ fail \] Mounting /dev/helm") - to_chat(user, "FATAL: Unable to locate /dev/helm. Aborting...") - teleport_now.Grant(user) - cooldown = world.time + cooldowntime - activating = 0 - -/obj/item/clothing/suit/space/chronos/proc/deactivate(force = 0, silent = FALSE) - if(activated && (!teleporting || force)) - activating = 1 - var/mob/living/carbon/human/user = src.loc - var/hard_landing = teleporting && force - REMOVE_TRAIT(src, TRAIT_NODROP, CHRONOSUIT_TRAIT) - cooldown = world.time + cooldowntime * 1.5 - activated = 0 - activating = 0 - finish_chronowalk() - if(user && ishuman(user)) - teleport_now.Remove(user) - if(user.wear_suit == src) - if(hard_landing) - user.electrocute_act(35, src, flags = SHOCK_NOGLOVES) - user.Paralyze(200) - if(!silent) - to_chat(user, "\nroot@ChronosuitMK4# chronowalk4 --stop\n") - if(camera) - to_chat(user, "\[ ok \] Sending TERM signal to chronowalk4-view") - if(helmet) - to_chat(user, "\[ ok \] Stopping ui display driver") - to_chat(user, "\[ ok \] Stopping brainwave scanner") - to_chat(user, "\[ ok \] Unmounting /dev/helmet") - to_chat(user, "logout") - if(helmet) - REMOVE_TRAIT(helmet, TRAIT_NODROP, CHRONOSUIT_TRAIT) - helmet.suit = null - helmet = null - user.reset_perspective() - user.set_machine() - user.remote_control = null - if(camera) - QDEL_NULL(camera) - -/obj/effect/chronos_cam - name = "Chronosuit View" - density = FALSE - anchored = TRUE - invisibility = INVISIBILITY_ABSTRACT - opacity = FALSE - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - var/mob/holder - var/phase_time = 0 - var/phase_time_length = 3 - var/atom/movable/screen/chronos_target/target_ui - var/obj/item/clothing/suit/space/chronos/chronosuit - -/obj/effect/chronos_cam/singularity_act() - return - -/obj/effect/chronos_cam/singularity_pull() - return - -/obj/effect/chronos_cam/proc/create_target_ui() - if(holder && holder.client && chronosuit) - if(target_ui) - remove_target_ui() - target_ui = new(src, holder) - holder.client.screen += target_ui - -/obj/effect/chronos_cam/proc/remove_target_ui() - if(target_ui) - QDEL_NULL(target_ui) - -/obj/effect/chronos_cam/relaymove(mob/living/user, direction) - if(!holder) - qdel(src) - return - if(user == holder) - if(loc == user || (user.client && user.client.eye != src)) - forceMove(user.drop_location()) - user.set_machine(src) - user.reset_perspective(src) - var/atom/step = get_step(src, direction) - if(step) - if((step.x <= TRANSITIONEDGE) || (step.x >= (world.maxx - TRANSITIONEDGE - 1)) || (step.y <= TRANSITIONEDGE) || (step.y >= (world.maxy - TRANSITIONEDGE - 1))) - if(!Move(step)) - forceMove(step) - else - forceMove(step) - if((x == holder.x) && (y == holder.y) && (z == holder.z)) - forceMove(user) - user.reset_perspective(user) - remove_target_ui() - else if(!target_ui) - create_target_ui() - phase_time = world.time + phase_time_length - -/obj/effect/chronos_cam/check_eye(mob/user) - if(user != holder) - qdel(src) - -/obj/effect/chronos_cam/on_unset_machine(mob/user) - user.reset_perspective(null) - -/obj/effect/chronos_cam/Destroy() - if(holder) - if(holder.remote_control == src) - holder.remote_control = null - if(holder.client && (holder.machine == src)) - holder.unset_machine() - return ..() - -/atom/movable/screen/chronos_target - name = "target display" - screen_loc = "CENTER,CENTER" - color = list(1,0,0,0, 0,1,0,0.8, 0,0,1,0.933, 0,0,0,0, 0,0,0,0) - appearance_flags = KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE - -/atom/movable/screen/chronos_target/Initialize(mapload, mob/living/carbon/human/user) - if(user) - vis_contents += user - else - qdel(src) - return ..() - -/datum/action/innate/chrono_teleport - name = "Teleport Now" - icon_icon = 'icons/mob/actions/actions_minor_antag.dmi' - button_icon_state = "chrono_phase" - check_flags = AB_CHECK_CONSCIOUS //|AB_CHECK_INSIDE - var/obj/item/clothing/suit/space/chronos/chronosuit = null - -/datum/action/innate/chrono_teleport/Destroy() - chronosuit = null - return ..() - -/datum/action/innate/chrono_teleport/IsAvailable() - return (chronosuit && chronosuit.activated && chronosuit.camera && !chronosuit.teleporting) - -/datum/action/innate/chrono_teleport/Activate() - if(IsAvailable()) - if(chronosuit.camera) - chronosuit.chronowalk(chronosuit.camera) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 6542baf36c16..23b6017a94dc 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -226,7 +226,7 @@ item_state = "atmo_helm" hardsuit_type = "atmospherics" armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 25, "fire" = 100, "acid" = 75) - heat_protection = HEAD //Uncomment to enable firesuit protection + heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT /obj/item/clothing/suit/space/hardsuit/engine/atmos @@ -234,8 +234,8 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has thermal shielding." icon_state = "hardsuit-atmospherics" item_state = "atmo_hardsuit" - armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 25, "fire" = 100, "acid" = 75) - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection + armor = list("melee" = 30, "bullet" = 10, "laser" = 10, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 25, "fire" = 100, "acid" = 75) + heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos @@ -540,31 +540,6 @@ hardsuit_type = "pointman" full_retraction = TRUE - //Wizard hardsuit -/obj/item/clothing/head/helmet/space/hardsuit/wizard - name = "gem-encrusted hardsuit helmet" - desc = "A bizarre gem-encrusted helmet that radiates magical energies." - icon_state = "hardsuit0-wiz" - item_state = "wiz_helm" - hardsuit_type = "wiz" - resistance_flags = FIRE_PROOF | ACID_PROOF //No longer shall our kind be foiled by lone chemists with spray bottles! - armor = list("melee" = 40, "bullet" = 40, "laser" = 40, "energy" = 50, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) - heat_protection = HEAD //Uncomment to enable firesuit protection - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - -/obj/item/clothing/suit/space/hardsuit/wizard - name = "gem-encrusted hardsuit" - desc = "A bizarre gem-encrusted suit that radiates magical energies." - icon_state = "hardsuit-wiz" - item_state = "wiz_hardsuit" - w_class = WEIGHT_CLASS_NORMAL - resistance_flags = FIRE_PROOF | ACID_PROOF - armor = list("melee" = 40, "bullet" = 40, "laser" = 40, "energy" = 50, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) - allowed = list(/obj/item/teleportation_scroll, /obj/item/tank/internals) - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/wizard - //Medical hardsuit /obj/item/clothing/head/helmet/space/hardsuit/medical name = "medical hardsuit helmet" @@ -584,7 +559,7 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/firstaid, /obj/item/healthanalyzer, /obj/item/stack/medical) armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical - slowdown = 0.5 + slowdown = 0.3 supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION /obj/item/clothing/head/helmet/space/hardsuit/medical/cmo @@ -598,13 +573,13 @@ //Research Director hardsuit /obj/item/clothing/head/helmet/space/hardsuit/rd - name = "prototype hardsuit helmet" + name = "scientific hardsuit helmet" desc = "A prototype helmet designed for research in a hazardous, low pressure environment. Scientific data flashes across the visor." icon_state = "hardsuit0-rd" hardsuit_type = "rd" resistance_flags = ACID_PROOF | FIRE_PROOF max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT - armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 20, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80) + armor = list("melee" = 30, "bullet" = 40, "laser" = 10, "energy" = 20, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80) var/explosion_detection_dist = 21 clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SCAN_REAGENTS | SNUG_FIT | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS //WS Port - Cit Internals actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_research_scanner) @@ -635,7 +610,7 @@ display_visor_message("Explosion detected! Epicenter: [devastation_range], Outer: [heavy_impact_range], Shock: [light_impact_range]") /obj/item/clothing/suit/space/hardsuit/rd - name = "prototype hardsuit" + name = "scientific hardsuit" desc = "A prototype suit that protects against hazardous, low pressure environments. Fitted with extensive plating for handling explosives and dangerous research materials." icon_state = "hardsuit-rd" item_state = "hardsuit-rd" @@ -646,7 +621,8 @@ /obj/item/gun/energy/wormhole_projector, /obj/item/hand_tele, /obj/item/aicard) - armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 20, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80) + slowdown = 1.5 + armor = list("melee" = 30, "bullet" = 40, "laser" = 10, "energy" = 20, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION @@ -657,7 +633,7 @@ icon_state = "hardsuit0-sec" item_state = "sec_helm" hardsuit_type = "sec" - armor = list("melee" = 35, "bullet" = 15, "laser" = 30,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) /obj/item/clothing/suit/space/hardsuit/security @@ -665,7 +641,7 @@ name = "security hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." item_state = "sec_hardsuit" - armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + armor = list("melee" = 35, "bullet" = 30, "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 @@ -676,20 +652,21 @@ //Head of Security hardsuit /obj/item/clothing/head/helmet/space/hardsuit/security/hos - name = "head of security's hardsuit helmet" + name = "heavy security hardsuit helmet" desc = "A special bulky helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." icon_state = "hardsuit0-hos" hardsuit_type = "hos" - armor = list("melee" = 45, "bullet" = 25, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 95, "acid" = 95) + armor = list("melee" = 50, "bullet" = 45, "laser" = 40, "energy" = 40, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 95, "acid" = 95) /obj/item/clothing/suit/space/hardsuit/security/hos icon_state = "hardsuit-hos" - name = "head of security's hardsuit" + name = "heavy security hardsuit" desc = "A special bulky suit that protects against hazardous, low pressure environments. Has an additional layer of armor." - armor = list("melee" = 45, "bullet" = 25, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 95, "acid" = 95) + armor = list("melee" = 50, "bullet" = 45, "laser" = 40, "energy" = 40, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 95, "acid" = 95) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos jetpack = /obj/item/tank/jetpack/suit + slowdown = 0.7 supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION //SWAT MKII @@ -982,6 +959,8 @@ ///////////////Shiptest Additions//////////////////// +//this 'shiptest' server really needs to just add new files + //Softsuit helmet light framework /obj/item/clothing/head/helmet/space/light actions_types = list(/datum/action/item_action/toggle_helmet_light) @@ -1068,7 +1047,7 @@ 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) + armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo/large resistance_flags = FIRE_PROOF @@ -1172,21 +1151,26 @@ A.UpdateButtonIcon() //Inteq Hardsuit -/obj/item/clothing/head/helmet/space/hardsuit/security/independent/inteq +/obj/item/clothing/head/helmet/space/hardsuit/security/independent/inteq //i fucking hate this typepath name = "inteq hardsuit helmet" desc = "A somewhat boxy, monocular visored helmet designed for hazardous, low pressure environments. It has the letters 'IRMG' imprinted onto the earpad." icon_state = "hardsuit0-inteq" item_state = "hardsuit-inteq" hardsuit_type = "inteq" + armor = list("melee" = 40, "bullet" = 35, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq //this one too. you know you can just redeclare variables and have shorter paths right? Fucking hardsuit/security/indepentent/inteq how about just /hardsuit/inteq did you ever think about that huh??? name = "inteq hardsuit" desc = "A heavy-duty looking suit that protects against hazardous, low pressure environments. It's bulk provides ample protection, if not a bit cumbersome to wear." icon_state = "hardsuit-inteq" item_state = "hardsuit-inteq" hardsuit_type = "inteq" + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/independent/inteq supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION + armor = list("melee" = 40, "bullet" = 35, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + +//solarian /obj/item/clothing/head/helmet/space/hardsuit/solgov name = "\improper SolGov hardsuit helmet" @@ -1196,7 +1180,7 @@ hardsuit_type = "solgov" armor = list("melee" = 50, "bullet" = 45, "laser" = 40, "energy" = 30, "bomb" = 60, "bio" = 100, "rad" = 60, "fire" = 90, "acid" = 75) -/obj/item/clothing/suit/space/hardsuit/solgov +/obj/item/clothing/suit/space/hardsuit/solgov //see this is a good path. not fucking /security/independant/inteq. its just /hardsuit/solgov icon_state = "hardsuit_solgov" name = "\improper SolGov hardsuit" desc = "An armored spaceproof suit. A powered exoskeleton keeps the suit light and mobile." @@ -1204,69 +1188,5 @@ 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 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 + slowdown = 0.2 supports_variations = DIGITIGRADE_VARIATION - -/obj/item/clothing/head/helmet/space/hardsuit/quixote - name = "\improper Quixote mobility hardsuit helmet" - desc = "The integrated helmet of a Quixote mobility hardsuit." - icon_state = "hardsuit0-quixote" - item_state = "quixote-helm" - max_integrity = 300 - armor = list("melee" = 50, "bullet" = 40, "laser" = 40, "energy" = 25, "bomb" = 50, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 100) - hardsuit_type = "quixote" - max_heat_protection_temperature = 20000 - -/obj/item/clothing/suit/space/hardsuit/quixote - name = "\improper Quixote mobility hardsuit" - desc = "The Quixote mobility suit is the magnum opus of Phorsman equipment, combining durable composite armor with high mobility thrusters." - icon_state = "quixotesuit" - item_state = "quixotesuit" - max_integrity = 300 - armor = list("melee" = 50, "bullet" = 40, "laser" = 40, "energy" = 25, "bomb" = 50, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 100) - allowed = list(/obj/item/gun, /obj/item/flashlight, /obj/item/tank/internals, /obj/item/ammo_box) - 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.3 - max_heat_protection_temperature = 20000 - var/datum/action/innate/quixotejump/jump - -/obj/item/clothing/suit/space/hardsuit/quixote/Initialize() - . = ..() - jump = new(src) - -/obj/item/clothing/suit/space/hardsuit/quixote/Destroy() - QDEL_NULL(jump) - return ..() - -/obj/item/clothing/suit/space/hardsuit/quixote/equipped(mob/user, slot) - . = ..() - if(slot == ITEM_SLOT_OCLOTHING) - jump.Grant(user) - user.update_icons() - else //If it is equipped in any slot except for our outer clothing, we can't dash - jump.Remove(user) - user.update_icons() - -/obj/item/clothing/suit/space/hardsuit/quixote/dropped(mob/user) - . = ..() - jump.Remove(user) - user.update_icons() - -/obj/item/clothing/suit/space/hardsuit/quixote/ui_action_click(mob/user, action) - if(action == /datum/action/innate/quixotejump) - jump.Activate() - else - return ..() - -/obj/item/clothing/head/helmet/space/hardsuit/quixote/dimensional - name = "\improper Quixote metaspacial hardsuit helmet" - desc = "The integrated helmet of a Quixote metaspace navigation hardsuit." - armor = list("melee" = 50, "bullet" = 40, "laser" = 40, "energy" = 35, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) - -/obj/item/clothing/suit/space/hardsuit/quixote/dimensional - name = "\improper Quixote metaspacial hardsuit" - armor = list("melee" = 50, "bullet" = 40, "laser" = 40, "energy" = 35, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) - desc = "The Quixote metaspacial mobility suit is the magnum opus of dimensional navigation equipment, combining durable composite armor with high mobility thrusters and defensive plating rated for all manner of exotic particles." - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/quixote/dimensional diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 8cf3da8547cd..f739afcf8219 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -536,6 +536,7 @@ Contains: desc = "A lightly armored space suit for IRMG personnel for EVA operations, it seems more flexible than most space suits." item_state = "space-inteq" icon_state = "space-inteq" + slowdown = 0.8 armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 15, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) w_class = WEIGHT_CLASS_NORMAL diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index 2b2660af4f9c..aba5c3a18ba8 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" = 30, "energy" = 40, "bomb" = 20, "bio" = 100, "rad" = 30, "fire" = 75, "acid" = 75) + armor = list("melee" = 30, "bullet" = 20, "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,7 +13,7 @@ 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 - armor = list("melee" = 30, "bullet" = 15, "laser" = 30, "energy" = 40, "bomb" = 20, "bio" = 100, "rad" = 30, "fire" = 75, "acid" = 75) + armor = list("melee" = 30, "bullet" = 20, "laser" = 30, "energy" = 40, "bomb" = 20, "bio" = 100, "rad" = 30, "fire" = 75, "acid" = 75) /obj/item/clothing/suit/space/syndicate/Initialize() . = ..() diff --git a/code/modules/faction/faction_datum.dm b/code/modules/faction/faction_datum.dm index 487d4f9c7810..cc1595e55c2f 100644 --- a/code/modules/faction/faction_datum.dm +++ b/code/modules/faction/faction_datum.dm @@ -36,19 +36,24 @@ name = FACTION_NGR short_name = "NGR" prefixes = PREFIX_NGR + parent_faction = null /datum/faction/syndicate/cybersun name = FACTION_CYBERSUN prefixes = PREFIX_CYBERSUN + parent_faction = null /datum/faction/syndicate/hardliners name = FACTION_HARDLINERS prefixes = PREFIX_HARDLINERS + //holy fucking shit this system sucks + parent_faction = null /datum/faction/syndicate/suns name = FACTION_SUNS short_name = "SUNS" prefixes = PREFIX_SUNS + parent_faction = null /datum/faction/solgov name = FACTION_SOLGOV diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm index ac946eee3847..a4319f4a1b5f 100644 --- a/code/modules/holiday/holidays.dm +++ b/code/modules/holiday/holidays.dm @@ -79,7 +79,6 @@ name = "Groundhog Day" begin_day = 2 begin_month = FEBRUARY - drone_hat = /obj/item/clothing/head/helmet/space/chronos /datum/holiday/groundhog/getStationPrefix() return pick("Deja Vu") //I have been to this place before diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 58f726aa508e..5aa11efd6a6d 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -569,10 +569,6 @@ if("Paroled") threatcount += 2 - //Check for dresscode violations - if(istype(head, /obj/item/clothing/head/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/wizard)) - threatcount += 2 - //Check for nonhuman scum if(dna && dna.species.id && dna.species.id != SPECIES_HUMAN) threatcount += 1 diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index bc453eecd3d1..78a4d08b0fe6 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -195,9 +195,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th var/mob/living/carbon/human/H = user var/list/casting_clothes = typecacheof(list(/obj/item/clothing/suit/wizrobe, - /obj/item/clothing/suit/space/hardsuit/wizard, /obj/item/clothing/head/wizard, - /obj/item/clothing/head/helmet/space/hardsuit/wizard, /obj/item/clothing/suit/space/hardsuit/shielded/wizard, /obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard)) diff --git a/shiptest.dme b/shiptest.dme index 7be2c3a79893..29f325abe2d6 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -1962,6 +1962,7 @@ #include "code\modules\cargo\exports\weapons.dm" #include "code\modules\cargo\packs\ammo.dm" #include "code\modules\cargo\packs\animal.dm" +#include "code\modules\cargo\packs\armor.dm" #include "code\modules\cargo\packs\canister.dm" #include "code\modules\cargo\packs\chemistry.dm" #include "code\modules\cargo\packs\civilian.dm" @@ -1977,7 +1978,7 @@ #include "code\modules\cargo\packs\mechs.dm" #include "code\modules\cargo\packs\medical.dm" #include "code\modules\cargo\packs\sec_supply.dm" -#include "code\modules\cargo\packs\spacesuit_armor.dm" +#include "code\modules\cargo\packs\spacesuits.dm" #include "code\modules\cargo\packs\tools.dm" #include "code\modules\cargo\packs\vendor_refill.dm" #include "code\modules\cargo\packs\weapon_attachments.dm" @@ -2068,7 +2069,6 @@ #include "code\modules\clothing\shoes\magboots.dm" #include "code\modules\clothing\shoes\miscellaneous.dm" #include "code\modules\clothing\spacesuits\_spacesuits.dm" -#include "code\modules\clothing\spacesuits\chronosuit.dm" #include "code\modules\clothing\spacesuits\hardsuit.dm" #include "code\modules\clothing\spacesuits\miscellaneous.dm" #include "code\modules\clothing\spacesuits\plasmamen.dm" From 90c0c9291104939f7c4a641cd90bd4c7b08d70ad Mon Sep 17 00:00:00 2001 From: Martinpachu <86135885+Martinpachu@users.noreply.github.com> Date: Fri, 17 Jan 2025 17:03:27 -0300 Subject: [PATCH 030/330] The Great Screwdriver Reckoning (#3890) ## About The Pull Request removes screwdrivers tahts should not be there ## Why It's Good For The Game For he said let there be easy latch pr ## Changelog :cl: del: Removed certain screwdrivers, as they are no longer needed for reloading energy weapons. /:cl: --- .../independent/independent_shetland.dmm | 1 - .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 8 -------- _maps/shuttles/pgf/pgf_crying_sun.dmm | 19 ------------------- _maps/shuttles/pgf/pgf_woeful_cthonian.dmm | 13 ------------- 4 files changed, 41 deletions(-) diff --git a/_maps/shuttles/independent/independent_shetland.dmm b/_maps/shuttles/independent/independent_shetland.dmm index 85ffe0dfcdba..f6110b2c76f9 100644 --- a/_maps/shuttles/independent/independent_shetland.dmm +++ b/_maps/shuttles/independent/independent_shetland.dmm @@ -5651,7 +5651,6 @@ /obj/machinery/recharger, /obj/structure/table/reinforced, /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/screwdriver, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark, /area/ship/security) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index c1e6179a8bfe..ff2f7eaa8f80 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -2851,13 +2851,6 @@ /area/ship/hallway/starboard) "up" = ( /obj/structure/table/reinforced, -/obj/item/screwdriver{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/screwdriver{ - pixel_x = -7 - }, /obj/item/hand_labeler{ pixel_x = 8; pixel_y = 13 @@ -5733,7 +5726,6 @@ /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; diff --git a/_maps/shuttles/pgf/pgf_crying_sun.dmm b/_maps/shuttles/pgf/pgf_crying_sun.dmm index 5af2fca45919..a0b72a07ef38 100644 --- a/_maps/shuttles/pgf/pgf_crying_sun.dmm +++ b/_maps/shuttles/pgf/pgf_crying_sun.dmm @@ -233,22 +233,6 @@ pixel_y = -1; pixel_x = -7 }, -/obj/item/screwdriver{ - pixel_x = -5; - pixel_y = -5 - }, -/obj/item/screwdriver{ - pixel_x = -2; - pixel_y = -5 - }, -/obj/item/screwdriver{ - pixel_x = 1; - pixel_y = -5 - }, -/obj/item/screwdriver{ - pixel_x = 4; - pixel_y = -5 - }, /obj/structure/closet/secure_closet/wall/directional/west{ icon_state = "sec_wall"; name = "equipment locker" @@ -5992,9 +5976,6 @@ pixel_y = -9; pixel_x = -4 }, -/obj/item/screwdriver{ - pixel_y = -12 - }, /obj/item/clothing/under/gezena/captain{ pixel_y = 3 }, diff --git a/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm b/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm index 194a2afd853b..1dd47ed61705 100644 --- a/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm +++ b/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm @@ -2898,18 +2898,6 @@ 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" = ( @@ -3492,7 +3480,6 @@ 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, From aa4891bc86343f7e511d793ea399c9e3ad2e9063 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 17 Jan 2025 15:18:57 -0600 Subject: [PATCH 031/330] Automatic changelog generation for PR #3890 [ci skip] --- html/changelogs/AutoChangeLog-pr-3890.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3890.yml diff --git a/html/changelogs/AutoChangeLog-pr-3890.yml b/html/changelogs/AutoChangeLog-pr-3890.yml new file mode 100644 index 000000000000..1667f04d4e8e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3890.yml @@ -0,0 +1,5 @@ +author: Martinpachu +changes: + - {rscdel: 'Removed certain screwdrivers, as they are no longer needed for reloading + energy weapons.'} +delete-after: true From a92ecf30f17b6d8701051c9bd3b28f03d521eb27 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Fri, 17 Jan 2025 12:04:30 -0800 Subject: [PATCH 032/330] Renames and rewrites the Odysseus and Gygax (#3946) ## About The Pull Request Changes the Odysseus and Gygax to be manufactured by Cybersun. Finally, the company that specializes in robotics and cybernetics actually has a presence in the exosuit market. - Gygax is now the 500 Series, represented by the 501p (Gygax) and 515 EX (Dark Gygax). - Odysseus is now the 200 Series, represented by the 202r, and potentially more in the future. - 515 EX has better power efficiency when running in overcharge mode. The armor is still the same as the 501p, but you can run around like 30% more without zapping your batteries to dust. Originally, this was going to be packaged with a resprite/redesign of the exosuits in question and some tweaks to their performance, but that will have to wait until later because spriting exosuits is hell on earth. ....I'll change the wide variety of paths associated with them Later(tm) ## Why It's Good For The Game cybersun actually gets a presence in the exosuit market and we can finally clean up some of the old outdated scraps of lore that were still hanging around in relation to these two exosuits ## Changelog :cl: code: Renamed the Gygax and Odysseus and updated their lore add: Dark Gygax (now 515 EX) has better efficiency when overloading its legs. /:cl: --- .../wasteplanet_abandoned_mechbay.dmm | 2 +- code/game/mecha/combat/gygax.dm | 11 ++-- code/game/mecha/equipment/tools/work_tools.dm | 2 +- code/game/mecha/mech_fabricator.dm | 4 +- code/game/mecha/mecha_construction_paths.dm | 8 +-- code/game/mecha/mecha_parts.dm | 66 +++++++++---------- code/game/mecha/mecha_wreckage.dm | 7 +- code/game/mecha/medical/odysseus.dm | 4 +- code/game/objects/items/toy_mechs.dm | 4 +- .../blackmarket/blackmarket_items/weapons.dm | 4 +- code/modules/cargo/bounties/mech.dm | 4 +- code/modules/cargo/packs/mechs.dm | 12 ++-- .../modules/research/designs/mecha_designs.dm | 16 ++--- .../designs/mechfabricator_designs.dm | 60 ++++++++--------- code/modules/research/techweb/all_nodes.dm | 8 +-- code/modules/uplink/uplink_items.dm | 4 +- 16 files changed, 108 insertions(+), 108 deletions(-) diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm index 82d6afbf66d9..edaccec73ef1 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm @@ -3508,7 +3508,7 @@ "PW" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/mecha/combat/gygax{ - name = "\improper Gygax #2" + name = "\improper 501p #2" }, /obj/effect/decal/cleanable/blood/innards, /turf/open/floor/mech_bay_recharge_floor, diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index a22a8dd4706d..8a3203c00645 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -1,6 +1,6 @@ /obj/mecha/combat/gygax - desc = "A lightweight, security exosuit. Popular among private and corporate security." - name = "\improper Gygax" + desc = "A light security exosuit manufactured by Cybersun Biodynamics. The basic version of the 500 Series combat exosuits, the 501p can overload its leg actuators to further enhance mobility." + name = "\improper 501p Security Exosuit" icon_state = "gygax" step_in = 3 dir_in = 1 //Facing North. @@ -22,10 +22,11 @@ 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." - name = "\improper Dark Gygax" + desc = "A light combat exosuit manufactured by Cybersun Biodynamics. An exclusive variant of the 500 Series meant for use by Cybersun's own personnel and trusted parties, the 515 EX operates more efficiently in overload mode." + name = "\improper 515 EX Combat Exosuit" icon_state = "darkgygax" wreckage = /obj/structure/mecha_wreckage/gygax/dark + leg_overload_coeff = 50 /obj/mecha/combat/gygax/dark/loaded/Initialize() . = ..() @@ -50,7 +51,7 @@ /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." + desc = "A light security exosuit originally manufactured by Cybersun Biodynamics, extensively modified by IRMG artificers. The leg actuators have been maxed out, allowing for powerful short ranged charges." icon_state = "inteqgygax" charge_break_walls = TRUE charge_toss_structures = TRUE diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index d3a52483feb7..de06c5c6742d 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -662,7 +662,7 @@ /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." + desc = "An IRMG-custom conversion kit for a 500 Series combat exosuit, to convert it to the specialized Basenji 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/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 83a2c4861c90..9f74db334182 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -26,8 +26,8 @@ "Cyborg", "Ripley", "Firefighter", - "Odysseus", - "Gygax", + "200 Series", + "500 Series", "Durand", "H.O.N.K", "Phazon", diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 7a3c67140b5e..8cfeda9e30d2 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -527,14 +527,14 @@ user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") if(21) if(diff==FORWARD) - user.visible_message("[user] secures Gygax Armor Plates.", "You secure Gygax Armor Plates.") + user.visible_message("[user] secures the armor plates.", "You secure the armor plates.") else - user.visible_message("[user] pries Gygax Armor Plates from [parent].", "You pry Gygax Armor Plates from [parent].") + user.visible_message("[user] pries the armor plates from [parent].", "You pry the armor plates from [parent].") if(22) if(diff==FORWARD) - user.visible_message("[user] welds Gygax Armor Plates to [parent].", "You weld Gygax Armor Plates to [parent].") + user.visible_message("[user] welds the armor plates to [parent].", "You weld the armor plates to [parent].") else - user.visible_message("[user] unfastens Gygax Armor Plates.", "You unfasten Gygax Armor Plates.") + user.visible_message("[user] unfastens the armor plates.", "You unfasten the armor plates.") return TRUE /datum/component/construction/unordered/mecha_chassis/firefighter diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index 5a0e457e42c9..43dc8431c809 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -64,79 +64,79 @@ ///////// Odysseus /obj/item/mecha_parts/chassis/odysseus - name = "\improper Odysseus chassis" + name = "\improper 200 Series chassis" construct_type = /datum/component/construction/unordered/mecha_chassis/odysseus /obj/item/mecha_parts/part/odysseus_head - name = "\improper Odysseus head" - desc = "An Odysseus head. Contains an integrated medical HUD scanner." + name = "\improper 200 Series head" + desc = "A 200 Series head. Contains an integrated medical HUD scanner." icon_state = "odysseus_head" /obj/item/mecha_parts/part/odysseus_torso - name = "\improper Odysseus torso" - desc="A torso part of Odysseus. Contains power unit, processing core and life support systems along with an attachment port for a mounted sleeper." + name = "\improper 200 Series torso" + desc="The torso of a 200 Series exosuit. Contains power unit, processing core and life support systems along with an attachment port for a mounted sleeper." icon_state = "odysseus_torso" /obj/item/mecha_parts/part/odysseus_left_arm - name = "\improper Odysseus left arm" - desc = "An Odysseus left arm. Data and power sockets are compatible with specialized medical equipment." + name = "\improper 200 Series left arm" + desc = "A 200 Series left arm. Data and power sockets are compatible with specialized medical equipment." icon_state = "odysseus_l_arm" /obj/item/mecha_parts/part/odysseus_right_arm - name = "\improper Odysseus right arm" - desc = "An Odysseus right arm. Data and power sockets are compatible with specialized medical equipment." + name = "\improper 200 Series right arm" + desc = "A 200 Series right arm. Data and power sockets are compatible with specialized medical equipment." icon_state = "odysseus_r_arm" /obj/item/mecha_parts/part/odysseus_left_leg - name = "\improper Odysseus left leg" - desc = "An Odysseus left leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients." + name = "\improper 200 Series left leg" + desc = "A 200 Series left leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients." icon_state = "odysseus_l_leg" /obj/item/mecha_parts/part/odysseus_right_leg - name = "\improper Odysseus right leg" - desc = "An odysseus right leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients." + name = "\improper 200 Series right leg" + desc = "A 200 Series right leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients." icon_state = "odysseus_r_leg" ///////// Gygax /obj/item/mecha_parts/chassis/gygax - name = "\improper Gygax chassis" + name = "\improper 500 Series chassis" construct_type = /datum/component/construction/unordered/mecha_chassis/gygax /obj/item/mecha_parts/part/gygax_torso - name = "\improper Gygax torso" - desc = "A torso part of Gygax. Contains power unit, processing core and life support systems." + name = "\improper 500 Series torso" + desc = "The torso of a 500 Series exosuit. Contains power unit, processing core and life support systems." icon_state = "gygax_harness" /obj/item/mecha_parts/part/gygax_head - name = "\improper Gygax head" - desc = "A Gygax head. Houses advanced surveillance and targeting sensors." + name = "\improper 500 Series head" + desc = "A 500 Series head. Houses advanced surveillance and targeting sensors." icon_state = "gygax_head" /obj/item/mecha_parts/part/gygax_left_arm - name = "\improper Gygax left arm" - desc = "A Gygax left arm. Data and power sockets are compatible with most exosuit tools and weapons." + name = "\improper 500 Series left arm" + desc = "A 500 Series left arm. Data and power sockets are compatible with most exosuit tools and weapons." icon_state = "gygax_l_arm" /obj/item/mecha_parts/part/gygax_right_arm - name = "\improper Gygax right arm" - desc = "A Gygax right arm. Data and power sockets are compatible with most exosuit tools and weapons." + name = "\improper 500 Series right arm" + desc = "A 500 Series right arm. Data and power sockets are compatible with most exosuit tools and weapons." icon_state = "gygax_r_arm" /obj/item/mecha_parts/part/gygax_left_leg - name = "\improper Gygax left leg" - desc = "A Gygax left leg. Constructed with advanced servomechanisms and actuators to enable faster speed." + name = "\improper 500 Series left leg" + desc = "A 500 Series left leg. Constructed with advanced servomechanisms and actuators to enable faster speed." icon_state = "gygax_l_leg" /obj/item/mecha_parts/part/gygax_right_leg - name = "\improper Gygax right leg" - desc = "A Gygax right leg. Constructed with advanced servomechanisms and actuators to enable faster speed." + name = "\improper 500 Series right leg" + desc = "A 500 Series right leg. Constructed with advanced servomechanisms and actuators to enable faster speed." icon_state = "gygax_r_leg" /obj/item/mecha_parts/part/gygax_armor gender = PLURAL - name = "\improper Gygax armor plates" - desc = "A set of armor plates designed for the Gygax. Designed to effectively deflect damage with a lightweight construction." + name = "\improper 500 Series armor plates" + desc = "A set of armor plates designed for the 500 Series. Designed to effectively deflect damage with a lightweight construction." icon_state = "gygax_armor" @@ -294,15 +294,15 @@ /obj/item/circuitboard/mecha/gygax/peripherals - name = "Gygax Peripherals Control module (Exosuit Board)" + name = "500 Series Peripherals Control module (Exosuit Board)" icon_state = "mcontroller" /obj/item/circuitboard/mecha/gygax/targeting - name = "Gygax Weapon Control and Targeting module (Exosuit Board)" + name = "500 Series Weapon Control and Targeting module (Exosuit Board)" icon_state = "mcontroller" /obj/item/circuitboard/mecha/gygax/main - name = "Gygax Central Control module (Exosuit Board)" + name = "500 Series Central Control module (Exosuit Board)" icon_state = "mainboard" /obj/item/circuitboard/mecha/durand/peripherals @@ -330,11 +330,11 @@ icon_state = "mainboard" /obj/item/circuitboard/mecha/odysseus/peripherals - name = "Odysseus Peripherals Control module (Exosuit Board)" + name = "200 Series Peripherals Control module (Exosuit Board)" icon_state = "mcontroller" /obj/item/circuitboard/mecha/odysseus/main - name = "Odysseus Central Control module (Exosuit Board)" + name = "200 Series Central Control module (Exosuit Board)" icon_state = "mainboard" /obj/item/circuitboard/mecha/phazon/peripherals diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm index b8808944b5bd..b9a964cd5d55 100644 --- a/code/game/mecha/mecha_wreckage.dm +++ b/code/game/mecha/mecha_wreckage.dm @@ -110,7 +110,7 @@ AI = null /obj/structure/mecha_wreckage/gygax - name = "\improper Gygax wreckage" + name = "\improper 501p wreckage" icon_state = "gygax-broken" parts = list( /obj/item/mecha_parts/part/gygax_torso, @@ -122,7 +122,7 @@ ) /obj/structure/mecha_wreckage/gygax/dark - name = "\improper Dark Gygax wreckage" + name = "\improper 515 EX wreckage" icon_state = "darkgygax-broken" /obj/structure/mecha_wreckage/marauder @@ -132,7 +132,6 @@ /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 name = "\improper Seraph wreckage" @@ -210,7 +209,7 @@ /obj/structure/mecha_wreckage/odysseus - name = "\improper Odysseus wreckage" + name = "\improper 202r wreckage" icon_state = "odysseus-broken" parts = list( /obj/item/mecha_parts/part/odysseus_torso, diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm index 4874ab142647..2a10a29230c8 100644 --- a/code/game/mecha/medical/odysseus.dm +++ b/code/game/mecha/medical/odysseus.dm @@ -1,6 +1,6 @@ /obj/mecha/medical/odysseus - desc = "These exosuits are developed and produced by Vey-Med. (© All rights reserved)." - name = "\improper Odysseus" + desc = "A high-end utility exosuit manufactured by Cybersun Biodynamics. The general medical variant of the 200 Series, the 202r features a high-speed leg design and advanced stabilization system to move patients safely over rough terrain." + name = "\improper 202r Medical exosuit" icon_state = "odysseus" step_in = 2 max_temperature = 15000 diff --git a/code/game/objects/items/toy_mechs.dm b/code/game/objects/items/toy_mechs.dm index 738cfa83c0f5..0824632c6e91 100644 --- a/code/game/objects/items/toy_mechs.dm +++ b/code/game/objects/items/toy_mechs.dm @@ -490,7 +490,7 @@ victim.combat_health-- /obj/item/toy/prize/gygax - name = "toy Gygax" + name = "toy 515p" desc = "4/13" icon_state = "gygaxtoy" max_combat_health = 5 //250 integrity @@ -544,7 +544,7 @@ special_attack_cry = "BULLET STORM" /obj/item/toy/prize/odysseus - name = "toy Odysseus" + name = "toy 202r" desc = "10/13" icon_state = "odysseustoy" max_combat_health = 4 //120 integrity diff --git a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm index 6eae1c1a1484..4e11d41df908 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm @@ -257,7 +257,7 @@ /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)" + desc = "Ripley with a laser cannon? 200 Series with a missile rack? Sky's the limit with this omni-compatible weapons bay! (Missiles and lasers not included)" item = /obj/item/mecha_parts/concealed_weapon_bay price_min = 1000 @@ -268,7 +268,7 @@ /datum/blackmarket_item/weapon/mecha_syringe_gun name = "Mounted Syringe Gun" - desc = "We ripped this off an old Nanotrasen exosuit. It's a real advanced piece of equipment. Exosuit not included." + desc = "We ripped this off an old Cybersun exosuit. It's a real advanced piece of equipment. Exosuit not included." item = /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun price_min = 5000 diff --git a/code/modules/cargo/bounties/mech.dm b/code/modules/cargo/bounties/mech.dm index 62c846ea96a3..03538e05de10 100644 --- a/code/modules/cargo/bounties/mech.dm +++ b/code/modules/cargo/bounties/mech.dm @@ -24,12 +24,12 @@ wanted_types = list(/obj/mecha/working/ripley/firefighter) /datum/bounty/item/mech/odysseus - name = "Odysseus" + name = "200 Series" reward = 11000 wanted_types = list(/obj/mecha/medical/odysseus) /datum/bounty/item/mech/gygax - name = "Gygax" + name = "500 Series" reward = 28000 wanted_types = list(/obj/mecha/combat/gygax) diff --git a/code/modules/cargo/packs/mechs.dm b/code/modules/cargo/packs/mechs.dm index 38e300d556fd..d12c9e4096e8 100644 --- a/code/modules/cargo/packs/mechs.dm +++ b/code/modules/cargo/packs/mechs.dm @@ -37,8 +37,8 @@ Build Your Own Suit crate_name = "APLU construction kit" /datum/supply_pack/mech/odysseus_parts - name = "Odysseus construction kit" - desc = "DeForest Medical's premier solution to on the go medical treatment. Some assembly required." + name = "202r construction kit" + desc = "Cybersun Biodynamics' premier solution to on-the-go medical treatment. Some assembly required." cost = 5000 contains = list( /obj/item/mecha_parts/chassis/odysseus, @@ -52,11 +52,11 @@ Build Your Own Suit /obj/item/circuitboard/mecha/odysseus/peripherals, /obj/item/circuitboard/mecha/odysseus/main ) - crate_name = "Odysseus Construction Kit" + crate_name = "202r Construction Kit" /datum/supply_pack/mech/gygax_parts - name = "Gygax construction kit" - desc = "An agile exosuit made famous by Nanotrasen security personnel during the ICW. Or at least the parts to it." + name = "501p construction kit" + desc = "An agile combat exosuit sold across the galaxy by Cybersun. Or at least the parts to it." cost = 12000 contains = list( /obj/item/mecha_parts/chassis/gygax, @@ -71,7 +71,7 @@ Build Your Own Suit /obj/item/circuitboard/mecha/gygax/main, /obj/item/circuitboard/mecha/gygax/targeting ) - crate_name = "Gygax Construction Kit" + crate_name = "501p Construction Kit" /datum/supply_pack/mech/durand_parts name = "Durand construction kit" diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index 4ac230f59537..e4b3179ee081 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -17,7 +17,7 @@ category = list("Exosuit Modules") /datum/design/board/odysseus_main - name = "\"Odysseus\" Central Control module" + name = "200 Series Central Control module" desc = "Allows for the construction of a \"Odysseus\" Central Control module." id = "odysseus_main" build_path = /obj/item/circuitboard/mecha/odysseus/main @@ -25,7 +25,7 @@ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL /datum/design/board/odysseus_peri - name = "\"Odysseus\" Peripherals Control module" + name = "200 Series Peripherals Control module" desc = "Allows for the construction of a \"Odysseus\" Peripheral Control module." id = "odysseus_peri" build_path = /obj/item/circuitboard/mecha/odysseus/peripherals @@ -33,24 +33,24 @@ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL /datum/design/board/gygax_main - name = "\"Gygax\" Central Control module" - desc = "Allows for the construction of a \"Gygax\" Central Control module." + name = "500 Series Central Control module" + desc = "Allows for the construction of a 500 Series Central Control module." id = "gygax_main" build_path = /obj/item/circuitboard/mecha/gygax/main category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SECURITY /datum/design/board/gygax_peri - name = "\"Gygax\" Peripherals Control module" - desc = "Allows for the construction of a \"Gygax\" Peripheral Control module." + name = "500 Series Peripherals Control module" + desc = "Allows for the construction of a 500 Series Peripheral Control module." id = "gygax_peri" build_path = /obj/item/circuitboard/mecha/gygax/peripherals category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SECURITY /datum/design/board/gygax_targ - name = "\"Gygax\" Weapons & Targeting Control module" - desc = "Allows for the construction of a \"Gygax\" Weapons & Targeting Control module." + name = "500 Series Weapons & Targeting Control module" + desc = "Allows for the construction of a 500 Series Weapons & Targeting Control module." id = "gygax_targ" build_path = /obj/item/circuitboard/mecha/gygax/targeting category = list("Exosuit Modules") diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index cc45dd179877..6112b3b0f9f7 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -222,140 +222,140 @@ //Odysseus /datum/design/odysseus_chassis - name = "Exosuit Chassis (\"Odysseus\")" + name = "Exosuit Chassis (200 Series)" id = "odysseus_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/odysseus materials = list(/datum/material/iron=20000) construction_time = 100 - category = list("Odysseus") + category = list("200 Series") /datum/design/odysseus_torso - name = "Exosuit Torso (\"Odysseus\")" + name = "Exosuit Torso (200 Series)" id = "odysseus_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_torso materials = list(/datum/material/iron=12000) construction_time = 180 - category = list("Odysseus") + category = list("200 Series") /datum/design/odysseus_head - name = "Exosuit Head (\"Odysseus\")" + name = "Exosuit Head (200 Series)" id = "odysseus_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_head materials = list(/datum/material/iron=6000,/datum/material/glass = 10000) construction_time = 100 - category = list("Odysseus") + category = list("200 Series") /datum/design/odysseus_left_arm - name = "Exosuit Left Arm (\"Odysseus\")" + name = "Exosuit Left Arm (200 Series)" id = "odysseus_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_left_arm materials = list(/datum/material/iron=6000) construction_time = 120 - category = list("Odysseus") + category = list("200 Series") /datum/design/odysseus_right_arm - name = "Exosuit Right Arm (\"Odysseus\")" + name = "Exosuit Right Arm (200 Series)" id = "odysseus_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_right_arm materials = list(/datum/material/iron=6000) construction_time = 120 - category = list("Odysseus") + category = list("200 Series") /datum/design/odysseus_left_leg - name = "Exosuit Left Leg (\"Odysseus\")" + name = "Exosuit Left Leg (200 Series)" id = "odysseus_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_left_leg materials = list(/datum/material/iron=7000) construction_time = 130 - category = list("Odysseus") + category = list("200 Series") /datum/design/odysseus_right_leg - name = "Exosuit Right Leg (\"Odysseus\")" + name = "Exosuit Right Leg (200 Series)" id = "odysseus_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_right_leg materials = list(/datum/material/iron=7000) construction_time = 130 - category = list("Odysseus") + category = list("200 Series") //Gygax /datum/design/gygax_chassis - name = "Exosuit Chassis (\"Gygax\")" + name = "Exosuit Chassis (500 Series)" id = "gygax_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/gygax materials = list(/datum/material/iron=20000) construction_time = 100 - category = list("Gygax") + category = list("500 Series") /datum/design/gygax_torso - name = "Exosuit Torso (\"Gygax\")" + name = "Exosuit Torso (500 Series)" id = "gygax_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_torso materials = list(/datum/material/iron=20000,/datum/material/glass = 10000,/datum/material/gold=2000, /datum/material/silver=2000) construction_time = 300 - category = list("Gygax") + category = list("500 Series") /datum/design/gygax_head - name = "Exosuit Head (\"Gygax\")" + name = "Exosuit Head (500 Series)" id = "gygax_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_head materials = list(/datum/material/iron=10000,/datum/material/glass = 5000, /datum/material/gold=2000, /datum/material/silver=2000) construction_time = 200 - category = list("Gygax") + category = list("500 Series") /datum/design/gygax_left_arm - name = "Exosuit Left Arm (\"Gygax\")" + name = "Exosuit Left Arm (500 Series)" id = "gygax_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_left_arm materials = list(/datum/material/iron=15000, /datum/material/gold=1000, /datum/material/silver=1000) construction_time = 200 - category = list("Gygax") + category = list("500 Series") /datum/design/gygax_right_arm - name = "Exosuit Right Arm (\"Gygax\")" + name = "Exosuit Right Arm (500 Series)" id = "gygax_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_right_arm materials = list(/datum/material/iron=15000, /datum/material/gold=1000, /datum/material/silver=1000) construction_time = 200 - category = list("Gygax") + category = list("500 Series") /datum/design/gygax_left_leg - name = "Exosuit Left Leg (\"Gygax\")" + name = "Exosuit Left Leg (500 Series)" id = "gygax_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_left_leg materials = list(/datum/material/iron=15000, /datum/material/gold=2000, /datum/material/silver=2000) construction_time = 200 - category = list("Gygax") + category = list("500 Series") /datum/design/gygax_right_leg - name = "Exosuit Right Leg (\"Gygax\")" + name = "Exosuit Right Leg (500 Series)" id = "gygax_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_right_leg materials = list(/datum/material/iron=15000, /datum/material/gold=2000, /datum/material/silver=2000) construction_time = 200 - category = list("Gygax") + category = list("500 Series") /datum/design/gygax_armor - name = "Exosuit Armor (\"Gygax\")" + name = "Exosuit Armor (500 Series)" id = "gygax_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_armor materials = list(/datum/material/iron=15000,/datum/material/gold=10000, /datum/material/silver=10000, /datum/material/titanium=10000) construction_time = 600 - category = list("Gygax") + category = list("500 Series") //Durand /datum/design/durand_chassis diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 6492998c1e6b..8583cf9bcbfd 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -771,8 +771,8 @@ /datum/techweb_node/odysseus id = "mecha_odysseus" - display_name = "EXOSUIT: Odysseus" - description = "Odysseus exosuit designs" + display_name = "EXOSUIT: 200 Series" + description = "200 Series exosuit designs" prereq_ids = list("base") design_ids = list("odysseus_chassis", "odysseus_torso", "odysseus_head", "odysseus_left_arm", "odysseus_right_arm" ,"odysseus_left_leg", "odysseus_right_leg", "odysseus_main", "odysseus_peri") @@ -781,8 +781,8 @@ /datum/techweb_node/gygax id = "mech_gygax" - display_name = "EXOSUIT: Gygax" - description = "Gygax exosuit designs" + display_name = "EXOSUIT: 500 Series" + description = "500 Series exosuit designs" prereq_ids = list("adv_mecha", "weaponry") design_ids = list("gygax_chassis", "gygax_torso", "gygax_head", "gygax_left_arm", "gygax_right_arm", "gygax_left_leg", "gygax_right_leg", "gygax_main", "gygax_peri", "gygax_targ", "gygax_armor") diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index ad51348128be..91c96289c6d9 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -881,7 +881,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/ammo/mech/bag 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." + desc = "A duffel bag containing ammo for four full reloads of the scattershot which is equipped on standard 515 EX 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) @@ -1125,7 +1125,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) restricted = TRUE /datum/uplink_item/support/gygax - name = "Dark Gygax Exosuit" + name = "515 EX Exosuit" desc = "A lightweight exosuit, painted in a dark scheme. Its speed and equipment selection make it excellent \ 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 From cab15a8764cfbd0df0fbbc282e4d99dabe3d3c1d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 17 Jan 2025 15:47:18 -0600 Subject: [PATCH 033/330] Automatic changelog generation for PR #3946 [ci skip] --- html/changelogs/AutoChangeLog-pr-3946.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3946.yml diff --git a/html/changelogs/AutoChangeLog-pr-3946.yml b/html/changelogs/AutoChangeLog-pr-3946.yml new file mode 100644 index 000000000000..7ff33cce4085 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3946.yml @@ -0,0 +1,5 @@ +author: Apogee-dev +changes: + - {code_imp: Renamed the Gygax and Odysseus and updated their lore} + - {rscadd: Dark Gygax (now 515 EX) has better efficiency when overloading its legs.} +delete-after: true From 8f8acf0ddebb10d20d76561b356d5b07f427c8d0 Mon Sep 17 00:00:00 2001 From: Ratvar <61395690+Ratvarr@users.noreply.github.com> Date: Fri, 17 Jan 2025 12:25:58 -0800 Subject: [PATCH 034/330] Removes every "Hurr Durr" from code. (#4018) ## About The Pull Request I got rid of bigotism. In our code. I hate TG oh also I'm not fucking up merges ## Why It's Good For The Game Why is it *not* good for the game? ## Changelog :cl: del: Changed the brain-damage moodlet's text. (and other NUFC) /:cl: --- code/datums/mood_events/generic_negative_events.dm | 5 +---- code/modules/food_and_drinks/food/snacks/meat.dm | 2 +- code/modules/power/singularity/field_generator.dm | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 067807d7a6b4..557eb44ea304 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -93,10 +93,7 @@ /datum/mood_event/brain_damage mood_change = -3 - -/datum/mood_event/brain_damage/add_effects() - var/damage_message = pick_list_replacements(BRAIN_DAMAGE_FILE, "brain_damage") - description = span_warning("Hurr durr... [damage_message]") + description = span_warning("It's so... Hard to think...") /datum/mood_event/hulk //Entire duration of having the hulk mutation description = span_warning("HULK SMASH!") diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index 6cc7413cbfdd..60290b827c5b 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -145,7 +145,7 @@ desc = "A synthetic slab of meat." icon_state = "meat_old" cooked_type = /obj/item/reagent_containers/food/snacks/meat/steak/synth - foodtype = RAW | MEAT //hurr durr chemicals we're harmed in the production of this meat thus its non-vegan. + foodtype = RAW | MEAT /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct name = "meat product" diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 9a965e4f85e3..ce99b9560c7d 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -339,7 +339,7 @@ field_generator power level display clean_up = 0 update_appearance() - //This is here to help fight the "hurr durr, release singulo cos nobody will notice before the + //This is here to help fight the "release singulo cos nobody will notice before the //singulo eats the evidence". It's not fool-proof but better than nothing. //I want to avoid using global variables. INVOKE_ASYNC(src, PROC_REF(notify_admins)) From 03cfc29c420ade17bd12f6e53b7e396d765b748d Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 17 Jan 2025 15:26:03 -0500 Subject: [PATCH 035/330] Partial Tempchanges Revert (#3895) ## About The Pull Request Partial revert of the temp changes introduced in #3512. Temperature is an unfortunately horrific system that needs more work than value fudging to produce a good effect, and I am of the opinion that dealing with all the edge cases introduced by #3512 outweights the benefits it's produced ## Changelog :cl: balance: Temperature Mechanics have been partially reverted. Please report any weirdness balance: Temperature now defaults to respecting insulation instead of ignoring it. /:cl: --------- Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/__DEFINES/species.dm | 12 ++--- code/_onclick/hud/alert.dm | 2 +- .../datums/weather/weather_types/hailstorm.dm | 2 +- code/datums/weather/weather_types/snowfall.dm | 2 +- code/game/objects/structures/shower.dm | 27 ++++++----- .../mob/living/carbon/human/species.dm | 13 ++---- .../carbon/human/species_types/kepori.dm | 4 +- .../carbon/human/species_types/mothmen.dm | 4 +- .../living/carbon/human/species_types/vox.dm | 2 +- code/modules/mob/living/carbon/life.dm | 4 +- .../hostile/mining_mobs/basilisk.dm | 4 +- .../hostile/mining_mobs/ice_demon.dm | 2 +- .../reagents/alcohol_reagents/mixed_drinks.dm | 22 +++------ .../chemistry/reagents/drink_reagents.dm | 46 +++++++++---------- .../chemistry/reagents/food_reagents.dm | 4 +- .../chemistry/reagents/medicine_reagents.dm | 2 +- .../chemistry/reagents/toxin_reagents.dm | 2 +- .../chemistry/reagents/trickwine_reagents.dm | 4 +- code/modules/surgery/organs/lungs.dm | 10 ++-- 19 files changed, 78 insertions(+), 90 deletions(-) diff --git a/code/__DEFINES/species.dm b/code/__DEFINES/species.dm index d3cf27ac546e..2965611961ba 100644 --- a/code/__DEFINES/species.dm +++ b/code/__DEFINES/species.dm @@ -14,25 +14,25 @@ /// 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 22 +#define HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR 11 /// 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 20 +#define HUMAN_BODYTEMP_COLD_DIVISOR 10 /// 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 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 +#define HUMAN_BODYTEMP_COOLING_MAX -20 /// The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area. -#define HUMAN_BODYTEMP_HEATING_MAX 30 +#define HUMAN_BODYTEMP_HEATING_MAX 10 /// 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 + 3) +#define HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL + 30) /// 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 - 8) +#define HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL - 40) //VOX DEFINES diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 61d2a44d20b1..d3014184505a 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -211,7 +211,7 @@ Override makes it so the alert is not replaced until cleared by a clear_alert wi /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." + desc = "You're sweating and the heat is starting to hurt. Get somewhere cooler, and take off any insulating clothing like a fire suit." icon_state = "sweat" /atom/movable/screen/alert/shiver diff --git a/code/datums/weather/weather_types/hailstorm.dm b/code/datums/weather/weather_types/hailstorm.dm index ef0cd70b2dba..e9fc50cc964b 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(1,2)) + living_mob.adjust_bodytemperature(-rand(3,6), 243) living_mob.adjustBruteLoss(rand(2,4)) diff --git a/code/datums/weather/weather_types/snowfall.dm b/code/datums/weather/weather_types/snowfall.dm index d3eab8b1099a..949eb9c44d1c 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(1,2)) + living_mob.adjust_bodytemperature(-rand(2,4), 243) diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index b7c6285d7962..75c67eadd814 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -111,7 +111,7 @@ if(isliving(A)) check_heat(A) - if(iscarbon(A)) //WS edit - moth dust from hugging + if(iscarbon(A)) var/mob/living/carbon/C = A C.mothdust -= 10; @@ -130,18 +130,21 @@ qdel(src) /obj/machinery/shower/proc/check_heat(mob/living/L) - var/mob/living/carbon/C = L - - if(current_temperature == SHOWER_FREEZING) - if(iscarbon(L)) - C.adjust_bodytemperature(-5, 280) - to_chat(L, "[src] is freezing!") - else if(current_temperature == SHOWER_BOILING) - if(iscarbon(L)) - C.adjust_bodytemperature(5, 0, 350) - L.adjustFireLoss(5) - to_chat(L, "[src] is searing!") + if(iscarbon(L)) + var/mob/living/carbon/C = L + switch(current_temperature) + if(SHOWER_FREEZING) + C.adjust_bodytemperature(-3, 280) + to_chat(L, "[src] is cold!") + if(SHOWER_BOILING) + C.adjust_bodytemperature(3, 0, 330) + to_chat(L, "[src] is hot!") + if(SHOWER_NORMAL) + if(C.bodytemperature >= HUMAN_BODYTEMP_NORMAL) + C.adjust_bodytemperature(-2, HUMAN_BODYTEMP_NORMAL) + else + C.adjust_bodytemperature(2, HUMAN_BODYTEMP_NORMAL) /obj/effect/mist name = "mist" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 911532299839..e9503f7e7225 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -149,9 +149,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) /// 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 + var/max_temp_comfortable = (HUMAN_BODYTEMP_NORMAL + 7) //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) + var/min_temp_comfortable = (HUMAN_BODYTEMP_NORMAL - 5) /// 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. @@ -1955,13 +1955,6 @@ GLOBAL_LIST_EMPTY(roundstart_races) 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 @@ -2016,7 +2009,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) 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) + burn_damage = max(log(2 - firemodifier, (current_human.bodytemperature - current_human.get_body_temp_normal(apply_change=FALSE))) - 5,0) return burn_damage /// Handle the air pressure of the environment 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 c79ac3aaf68e..0836083f2daa 100644 --- a/code/modules/mob/living/carbon/human/species_types/kepori.dm +++ b/code/modules/mob/living/carbon/human/species_types/kepori.dm @@ -25,8 +25,8 @@ 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 + max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 40 + min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 3 bodytemp_autorecovery_divisor = HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR - 4 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 e612b3bbe2fc..54933f028982 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -30,8 +30,8 @@ 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 + min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 5 + bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT - 5 /datum/species/moth/regenerate_organs(mob/living/carbon/C, datum/species/old_species,replace_current=TRUE, list/excluded_zones, robotic = FALSE) . = ..() 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 4f63158cb29f..c2aeee2b87db 100644 --- a/code/modules/mob/living/carbon/human/species_types/vox.dm +++ b/code/modules/mob/living/carbon/human/species_types/vox.dm @@ -26,7 +26,7 @@ bodytemp_cold_divisor = VOX_BODYTEMP_COLD_DIVISOR bodytemp_autorecovery_min = VOX_BODYTEMP_AUTORECOVERY_MIN - max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 1 + max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 10 min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 20 bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 10 diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 9ab3bd9cd98a..93630c60821b 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -583,7 +583,7 @@ All effects don't start immediately, but rather get worse over time; the rate is natural_change = (1 / (thermal_protection + 1)) * natural_change // Apply the natural stabilization changes - adjust_bodytemperature(natural_change) + adjust_bodytemperature(natural_change, use_insulation=FALSE) /** * Get the insulation that is appropriate to the temperature you're being exposed to. @@ -635,7 +635,7 @@ All effects don't start immediately, but rather get worse over time; the rate is * * use_steps (optional) Use the body temp divisors and max change rates * * hardsuit_fix (optional) num HUMAN_BODYTEMP_NORMAL - H.bodytemperature Use hardsuit override until hardsuits fix is done... */ -/mob/living/carbon/adjust_bodytemperature(amount, min_temp=0, max_temp=INFINITY, use_insulation=FALSE, use_steps=FALSE, \ +/mob/living/carbon/adjust_bodytemperature(amount, min_temp=0, max_temp=INFINITY, use_insulation=TRUE, use_steps=FALSE, \ hardsuit_fix=FALSE) // apply insulation to the amount of change if(use_insulation) 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 2a3886db5b98..ca1e4bd0b77b 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 @@ -42,10 +42,10 @@ damage_type = BURN nodamage = TRUE flag = "energy" - temperature = -5 // Cools you down! per hit! + temperature = -25 // Cools you down! per hit! /obj/projectile/temp/basilisk/super - temperature = -20 + temperature = -50 damage = 5 nodamage = FALSE 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 index 17f189080d75..6a3b203a8981 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 = -2 + temperature = -40 /mob/living/simple_animal/hostile/asteroid/ice_demon/OpenFire() // Sentient ice demons teleporting has been linked to server crashes diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents/mixed_drinks.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents/mixed_drinks.dm index 1f25ef513cf7..55be0f69f84b 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents/mixed_drinks.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents/mixed_drinks.dm @@ -48,7 +48,7 @@ /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(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) if(!HAS_TRAIT(M, TRAIT_ALCOHOL_TOLERANCE)) M.adjust_jitter(5, max = 100) return ..() @@ -332,7 +332,7 @@ shot_glass_icon_state = "toxinsspecialglass" /datum/reagent/consumable/ethanol/toxins_special/on_mob_life(mob/living/M) - M.adjust_bodytemperature(1 * 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, FALSE) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/beepsky_smash @@ -523,7 +523,7 @@ 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(1 * 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, FALSE) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/barefoot @@ -634,7 +634,7 @@ 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(1 * 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, FALSE) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/red_mead @@ -671,7 +671,7 @@ 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(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) //310.15 is the normal bodytemp. + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C, FALSE) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/grog @@ -1226,7 +1226,7 @@ /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(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/ethanol/alexander @@ -1402,7 +1402,7 @@ /datum/reagent/consumable/ethanol/branca_menta/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C, FALSE) return ..() /datum/reagent/consumable/ethanol/branca_menta/on_mob_metabolize(mob/living/M) @@ -1565,14 +1565,6 @@ glass_name = "Inner Fire" glass_desc = "Not at all made by the Saint Roumain, this drink still bases itself as a test of will used by the hunters to test their endurance to intense heat... and alcohol." -/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(2 * TEMPERATURE_DAMAGE_COEFFICIENT) - if (prob(5)) - M.adjust_fire_stacks(1) - M.IgniteMob() - ..() - /datum/reagent/consumable/ethanol/painkiller name = "Painkiller" description = "Dulls your pain. Your emotional pain, that is." diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 1bcd05798a03..fd8c8d47d451 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -257,7 +257,7 @@ M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-40) //310.15 is the normal bodytemp. - M.adjust_bodytemperature(3 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(3 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(), FALSE) 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(2 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(2 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(), FALSE) ..() . = 1 @@ -330,7 +330,7 @@ M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-40) - M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() . = 1 @@ -354,7 +354,7 @@ M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-60) - M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) M.adjustToxLoss(1*REM, 0) ..() . = TRUE @@ -375,7 +375,7 @@ M.AdjustSleeping(-40) if(M.getToxLoss() && prob(20)) M.adjustToxLoss(-1, 0) - M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() . = 1 @@ -390,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(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/crosstalk @@ -431,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(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) M.adjust_jitter(5, max = 100) ..() . = 1 @@ -447,7 +447,7 @@ /datum/reagent/consumable/tadrixx/on_mob_life(mob/living/carbon/M) M.drowsyness = max(0,M.drowsyness-6) - M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/space_up @@ -461,7 +461,7 @@ /datum/reagent/consumable/space_up/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/molten @@ -476,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(-2 * 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), FALSE) else if(M.bodytemperature < (M.get_body_temp_normal(apply_change=FALSE) + 1)) - M.adjust_bodytemperature(2 * 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), FALSE) ..() /datum/reagent/consumable/molten/plasma_fizz @@ -509,7 +509,7 @@ /datum/reagent/consumable/lemon_lime/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() @@ -530,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(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) if(prob(10)) M?.mind.adjust_experience(/datum/skill/gaming, 5) ..() @@ -545,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(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/sodawater name = "Soda Water" @@ -559,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(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/tonic @@ -575,7 +575,7 @@ M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-40) - M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() . = 1 @@ -594,7 +594,7 @@ M.dizziness +=1 M.drowsyness = 0 M.AdjustSleeping(-40) - M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/xeno_energy/on_mob_metabolize(mob/living/L) @@ -617,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(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/soy_latte @@ -639,7 +639,7 @@ M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.SetSleeping(0) - M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(), FALSE) if(M.getBruteLoss() && prob(20)) M.heal_bodypart_damage(1,0, 0) ..() @@ -664,7 +664,7 @@ M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.SetSleeping(0) - M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(), FALSE) if(M.getBruteLoss() && prob(20)) M.heal_bodypart_damage(1,0, 0) ..() @@ -788,7 +788,7 @@ glass_desc = "It's grape soda!" /datum/reagent/consumable/grape_soda/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/milk/chocolate_milk @@ -817,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(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/hot_coco/on_mob_life(mob/living/carbon/M) @@ -884,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(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/sol_dry diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index b72d8f2e4fc2..3dbe92098319 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -428,7 +428,7 @@ taste_description = "your imprisonment" /datum/reagent/consumable/hot_ramen/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(), FALSE) ..() /datum/reagent/consumable/hell_ramen @@ -776,7 +776,7 @@ ..() /datum/reagent/consumable/pyre_elementum/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(2 * 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(), FALSE) // 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 e952526bb94c..d8656cb47c99 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1822,7 +1822,7 @@ /datum/reagent/medicine/rhigoxane/on_mob_life(mob/living/carbon/M) M.adjustFireLoss(-2*REM, 0.) - M.adjust_bodytemperature(-0.2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.dna.species.bodytemp_normal) + M.adjust_bodytemperature(-0.6 * TEMPERATURE_DAMAGE_COEFFICIENT, M.dna.species.bodytemp_normal) ..() . = 1 diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index e1553a6dffcf..01326e6d1fb6 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(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) return ..() /datum/reagent/toxin/lexorin diff --git a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm index b48aefddcc62..6fb03cd2a71e 100644 --- a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm @@ -44,7 +44,7 @@ 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.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) M.adjustFireLoss(-0.25) if(prob(10)) to_chat(M, span_notice("Sweat runs down your body.")) @@ -109,7 +109,7 @@ breakaway_flask_icon_state = "baflaskhearthwine" /datum/reagent/consumable/ethanol/trickwine/hearth_wine/on_mob_life(mob/living/M) - M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) if(ishuman(M)) var/mob/living/carbon/human/H = M H.heal_bleeding(0.25) diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 5a0d20e23ca3..738605d22832 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -54,7 +54,7 @@ var/cold_message = "your face freezing and an icicle forming" var/chilly_message = "chilly air" - var/chlly_threshold = T20C-7 + var/chlly_threshold = T20C-20 var/cold_level_1_threshold = 240 var/cold_level_2_threshold = 220 var/cold_level_3_threshold = 200 @@ -65,10 +65,10 @@ var/hot_message = "your face burning and a searing heat" 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/warm_threshold = T20C+20 + var/heat_level_1_threshold = 323 + var/heat_level_2_threshold = 335 + var/heat_level_3_threshold = 350 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 From 8f75c315846e551a55eb745251ba31b8047abaf7 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Fri, 17 Jan 2025 12:35:52 -0800 Subject: [PATCH 036/330] Removal of Mutations from Radiation (#3978) ## About The Pull Request Removes mutations from the consequences of radiation poisoning. Nothing else is changed, you just won't gain cruft mutations anymore. ## Why It's Good For The Game ![image](https://github.com/user-attachments/assets/21901a0b-2e50-4f16-812b-a395a8d67d06) Look. We've all experienced this or seen it. Someone gets a little too irradiated and then while your medical crewmember tries to treat them they have some unholy mutation cause them to teleport, or worse- recursively gain radiation to the point the ship is chernobyl'd. There's no way this is good for the gameplay in it's current state. If you need any further reasons, ask around about the Vox Elephant's Foot incident or any other number of stories involving mutations and radiation. ## Changelog :cl: balance: Radiation no longer horribly mutates your DNA to make you Swedish. It still causes cancer. /:cl: Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/modules/mob/living/carbon/human/species.dm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index e9503f7e7225..e715e2c7e4ca 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1431,13 +1431,6 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(radiation > RAD_MOB_VOMIT && prob(RAD_MOB_VOMIT_PROB)) H.vomit(10, TRUE) - if(radiation > RAD_MOB_MUTATE) - if(prob(1)) - to_chat(H, "You mutate!") - H.easy_randmut(NEGATIVE+MINOR_NEGATIVE) - H.emote("gasp") - H.domutcheck() - if(radiation > RAD_MOB_HAIRLOSS) if(prob(15) && !(H.hairstyle == "Bald") && (HAIR in species_traits)) to_chat(H, "Your hair starts to fall out in clumps...") From e58607e730a25baf531a8fafc366fb08af3b3277 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 17 Jan 2025 16:10:53 -0600 Subject: [PATCH 037/330] Automatic changelog generation for PR #3895 [ci skip] --- html/changelogs/AutoChangeLog-pr-3895.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3895.yml diff --git a/html/changelogs/AutoChangeLog-pr-3895.yml b/html/changelogs/AutoChangeLog-pr-3895.yml new file mode 100644 index 000000000000..685278277f54 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3895.yml @@ -0,0 +1,7 @@ +author: Erikafox +changes: + - {balance: Temperature Mechanics have been partially reverted. Please report any + weirdness} + - {balance: Temperature now defaults to respecting insulation instead of ignoring + it.} +delete-after: true From dd1c317383aa8918521f32cdf5e8077a0bacdb19 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 17 Jan 2025 16:11:47 -0600 Subject: [PATCH 038/330] Automatic changelog generation for PR #3978 [ci skip] --- html/changelogs/AutoChangeLog-pr-3978.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3978.yml diff --git a/html/changelogs/AutoChangeLog-pr-3978.yml b/html/changelogs/AutoChangeLog-pr-3978.yml new file mode 100644 index 000000000000..85280b4e985d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3978.yml @@ -0,0 +1,5 @@ +author: firebudgy +changes: + - {balance: Radiation no longer horribly mutates your DNA to make you Swedish. It + still causes cancer.} +delete-after: true From 19366fc4f66a6dee49b97e01ea76acc1ee2ab1b1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 17 Jan 2025 21:28:21 +0000 Subject: [PATCH 039/330] Automatic TGS DMAPI Update (#3928) This pull request updates the TGS DMAPI to the latest version. Please note any breaking or unimplemented changes before merging. Co-authored-by: github-actions Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/__DEFINES/tgs.dm | 29 ++++++++++++++++++++++++++++- code/modules/tgs/v5/undefs.dm | 1 + 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index 42f2d5fc31fe..7e1ba820dd8b 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,7 +1,7 @@ // tgstation-server DMAPI // The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in IETF RFC 2119. -#define TGS_DMAPI_VERSION "7.3.0" +#define TGS_DMAPI_VERSION "7.3.1" // All functions and datums outside this document are subject to change with any version and should not be relied on. @@ -58,6 +58,11 @@ #define TGS_FILE2TEXT_NATIVE file2text #endif +// SpacemanDMM compatibility +#ifndef CAN_BE_REDEFINED +#define CAN_BE_REDEFINED(X) +#endif + // EVENT CODES /// Before a reboot mode change, extras parameters are the current and new reboot mode enums. @@ -160,6 +165,7 @@ * * 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, datum/tgs_http_handler/http_handler) + CAN_BE_REDEFINED(TRUE) return /** @@ -170,6 +176,7 @@ * This function should not be called before ..() in [/world/proc/New]. */ /world/proc/TgsInitializationComplete() + CAN_BE_REDEFINED(TRUE) return /// Consumers MUST run this macro at the start of [/world/proc/Topic]. @@ -177,6 +184,7 @@ /// Consumers MUST call this as late as possible in [world/proc/Reboot] (BEFORE ..()). /world/proc/TgsReboot() + CAN_BE_REDEFINED(TRUE) return // DATUM DEFINITIONS @@ -214,6 +222,7 @@ * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] contains wildcards. */ /datum/tgs_version/proc/Wildcard() + CAN_BE_REDEFINED(TRUE) return /** @@ -222,6 +231,7 @@ * other_version - The [/datum/tgs_version] to compare against. */ /datum/tgs_version/proc/Equals(datum/tgs_version/other_version) + CAN_BE_REDEFINED(TRUE) return /// Represents a merge of a GitHub pull request. @@ -459,16 +469,19 @@ /// Returns the maximum supported [/datum/tgs_version] of the DMAPI. /world/proc/TgsMaximumApiVersion() + CAN_BE_REDEFINED(TRUE) return /// Returns the minimum supported [/datum/tgs_version] of the DMAPI. /world/proc/TgsMinimumApiVersion() + CAN_BE_REDEFINED(TRUE) return /** * Returns [TRUE] if DreamDaemon was launched under TGS, the API matches, and was properly initialized. [FALSE] will be returned otherwise. */ /world/proc/TgsAvailable() + CAN_BE_REDEFINED(TRUE) return // No function below this succeeds if it TgsAvailable() returns FALSE or if TgsNew() has yet to be called. @@ -480,6 +493,7 @@ * If TGS has not requested a [TGS_REBOOT_MODE_SHUTDOWN] DreamDaemon will be launched again. */ /world/proc/TgsEndProcess() + CAN_BE_REDEFINED(TRUE) return /** @@ -490,6 +504,7 @@ * admin_only: If [TRUE], message will be sent to admin connected chats. Vice-versa applies. */ /world/proc/TgsTargetedChatBroadcast(datum/tgs_message_content/message, admin_only = FALSE) + CAN_BE_REDEFINED(TRUE) return /** @@ -500,6 +515,7 @@ * user: The [/datum/tgs_chat_user] to PM. */ /world/proc/TgsChatPrivateMessage(datum/tgs_message_content/message, datum/tgs_chat_user/user) + CAN_BE_REDEFINED(TRUE) return /** @@ -510,42 +526,52 @@ * channels - Optional list of [/datum/tgs_chat_channel]s to restrict the message to. */ /world/proc/TgsChatBroadcast(datum/tgs_message_content/message, list/channels = null) + CAN_BE_REDEFINED(TRUE) return /// Returns the current [/datum/tgs_version] of TGS if it is running the server, null otherwise. This function may sleep if the call to [/world/proc/TgsNew] is sleeping! /world/proc/TgsVersion() + CAN_BE_REDEFINED(TRUE) return /// Returns the running engine type /world/proc/TgsEngine() + CAN_BE_REDEFINED(TRUE) return /// Returns the current [/datum/tgs_version] of the DMAPI being used if it was activated, null otherwise. This function may sleep if the call to [/world/proc/TgsNew] is sleeping! /world/proc/TgsApiVersion() + CAN_BE_REDEFINED(TRUE) return /// Returns the name of the TGS instance running the game if TGS is present, null otherwise. This function may sleep if the call to [/world/proc/TgsNew] is sleeping! /world/proc/TgsInstanceName() + CAN_BE_REDEFINED(TRUE) return /// Return the current [/datum/tgs_revision_information] of the running server if TGS is present, null otherwise. This function may sleep if the call to [/world/proc/TgsNew] is sleeping! /world/proc/TgsRevision() + CAN_BE_REDEFINED(TRUE) return /// Returns the current BYOND security level as a TGS_SECURITY_ define if TGS is present, null otherwise. This function may sleep if the call to [/world/proc/TgsNew] is sleeping! /world/proc/TgsSecurityLevel() + CAN_BE_REDEFINED(TRUE) return /// Returns the current BYOND visibility level as a TGS_VISIBILITY_ define if TGS is present, null otherwise. Requires TGS to be using interop API version 5 or higher otherwise the string "___unimplemented" wil be returned. This function may sleep if the call to [/world/proc/TgsNew] is sleeping! /world/proc/TgsVisibility() + CAN_BE_REDEFINED(TRUE) return /// Returns a list of active [/datum/tgs_revision_information/test_merge]s if TGS is present, null otherwise. This function may sleep if the call to [/world/proc/TgsNew] is sleeping! /world/proc/TgsTestMerges() + CAN_BE_REDEFINED(TRUE) return /// Returns a list of connected [/datum/tgs_chat_channel]s if TGS is present, null otherwise. This function may sleep if the call to [/world/proc/TgsNew] is sleeping! /world/proc/TgsChatChannelInfo() + CAN_BE_REDEFINED(TRUE) return /** @@ -556,6 +582,7 @@ * wait_for_completion - If set, this function will not return until the event has run to completion. */ /world/proc/TgsTriggerEvent(event_name, list/parameters, wait_for_completion = FALSE) + CAN_BE_REDEFINED(TRUE) return /* diff --git a/code/modules/tgs/v5/undefs.dm b/code/modules/tgs/v5/undefs.dm index acd19dfa6411..ca49e46cdffa 100644 --- a/code/modules/tgs/v5/undefs.dm +++ b/code/modules/tgs/v5/undefs.dm @@ -18,6 +18,7 @@ #undef DMAPI5_PARAMETER_ACCESS_IDENTIFIER #undef DMAPI5_PARAMETER_CUSTOM_COMMANDS +#undef DMAPI5_PARAMETER_TOPIC_PORT #undef DMAPI5_CHUNK #undef DMAPI5_CHUNK_PAYLOAD From 11483f29a219075c15c7a796735ae0cee5693eeb Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Fri, 17 Jan 2025 15:06:32 -0800 Subject: [PATCH 040/330] Scrap Audit - Circuit Board Removals and Additions + Mech Wreck Chassis Additions (#4003) ## About The Pull Request Does what it says on the tin. - Removes Communications, Launchpads, broken-ass EXPERIMENTOR machines, and cloning from circuit board drops. - Adds engines (for use in emergency repairs) and SMES as circuit drops. - Removes HONK mechs from potential exosuit part loot drops. - Adds Chassis to potential mech part drops. Why salvage otherwise? - Adds power cells to hivebot loot drops, to complete the stock parts list. - Makes various exosuit boards somewhat more common, to make gambling for them worthwhile. ## Why It's Good For The Game Waste loot has been left... untouched for a fair while. With Cloning and Sellpads (major things we don't want in players' hands), Communications (requesting nuclear codes) and others still available I decided to cull those. This also makes going and spending time on a waste (or multiple wastes) to salvage mech parts and potentially build a scrap mech actually possible now. You just couldn't before. Also, adds a way to get better power cells (non-weapon cells). You have to kick the hell out of Hivebots though to get the chance to get one. ## Changelog :cl: balance: Loot adjustments on waste planets. /:cl: Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/game/mecha/mecha_wreckage.dm | 6 ++++ .../objects/effects/spawners/random/boards.dm | 29 +++++++------------ .../effects/spawners/random/waste_planet.dm | 3 ++ 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm index b9a964cd5d55..845d06ad154f 100644 --- a/code/game/mecha/mecha_wreckage.dm +++ b/code/game/mecha/mecha_wreckage.dm @@ -114,6 +114,7 @@ icon_state = "gygax-broken" parts = list( /obj/item/mecha_parts/part/gygax_torso, + /obj/item/mecha_parts/chassis/gygax, /obj/item/mecha_parts/part/gygax_head, /obj/item/mecha_parts/part/gygax_left_arm, /obj/item/mecha_parts/part/gygax_right_arm, @@ -147,6 +148,7 @@ name = "\improper Ripley wreckage" icon_state = "ripley-broken" parts = list(/obj/item/mecha_parts/part/ripley_torso, + /obj/item/mecha_parts/chassis/ripley, /obj/item/mecha_parts/part/ripley_left_arm, /obj/item/mecha_parts/part/ripley_right_arm, /obj/item/mecha_parts/part/ripley_left_leg, @@ -156,6 +158,7 @@ name = "\improper Rogue wreckage" icon_state = "clipripley-broken" + /obj/structure/mecha_wreckage/ripley/mkii name = "\improper Ripley MK-II wreckage" icon_state = "ripleymkii-broken" @@ -165,6 +168,7 @@ icon_state = "firefighter-broken" parts = list(/obj/item/mecha_parts/part/ripley_torso, /obj/item/mecha_parts/part/ripley_left_arm, + /obj/item/mecha_parts/chassis/ripley, /obj/item/mecha_parts/part/ripley_right_arm, /obj/item/mecha_parts/part/ripley_left_leg, /obj/item/mecha_parts/part/ripley_right_leg, @@ -193,6 +197,7 @@ icon_state = "durand-broken" parts = list( /obj/item/mecha_parts/part/durand_torso, + /obj/item/mecha_parts/chassis/durand, /obj/item/mecha_parts/part/durand_head, /obj/item/mecha_parts/part/durand_left_arm, /obj/item/mecha_parts/part/durand_right_arm, @@ -213,6 +218,7 @@ icon_state = "odysseus-broken" parts = list( /obj/item/mecha_parts/part/odysseus_torso, + /obj/item/mecha_parts/chassis/odysseus, /obj/item/mecha_parts/part/odysseus_head, /obj/item/mecha_parts/part/odysseus_left_arm, /obj/item/mecha_parts/part/odysseus_right_arm, diff --git a/code/game/objects/effects/spawners/random/boards.dm b/code/game/objects/effects/spawners/random/boards.dm index 0104d17326d7..b66ce29ca53f 100644 --- a/code/game/objects/effects/spawners/random/boards.dm +++ b/code/game/objects/effects/spawners/random/boards.dm @@ -160,11 +160,9 @@ /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, @@ -179,8 +177,8 @@ /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/item/circuitboard/machine/smes = 5, ) /obj/effect/spawner/random/circuit @@ -192,25 +190,24 @@ /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/item/circuitboard/machine/shuttle/engine/electric = 5, + /obj/item/circuitboard/machine/shuttle/smes = 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, + /obj/item/circuitboard/mecha/odysseus/main = 25, + /obj/item/circuitboard/mecha/odysseus/peripherals = 25, + /obj/item/circuitboard/mecha/gygax/main = 20, + /obj/item/circuitboard/mecha/gygax/peripherals = 20, + /obj/item/circuitboard/mecha/gygax/targeting = 20, + /obj/item/circuitboard/mecha/durand/main = 20, + /obj/item/circuitboard/mecha/durand/peripherals = 20, + /obj/item/circuitboard/mecha/durand/targeting = 20, ) //COMPUTER @@ -222,13 +219,10 @@ /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, @@ -239,7 +233,6 @@ /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/waste_planet.dm b/code/game/objects/effects/spawners/random/waste_planet.dm index 1f416ed02007..ec4b40e35ab0 100644 --- a/code/game/objects/effects/spawners/random/waste_planet.dm +++ b/code/game/objects/effects/spawners/random/waste_planet.dm @@ -116,6 +116,7 @@ /obj/item/stock_parts/manipulator/nano, /obj/item/stock_parts/micro_laser/high, /obj/item/stock_parts/matter_bin/adv, + /obj/item/stock_parts/cell/super/empty, ) spawn_loot_count = 1 spawn_loot_chance = 100 @@ -127,6 +128,7 @@ /obj/item/stock_parts/manipulator/pico, /obj/item/stock_parts/micro_laser/ultra, /obj/item/stock_parts/matter_bin/super, + /obj/item/stock_parts/cell/hyper/empty, ) @@ -137,6 +139,7 @@ /obj/item/stock_parts/manipulator/femto, /obj/item/stock_parts/micro_laser/quadultra, /obj/item/stock_parts/matter_bin/bluespace, + /obj/item/stock_parts/cell/bluespace/empty, ) From fc94ac544f542a8b6d729409a486dea4bd26b4d6 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 17 Jan 2025 17:17:09 -0600 Subject: [PATCH 041/330] Automatic changelog generation for PR #4003 [ci skip] --- html/changelogs/AutoChangeLog-pr-4003.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4003.yml diff --git a/html/changelogs/AutoChangeLog-pr-4003.yml b/html/changelogs/AutoChangeLog-pr-4003.yml new file mode 100644 index 000000000000..94801ea995a8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4003.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {balance: Loot adjustments on waste planets.} +delete-after: true From 0d0998c30d5cf993d843f356eff4218b8358b045 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 00:59:35 +0000 Subject: [PATCH 042/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3736.yml | 9 ------- html/changelogs/AutoChangeLog-pr-3890.yml | 5 ---- html/changelogs/AutoChangeLog-pr-3895.yml | 7 ------ html/changelogs/AutoChangeLog-pr-3939.yml | 5 ---- html/changelogs/AutoChangeLog-pr-3946.yml | 5 ---- html/changelogs/AutoChangeLog-pr-3978.yml | 5 ---- html/changelogs/AutoChangeLog-pr-3985.yml | 4 --- html/changelogs/AutoChangeLog-pr-3998.yml | 5 ---- html/changelogs/AutoChangeLog-pr-4003.yml | 4 --- html/changelogs/AutoChangeLog-pr-4022.yml | 4 --- html/changelogs/archive/2025-01.yml | 30 +++++++++++++++++++++++ 11 files changed, 30 insertions(+), 53 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3736.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3890.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3895.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3939.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3946.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3978.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3985.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3998.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4003.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4022.yml diff --git a/html/changelogs/AutoChangeLog-pr-3736.yml b/html/changelogs/AutoChangeLog-pr-3736.yml deleted file mode 100644 index cfe5dfef845e..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3736.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: Erikafox -changes: - - {rscadd: Scopes!!!} - - {rscadd: All guns now have an implicit ability to aim down sights.} - - {rscadd: aiming now slows you down.} - - {bugfix: 'fixes ported from /tg/: projectiles no longer sail into the ether when - you fire them at a distance'} - - {bugfix: aiming is now less jank} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3890.yml b/html/changelogs/AutoChangeLog-pr-3890.yml deleted file mode 100644 index 1667f04d4e8e..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3890.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Martinpachu -changes: - - {rscdel: 'Removed certain screwdrivers, as they are no longer needed for reloading - energy weapons.'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3895.yml b/html/changelogs/AutoChangeLog-pr-3895.yml deleted file mode 100644 index 685278277f54..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3895.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Erikafox -changes: - - {balance: Temperature Mechanics have been partially reverted. Please report any - weirdness} - - {balance: Temperature now defaults to respecting insulation instead of ignoring - it.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3939.yml b/html/changelogs/AutoChangeLog-pr-3939.yml deleted file mode 100644 index e29c0feb2043..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3939.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Erikafox -changes: - - {rscadd: The asteroid outpost in the region has been somewhat renovated.} - - {rscadd: Outposts now stock a variety of medpens in a small medical area.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3946.yml b/html/changelogs/AutoChangeLog-pr-3946.yml deleted file mode 100644 index 7ff33cce4085..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3946.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Apogee-dev -changes: - - {code_imp: Renamed the Gygax and Odysseus and updated their lore} - - {rscadd: Dark Gygax (now 515 EX) has better efficiency when overloading its legs.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3978.yml b/html/changelogs/AutoChangeLog-pr-3978.yml deleted file mode 100644 index 85280b4e985d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3978.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: firebudgy -changes: - - {balance: Radiation no longer horribly mutates your DNA to make you Swedish. It - still causes cancer.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3985.yml b/html/changelogs/AutoChangeLog-pr-3985.yml deleted file mode 100644 index d336be0598c1..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3985.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {balance: 'goldgrubs, fugu, and basilisks are now marginally less immune to bullets.'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3998.yml b/html/changelogs/AutoChangeLog-pr-3998.yml deleted file mode 100644 index 3359b5b3b70a..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3998.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: zimon9 -changes: - - {code_imp: modifies the access requirements to the wrecker's equipment room aboard - the Derecho so that the Foreman can access it} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4003.yml b/html/changelogs/AutoChangeLog-pr-4003.yml deleted file mode 100644 index 94801ea995a8..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4003.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {balance: Loot adjustments on waste planets.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4022.yml b/html/changelogs/AutoChangeLog-pr-4022.yml deleted file mode 100644 index 1ce5bdf8d2d3..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4022.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: SomeguyManperson -changes: - - {bugfix: radioactive barrels are now 4k HD again} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index 4a24f6db40db..f92e9909176c 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -97,3 +97,33 @@ generalthrax: - rscadd: Improved Elder airlock and added a few small things to the Elder (Animal pen, cargo bay area, more tobacco, eggs), and shifted docking ports around. +2025-01-18: + Apogee-dev: + - code_imp: Renamed the Gygax and Odysseus and updated their lore + - rscadd: Dark Gygax (now 515 EX) has better efficiency when overloading its legs. + Erikafox: + - balance: Temperature Mechanics have been partially reverted. Please report any + weirdness + - balance: Temperature now defaults to respecting insulation instead of ignoring + it. + - balance: goldgrubs, fugu, and basilisks are now marginally less immune to bullets. + - rscadd: Scopes!!! + - rscadd: All guns now have an implicit ability to aim down sights. + - rscadd: aiming now slows you down. + - bugfix: 'fixes ported from /tg/: projectiles no longer sail into the ether when + you fire them at a distance' + - bugfix: aiming is now less jank + - rscadd: The asteroid outpost in the region has been somewhat renovated. + - rscadd: Outposts now stock a variety of medpens in a small medical area. + Martinpachu: + - rscdel: Removed certain screwdrivers, as they are no longer needed for reloading + energy weapons. + SomeguyManperson: + - bugfix: radioactive barrels are now 4k HD again + firebudgy: + - balance: Loot adjustments on waste planets. + - balance: Radiation no longer horribly mutates your DNA to make you Swedish. It + still causes cancer. + zimon9: + - code_imp: modifies the access requirements to the wrecker's equipment room aboard + the Derecho so that the Foreman can access it From cfa5b14e8a50790c9ee8cb706966d1ce62ce7df9 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Fri, 17 Jan 2025 20:00:55 -0800 Subject: [PATCH 043/330] Factional Cargo: Magazines, I Love War Edition (#3989) ## About The Pull Request Adds the Firestorm Pan Magazine (apogee request), Bulldog Drum Magazine (12 rounds over 8), Boomslang 10rnd Magazine and SKM Extended Magazine (effectively two magazines in one) to factional cargo. ## Why It's Good For The Game Adds another way to upgrade without totally breaking the balance, as most of these are only small increases in ammo or the equivalent of two magazines in one, and have been priced appropriately. This also accounts for the cost it would take to refill these magazines, which effectively doubles the cost in some cases. Most of these being as expensive as they are should also make sure they're thought about before purchasing. ## Changelog :cl: add: SKM Extended Magazine, Bulldog Drum Magazine, Boomslang 10rnd Magazine and Firestorm Pan Magazine to factional cargo. /:cl: --- code/modules/cargo/packs/gun.dm | 2 +- code/modules/cargo/packs/magazines.dm | 34 +++++++++++++++++-- .../boxes_magazines/external/rifle.dm | 3 ++ .../boxes_magazines/external/smg.dm | 3 ++ .../manufacturer/scarborough/ballistics.dm | 3 ++ 5 files changed, 42 insertions(+), 3 deletions(-) diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 2f1e19daab6e..7681a92e286a 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -657,7 +657,7 @@ faction = /datum/faction/syndicate/scarborough_arms /datum/supply_pack/gun/boomslang10 - name = "Boomslang-10 Sniper Rifle Crate" + name = "MSR-90 'Boomslang' 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) diff --git a/code/modules/cargo/packs/magazines.dm b/code/modules/cargo/packs/magazines.dm index 301f771f79b4..062d1efe8101 100644 --- a/code/modules/cargo/packs/magazines.dm +++ b/code/modules/cargo/packs/magazines.dm @@ -49,12 +49,19 @@ faction = /datum/faction/srm /datum/supply_pack/magazine/firestorm_mag - name = "Firestorm Magazine Crate" + name = "Firestorm Stick 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 +/datum/supply_pack/magazine/firestorm_mag + name = "Firestorm Pan Magazine Crate" + desc = "Contains a 50-round pan magazine for the Hunter's Pride Firestorm SMG." + contains = list(/obj/item/ammo_box/magazine/c45_firestorm_mag/pan/empty) + cost = 1000 + faction = /datum/faction/srm + /* Serene Sporting */ @@ -158,6 +165,14 @@ cost = 750 faction = /datum/faction/syndicate/scarborough_arms +/datum/supply_pack/magazine/boomslang_mag_extended + name = "MSR-90 'Boomslang' Magazine Crate" + desc = "Contains a 6.5 CLIP magazine for the Boomslang rifle platform, with a capacity of ten rounds." + contains = list(/obj/item/ammo_box/magazine/boomslang/empty) + cost = 1500 + faction = /datum/faction/syndicate/scarborough_arms + + /* CM Lancaster */ /datum/supply_pack/magazine/cm23_mag @@ -203,6 +218,15 @@ contains = list(/obj/item/ammo_box/magazine/skm_762_40/empty) cost = 500 +/datum/supply_pack/magazine/skm_ammo_extended + name = "SKM Extended Magazine Crate" + desc = "Contains a 7.62x40mm magazine for the SKM rifles, with a capacity of fourty rounds." + contains = list(/obj/item/ammo_box/magazine/skm_762_40/extended/empty) + cost = 1250 + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + /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." @@ -282,12 +306,18 @@ /* Shotguns */ /datum/supply_pack/magazine/bulldog - name = "Bulldog Magazine Crate" + name = "Bulldog Box 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 +/datum/supply_pack/magazine/bulldog_12 + name = "Bulldog Drum Magazine Crate" + desc = "Contains a 12-round 12ga drum magazine for the Bulldog weapons platform." + contains = list(/obj/item/ammo_box/magazine/m12g_bulldog/drum/empty) + cost = 1500 + faction = /datum/faction/syndicate/scarborough_arms /* energy weapons */ diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index 02633e88f975..533f5d171a3f 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -45,6 +45,9 @@ icon_state = "skm_extended_mag-1" max_ammo = 40 +/obj/item/ammo_box/magazine/skm_762_40/extended/empty + start_empty = TRUE + /obj/item/ammo_box/magazine/skm_762_40/drum name = "assault rifle drum (7.62x40mm CLIP)" desc = "A 75-round drum for the 7.62x40mm CLIP variants of the SKM assault rifle family. These rounds do good damage with good armor penetration." diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm index ef6568b6ef90..6840f1d98eef 100644 --- a/code/modules/projectiles/boxes_magazines/external/smg.dm +++ b/code/modules/projectiles/boxes_magazines/external/smg.dm @@ -111,3 +111,6 @@ /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/c45_firestorm_mag/pan/empty + start_empty = TRUE diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index d639f7a5f8c5..bbf37bfa9d00 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -594,6 +594,9 @@ NO_MAG_GUN_HELPER(automatic/marksman/boomslang/indie) max_ammo = 10 multiple_sprites = AMMO_BOX_PER_BULLET +/obj/item/ammo_box/magazine/boomslang/empty + start_empty = TRUE + /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." From e37549c95176f8435c38a502ed8cbdf880d26e48 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 17 Jan 2025 22:11:24 -0600 Subject: [PATCH 044/330] Automatic changelog generation for PR #3989 [ci skip] --- html/changelogs/AutoChangeLog-pr-3989.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3989.yml diff --git a/html/changelogs/AutoChangeLog-pr-3989.yml b/html/changelogs/AutoChangeLog-pr-3989.yml new file mode 100644 index 000000000000..1c5b90d8dd59 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3989.yml @@ -0,0 +1,5 @@ +author: firebudgy +changes: + - {rscadd: 'SKM Extended Magazine, Bulldog Drum Magazine, Boomslang 10rnd Magazine + and Firestorm Pan Magazine to factional cargo.'} +delete-after: true From 29a3c99a4f7fee684db3c2b926e59f0bea4defa1 Mon Sep 17 00:00:00 2001 From: Burning02 <141873051+Burning02@users.noreply.github.com> Date: Sat, 18 Jan 2025 04:44:37 -0500 Subject: [PATCH 045/330] Adds the Banshee-class Salvage Clipper [Hardliner] (#3761) ## About The Pull Request Adds the Banshee-class Salvage Clipper to the game for the Hardliner faction in-game as pictured below: ![Screenshot 2024-11-28 141823](https://github.com/user-attachments/assets/5d568ade-287e-4fdc-9aba-7beb2d9d4aba)
StrongDMM screenshots Screenshot with areas ![2024-11-28 14 09 05](https://github.com/user-attachments/assets/37f2b4eb-cc52-48d1-ae34-d140e335ce13) Screenshot without areas ![2024-11-28 14 09 03](https://github.com/user-attachments/assets/5a02c7f4-11a4-48bc-bb46-f7da2b026fa5)
_A drastic refit of an ICW-era Cybersun yacht into a salvage vessel. While the Banshee retains most of the original exterior, its interior houses an exosuit-based Hardliner salvage team and all the facilities they could need. Though somewhat dated, it functions well as a sleeper ship that could easily be mistaken for any other civilian vessel._ Description revised by @Apogee-dev ## Why It's Good For The Game This adds a new vessel for a faction lacking in not only player spawnable vessels, but also small ships. The only currently available Hardliner vessel (Komodo) was too large for the average Komodo crew of 4, with either semi-important roles missing crew (Engineer, medic, or in some cases 2IC's), or the majority of the crew being one role (Deckhand, trooper). ## Changelog :cl: add: Adds the Banshee-class Salvage Clipper as a playable Hardliner vessel /:cl: --- .../configs/syndicate_hardliners_banshee.json | 43 + .../syndicate_hardliners_banshee.dmm | 3659 +++++++++++++++++ 2 files changed, 3702 insertions(+) create mode 100644 _maps/configs/syndicate_hardliners_banshee.json create mode 100644 _maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm diff --git a/_maps/configs/syndicate_hardliners_banshee.json b/_maps/configs/syndicate_hardliners_banshee.json new file mode 100644 index 000000000000..e5b3a529fe60 --- /dev/null +++ b/_maps/configs/syndicate_hardliners_banshee.json @@ -0,0 +1,43 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/syndicate/hardliners", + "prefix": "ISV", + "map_name": "Y450-H Banshee-class Salvage Clipper", + "namelists": [ + "GORLEX", + "NATURAL_AGGRESSIVE", + "BEASTS", + "WEAPONS" + ], + "map_short_name": "Banshee-Class", + "description": "A drastic refit of an ICW-era Cybersun yacht into a salvage vessel. While the Banshee retains most of the original exterior, its interior houses an exosuit-based Hardliner salvage team and all the facilities they could need. Though somewhat dated, it functions well as a sleeper ship that could easily be mistaken for any other civilian vessel.", + "tags": [ + "Salvage", + "Combat", + "Engineering", + "Generalist" + ], + "map_path": "_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm", + "map_id": "syndicate_hardliners_banshee", + "limit": 1, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/syndicate/captain/gorlex", + "officer": true, + "slots": 1 + }, + "Mechanic": { + "outfit": "/datum/outfit/job/syndicate/engineer/gorlex", + "slots": 1 + }, + "Wrecker": { + "outfit": "/datum/outfit/job/syndicate/miner/gorlex", + "slots": 2 + }, + "Junior Wrecker": { + "outfit": "/datum/outfit/job/syndicate/assistant/gorlex", + "slots": 1 + } + }, + "enabled": true +} diff --git a/_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm b/_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm new file mode 100644 index 000000000000..64ef8e0fd1e9 --- /dev/null +++ b/_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm @@ -0,0 +1,3659 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aY" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"bo" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "Bansheeenginebay" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"br" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + dir = 1; + id = "Bansheecargofield"; + locked = 1 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor{ + dir = 4; + id = "Bansheecargodoor" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"bu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding{ + color = "#730622" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"bv" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_target, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"bI" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + id = "Bansheecargofield"; + locked = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/oil/slippery, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor{ + dir = 4; + id = "Bansheecargodoor" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"bO" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Canteen"; + req_ship_access = 1 + }, +/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/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"bT" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/bridge) +"cZ" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"dk" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/black/corner{ + dir = 1 + }, +/obj/machinery/button/shieldwallgen{ + id = "Bansheecargofield"; + dir = 2; + pixel_y = 19; + pixel_x = 1 + }, +/obj/machinery/button/door{ + id = "Bansheecargodoor"; + name = "Cargo bay doors"; + dir = 2; + pixel_y = 20; + pixel_x = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"dG" = ( +/obj/machinery/door/airlock/freezer{ + name = "Custodial Closet" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"ef" = ( +/obj/structure/table, +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 8 + }, +/obj/item/flashlight/lamp{ + pixel_x = -7; + pixel_y = 10 + }, +/obj/machinery/jukebox/boombox{ + pixel_x = -10; + pixel_y = -7; + layer = 3.1 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = 18; + pixel_y = 8 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 18; + pixel_y = 2 + }, +/turf/open/floor/carpet/nanoweave, +/area/ship/crew/canteen) +"eh" = ( +/obj/effect/turf_decal/spline/plain/opaque/syndiered{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = -7 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/cryo) +"ek" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"eu" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"eE" = ( +/obj/structure/catwalk, +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/obj/docking_port/mobile{ + callTime = 250; + dir = 2; + launch_status = 0; + name = "Salvage Clipper"; + port_direction = 8; + preferred_direction = 4 + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"eK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave, +/area/ship/crew) +"eV" = ( +/obj/effect/turf_decal/siding{ + color = "#730622" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/bench/grey/directional/south{ + color = "#ABB0B8" + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"fz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east, +/obj/item/radio/intercom/directional/south, +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/item/trash/can, +/obj/item/trash/candy, +/obj/effect/spawner/random/trash/garbage, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"fA" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/cryo) +"fW" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + id = "Bansheeturrets" + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/external/dark) +"gf" = ( +/obj/machinery/power/terminal, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-9" + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"gN" = ( +/obj/effect/turf_decal/siding{ + color = "#730622" + }, +/obj/machinery/light/small/directional/east, +/obj/structure/closet/crate/bin, +/obj/item/trash/candy, +/obj/item/trash/popcorn, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/garbage, +/obj/effect/spawner/random/trash/garbage, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"hC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"hK" = ( +/obj/machinery/computer/helm{ + dir = 8 + }, +/obj/item/radio/intercom/wideband/directional/east, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"hT" = ( +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/effect/turf_decal/arrows/red{ + pixel_y = 17; + pixel_x = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"id" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk/white, +/turf/open/floor/plating, +/area/ship/hallway/central) +"ir" = ( +/obj/structure/noticeboard{ + pixel_y = 25 + }, +/obj/effect/turf_decal/spline/plain/opaque/syndiered{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/cryo) +"iz" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/canteen) +"iG" = ( +/obj/effect/turf_decal/spline/plain/opaque/syndiered, +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"iH" = ( +/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/effect/decal/cleanable/glass, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 8 + }, +/area/ship/engineering) +"iT" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/central) +"iU" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 10 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"iY" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew) +"jp" = ( +/obj/structure/railing{ + dir = 1; + layer = 3.09 + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "0-6" + }, +/obj/effect/decal/cleanable/plasma, +/obj/machinery/power/port_gen/pacman/super, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"jq" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"jr" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -7 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/closet/firecloset/wall/directional/east{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"kj" = ( +/obj/machinery/door/airlock/external/glass, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"ko" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"kw" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/item/wrench/crescent{ + pixel_x = -16; + pixel_y = 17 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"kF" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"kP" = ( +/obj/effect/turf_decal/spline/plain/opaque/syndiered{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"lh" = ( +/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/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/cargo) +"lA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/number/random{ + pixel_y = 32 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/item/toy/plush/tali{ + pixel_y = 3; + pixel_x = 3 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"lD" = ( +/obj/structure/table, +/obj/item/storage/fancy/cigarettes/cigpack_cannabis{ + pixel_x = -8; + pixel_y = 9 + }, +/obj/item/storage/toolbox/syndicate{ + pixel_y = 8 + }, +/obj/machinery/cell_charger, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/analyzer{ + pixel_x = 8 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"lP" = ( +/obj/effect/turf_decal/industrial/traffic/cee{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, +/obj/effect/turf_decal/box/red/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/red/corners{ + dir = 8 + }, +/obj/item/radio/intercom/directional/north, +/obj/structure/closet/crate/engineering{ + name = "Materials crate" + }, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/mineral/wood{ + name = "Emergency Ore-box planks"; + desc = "Emergency planks for when you did get assigned with an Ore-box." + }, +/obj/item/stack/sheet/mineral/wood{ + name = "Emergency Ore-box planks"; + desc = "Emergency planks for when you did get assigned with an Ore-box." + }, +/obj/item/stack/sheet/mineral/wood{ + name = "Emergency Ore-box planks"; + desc = "Emergency planks for when you did get assigned with an Ore-box." + }, +/obj/item/stack/sheet/mineral/wood{ + name = "Emergency Ore-box planks"; + desc = "Emergency planks for when you did get assigned with an Ore-box." + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"lS" = ( +/obj/machinery/advanced_airlock_controller{ + pixel_y = 24 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -28; + pixel_y = 10 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"lV" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/suit/space/syndicate/black/engie, +/obj/item/clothing/head/helmet/space/syndicate/black/engie, +/obj/item/clothing/shoes/magboots/syndie, +/obj/item/clothing/mask/gas/syndicate, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"mk" = ( +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/effect/turf_decal/industrial/fire/cee{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 1 + }, +/obj/item/clothing/suit/space/syndicate/black/green, +/obj/item/clothing/head/helmet/space/syndicate/black/green, +/obj/item/clothing/mask/gas/syndicate, +/obj/structure/platform/industrial{ + dir = 8 + }, +/obj/structure/sign/poster/syndicate/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) +"mn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"mV" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"mX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/transparent/black/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"ny" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/button/door{ + id = "Bansheeenginebay"; + name = "Engine shutters"; + dir = 1; + pixel_x = -10; + pixel_y = -20 + }, +/obj/machinery/button/door{ + dir = 1; + id = "Bansheeenginewindow"; + name = "Exhaust window"; + pixel_x = 9; + pixel_y = -20 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"nD" = ( +/obj/structure/mirror{ + pixel_y = 30 + }, +/obj/structure/sink{ + pixel_y = 20 + }, +/obj/machinery/shower{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/hole, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"nK" = ( +/obj/structure/closet/secure_closet/armorycage{ + anchored = 1; + can_be_unanchored = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/industrial/fire/cee{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 1 + }, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/clothing/suit/armor/hardliners, +/obj/item/clothing/suit/armor/hardliners, +/obj/item/clothing/head/helmet/hardliners, +/obj/item/clothing/head/helmet/hardliners, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"or" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/item/paper_bin, +/obj/item/flashlight/lamp{ + pixel_x = -7; + pixel_y = 16 + }, +/obj/item/pen/fourcolor, +/obj/item/folder{ + pixel_y = 6; + pixel_x = 12 + }, +/obj/item/folder/syndicate{ + pixel_x = 12 + }, +/obj/machinery/button/door{ + id = "Bansheeprivacyshutters"; + name = "Privacy shutters"; + dir = 1; + pixel_x = 1; + pixel_y = -20; + req_access_txt = "20" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -9; + pixel_y = -19 + }, +/obj/item/pen/fountain/captain{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/item/stamp/captain{ + pixel_y = 3; + pixel_x = -9 + }, +/obj/item/stamp/cybersun{ + pixel_x = -9; + pixel_y = -3 + }, +/obj/structure/table, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"os" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"oF" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Privacy Shutters"; + id = "Bansheeprivacyshutters" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"oR" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/cargo) +"oT" = ( +/obj/effect/turf_decal/siding{ + color = "#730622" + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"oZ" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/item/clothing/suit/hazardvest/hardliners, +/obj/item/clothing/head/hardhat/hardliners, +/obj/item/clothing/accessory/armband/cargo, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/gloves/explorer, +/obj/item/radio/headset/alt, +/obj/structure/closet/secure_closet/wall/directional/west{ + icon_state = "cargo_wall"; + name = "Wreckers closet"; + req_access_txt = "48" + }, +/obj/item/clothing/under/syndicate/hardliners/jumpsuit, +/obj/effect/decal/cleanable/dirt, +/obj/item/melee/axe/sledgehammer, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"pf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/floor{ + pixel_x = -8 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"ph" = ( +/obj/effect/turf_decal/siding{ + color = "#730622"; + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"pk" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/isf_small/right{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"pM" = ( +/turf/template_noop, +/area/template_noop) +"qa" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding{ + color = "#474747" + }, +/obj/structure/chair, +/obj/structure/sign/poster/random{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"qd" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ + dir = 5 + }, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"qk" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 6 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/syndi/hl, +/obj/item/clothing/mask/gas/syndicate/voicechanger, +/obj/machinery/light/small/directional/east, +/obj/item/tank/jetpack/carbondioxide, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"qq" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"qF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"qM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"rb" = ( +/obj/effect/turf_decal/siding{ + color = "#730622" + }, +/obj/structure/chair/handrail, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"rc" = ( +/obj/machinery/portable_atmospherics/canister/hydrogen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"rd" = ( +/obj/structure/closet/secure_closet/freezer/fridge{ + populate = 0 + }, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/milk, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb, +/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/meat/slab, +/obj/item/reagent_containers/food/snacks/meat/slab, +/turf/open/floor/carpet/nanoweave, +/area/ship/crew/canteen) +"rj" = ( +/obj/effect/turf_decal/spline/plain/opaque/syndiered, +/obj/machinery/light/floor{ + pixel_y = -5 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"rq" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/landmark/start/shaft_miner, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"ru" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitories"; + req_ship_access = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew) +"rv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/food/egg_smudge, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"rG" = ( +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/structure/platform/industrial{ + dir = 8 + }, +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"sd" = ( +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/siding{ + color = "#474747" + }, +/obj/structure/chair, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"sV" = ( +/obj/effect/turf_decal/siding{ + color = "#730622"; + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/structure/sign/poster/random{ + pixel_y = -32 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"sY" = ( +/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/structure/catwalk/over/plated_catwalk/white, +/turf/open/floor/plating, +/area/ship/hallway/central) +"tO" = ( +/obj/machinery/door/airlock/freezer{ + name = "Bathroom"; + id_tag = "Bansheebathroomdoor" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock_note_placer{ + text = "Some bastard threw up all over the toilet. I'd be careful if I was you" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"tR" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/layer4, +/obj/structure/platform/industrial/corner{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/structure/sign/poster/contraband/gec{ + pixel_y = 32 + }, +/obj/structure/extinguisher_cabinet/directional/west{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"uv" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"uG" = ( +/obj/structure/catwalk, +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"uH" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/button/door{ + id = "Bansheeairlockwindow"; + name = "Airlock shutters"; + pixel_x = -5; + pixel_y = -20; + dir = 8 + }, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/obj/item/tank/internals/oxygen/red, +/obj/item/clothing/mask/breath, +/obj/structure/closet/emcloset/wall/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"vb" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "Bansheeenginewindow" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/engineering) +"vg" = ( +/obj/structure/catwalk, +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/obj/structure/chair/handrail, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"vQ" = ( +/obj/machinery/autolathe, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"vU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"vV" = ( +/obj/effect/turf_decal/siding{ + color = "#730622" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/chair/handrail, +/obj/structure/sign/poster/rilena/random{ + pixel_y = 32 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"wP" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"wR" = ( +/obj/machinery/power/ship_gravity, +/obj/structure/platform/industrial/corner{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"xe" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/ship/engineering) +"xF" = ( +/obj/structure/guncloset, +/obj/effect/turf_decal/industrial/fire/cee, +/obj/effect/turf_decal/siding/thinplating/dark/end, +/obj/machinery/airalarm/directional/west, +/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, +/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"xS" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/caution/red{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"yo" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"yE" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/vomit/old, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/button/door{ + id = "Bansheebathroomdoor"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_y = 20; + specialfunctions = 4; + pixel_x = -7 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"yF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/number/random{ + pixel_y = 32 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"yV" = ( +/obj/effect/turf_decal/siding{ + color = "#730622"; + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/chair/bench/grey/directional/north{ + color = "#ABB0B8" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"ze" = ( +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"zm" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 9 + }, +/obj/machinery/computer/crew{ + icon_state = "computer-left" + }, +/obj/machinery/button/door{ + id = "Bansheebridgewindow"; + name = "Bridge windows"; + pixel_y = 20 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"zr" = ( +/obj/structure/catwalk, +/obj/structure/chair/handrail, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"Ae" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"An" = ( +/obj/effect/turf_decal/spline/plain/opaque/syndiered{ + dir = 1 + }, +/obj/machinery/light/floor{ + pixel_y = 5 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Ao" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/cargo) +"At" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/food/flour, +/obj/effect/turf_decal/siding{ + color = "#474747"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Bb" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 9; + id = "Bansheeturrets" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Bi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Privacy Shutters"; + id = "Bansheeprivacyshutters" + }, +/obj/machinery/door/airlock/command/glass{ + req_access_txt = "20"; + name = "Bridge" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"Bn" = ( +/obj/effect/turf_decal/spline/fancy/transparent/black{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"BV" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "Bansheeenginewindow" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/engineering) +"Cd" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"CC" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/orange/visible{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"CN" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"CV" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/crew/cryo) +"CZ" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/hallway/central) +"Ds" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/siding{ + color = "#730622" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/bench/grey/directional/south{ + color = "#ABB0B8" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"Du" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"DU" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"DY" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Ee" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"EG" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + piping_layer = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Fv" = ( +/obj/structure/platform/industrial{ + dir = 8 + }, +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/effect/turf_decal/industrial/fire/cee, +/obj/effect/turf_decal/siding/thinplating/dark/end, +/obj/item/clothing/suit/space/syndicate/black/green, +/obj/item/clothing/head/helmet/space/syndicate/black/green, +/obj/item/clothing/mask/gas/syndicate, +/obj/structure/railing{ + layer = 3.09 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) +"FE" = ( +/obj/item/clothing/under/syndicate/hardliners, +/obj/item/clothing/under/syndicate/hardliners, +/obj/item/clothing/shoes/jackboots{ + pixel_y = -10; + pixel_x = -2 + }, +/obj/item/clothing/shoes/jackboots{ + pixel_y = -10; + pixel_x = -2 + }, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/head/beret/black{ + pixel_y = 9; + pixel_x = 8 + }, +/obj/item/clothing/head/soft/black{ + pixel_x = -11; + pixel_y = 9 + }, +/obj/item/clothing/head/soft/black{ + pixel_x = -11; + pixel_y = 9 + }, +/obj/item/storage/backpack/messenger, +/obj/item/storage/backpack/messenger, +/obj/item/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, +/obj/machinery/light/small/directional/west, +/obj/structure/closet, +/obj/item/clothing/suit/hooded/wintercoat/security/hardliners, +/obj/item/clothing/suit/hooded/wintercoat/security/hardliners, +/obj/item/clothing/suit/hooded/wintercoat/security/hardliners, +/turf/open/floor/carpet/nanoweave, +/area/ship/crew) +"FP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"FX" = ( +/obj/structure/catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/docking_port/stationary{ + dir = 2; + dwidth = 7; + height = 15; + name = "Banshee airlock dock"; + width = 30 + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"Ga" = ( +/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/plasteel/mono/white, +/area/ship/hallway/central) +"Gc" = ( +/obj/structure/sign/number/random{ + pixel_y = 32 + }, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 6; + pixel_x = 9 + }, +/obj/item/food/butterbiscuit{ + pixel_y = -2; + pixel_x = 5 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Gi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding{ + color = "#474747" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Go" = ( +/obj/structure/bed/bunk, +/obj/structure/bed/bunk/top, +/obj/structure/curtain/cloth/grey{ + color = "#5c131b"; + name = "blood-red curtains" + }, +/turf/open/floor/carpet/nanoweave, +/area/ship/crew) +"Gs" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + id = "Bansheebridgewindow" + }, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/bridge) +"Gy" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/structure/chair/handrail, +/obj/effect/turf_decal/arrows/red{ + pixel_y = -17; + pixel_x = 6; + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"GC" = ( +/obj/effect/turf_decal/siding{ + color = "#730622"; + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"Hr" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/chair/handrail, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Hs" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/engineering) +"Hu" = ( +/obj/effect/turf_decal/industrial/traffic/cee{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 + }, +/obj/effect/turf_decal/box/red/corners, +/obj/effect/turf_decal/box/red/corners{ + dir = 4 + }, +/obj/structure/closet/crate/secure{ + desc = "A secure crate. This one is particularly large."; + name = "Salvage equipment"; + storage_capacity = 40; + req_access_txt = "48" + }, +/obj/item/pickaxe/drill, +/obj/item/storage/backpack/duffelbag/syndie/c4{ + name = "Demolition charges" + }, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/storage/firstaid/regular, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"HB" = ( +/obj/machinery/blackbox_recorder, +/obj/effect/turf_decal/industrial/fire/cee{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, +/obj/machinery/door/window/brigdoor/eastleft{ + req_access_txt = "20" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"HG" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Landing Bay" + }, +/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/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"HJ" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"HM" = ( +/obj/effect/turf_decal/siding{ + color = "#730622" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"Ic" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/bridge) +"Ix" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 1; + id = "Bansheeturrets" + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/external/dark) +"IQ" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood, +/obj/machinery/door/poddoor{ + dir = 4; + id = "Bansheecargodoor" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Ja" = ( +/obj/effect/turf_decal/spline/plain/opaque/syndiered{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/cryo) +"Jd" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/floor{ + pixel_x = -8 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Jm" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding{ + color = "#474747"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"JK" = ( +/obj/item/flashlight/lamp/green{ + pixel_y = 14; + pixel_x = -7 + }, +/obj/machinery/button/door{ + id = "Bansheedormwindow"; + name = "Dormitories shutters"; + pixel_x = -5; + pixel_y = -20; + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/structure/table, +/obj/item/toy/plush/rilena{ + pixel_x = -3 + }, +/turf/open/floor/carpet/nanoweave, +/area/ship/crew) +"JW" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "Bansheedormwindow" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/crew) +"Km" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Kr" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/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/effect/turf_decal/siding{ + color = "#474747"; + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = 7; + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"KF" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"KN" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 5 + }, +/obj/structure/closet/syndicate/personal{ + name = "Captain's closet"; + populate = 0 + }, +/obj/item/clothing/under/syndicate/hardliners/officer, +/obj/item/clothing/suit/toggle/armor/vest/hardliners{ + pixel_x = 10; + pixel_y = -5 + }, +/obj/item/clothing/head/hardliners/peaked{ + pixel_x = 10; + pixel_y = 5 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -7; + pixel_x = -2 + }, +/obj/item/clothing/gloves/combat, +/obj/item/radio/headset/syndicate/alt/captain, +/obj/item/storage/box/ammo/a357, +/obj/item/megaphone, +/obj/item/clothing/under/syndicate/hardliners/jumpsuit, +/obj/item/storage/guncase/pistol/a357, +/obj/machinery/turretid/ship{ + pixel_y = 24; + pixel_x = -7; + id = "Bansheeturrets" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"KP" = ( +/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/machinery/door/airlock/public{ + name = "Cryogenics"; + req_ship_access = 1; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"KT" = ( +/obj/effect/turf_decal/siding{ + color = "#474747" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/chair/comfy/red/corpo, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"KX" = ( +/obj/machinery/power/shuttle/engine/fire{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Mf" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 10; + id = "Bansheeturrets" + }, +/obj/structure/cable, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Mr" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/transparent/black{ + dir = 1 + }, +/obj/effect/turf_decal/isf_small/left{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Ms" = ( +/obj/item/paper/guides/jobs/engi/combustion_thruster, +/obj/machinery/atmospherics/components/trinary/mixer/flipped{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"MA" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 4; + pixel_y = -19 + }, +/obj/machinery/button/door{ + id = "Bansheeairlockwindow"; + name = "Airlock shutters"; + pixel_x = -5; + pixel_y = -20; + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"MK" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/start/shaft_miner, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"MT" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/filingcabinet{ + density = 0; + dir = 1; + pixel_x = -10 + }, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate, +/obj/item/lighter/enigma, +/obj/item/spacecash/bundle/c500, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"MU" = ( +/obj/structure/catwalk, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"MY" = ( +/obj/effect/turf_decal/spline/plain/opaque/syndiered{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/item/radio{ + pixel_y = 11; + pixel_x = -10 + }, +/obj/item/radio{ + pixel_y = 11; + pixel_x = -7 + }, +/obj/item/radio{ + pixel_y = 11; + pixel_x = -4 + }, +/obj/item/radio{ + pixel_y = 11 + }, +/obj/item/radio{ + pixel_y = 11; + pixel_x = 4 + }, +/obj/item/radio{ + pixel_y = 11; + pixel_x = 10 + }, +/obj/structure/closet/secure_closet/wall/directional/north, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/flashlight{ + pixel_y = 2; + pixel_x = -12 + }, +/obj/item/flashlight{ + pixel_y = 2; + pixel_x = -8 + }, +/obj/item/flashlight{ + pixel_y = 2; + pixel_x = -4 + }, +/obj/item/flashlight{ + pixel_y = 2 + }, +/obj/item/flashlight{ + pixel_y = 2; + pixel_x = 4 + }, +/obj/item/flashlight{ + pixel_y = 2; + pixel_x = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/cryo) +"Nn" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/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 = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Nu" = ( +/obj/machinery/computer/cryopod/directional/south, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/cryopod{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"NU" = ( +/obj/structure/table, +/obj/item/toy/cards/deck/syndicate{ + pixel_x = -7 + }, +/obj/machinery/light/directional/south, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = -9; + pixel_y = 15 + }, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ + pixel_y = 10 + }, +/obj/item/toy/plush/mora{ + pixel_y = 14; + pixel_x = 10 + }, +/obj/item/storage/pill_bottle/dice{ + pixel_x = 9; + pixel_y = -1 + }, +/turf/open/floor/carpet/nanoweave, +/area/ship/crew/canteen) +"NV" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/item/clothing/suit/hazardvest/hardliners, +/obj/item/clothing/head/hardhat/hardliners, +/obj/item/clothing/accessory/armband/cargo, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/gloves/explorer, +/obj/item/radio/headset/alt, +/obj/structure/closet/secure_closet/wall/directional/west{ + icon_state = "cargo_wall"; + name = "Wreckers closet"; + req_access_txt = "48" + }, +/obj/item/clothing/under/syndicate/hardliners/jumpsuit, +/obj/effect/decal/cleanable/dirt, +/obj/item/melee/axe/sledgehammer, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"Oj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/valve/layer2, +/obj/effect/decal/cleanable/oil, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"Ol" = ( +/obj/structure/closet/crate/large{ + name = "APLU construction kit" + }, +/obj/item/circuitboard/mecha/ripley/peripherals, +/obj/item/circuitboard/mecha/ripley/main, +/obj/item/mecha_parts/chassis/ripley, +/obj/item/mecha_parts/part/ripley_torso, +/obj/item/mecha_parts/part/ripley_right_leg{ + pixel_y = -9; + pixel_x = 8 + }, +/obj/item/mecha_parts/part/ripley_left_leg{ + pixel_y = -9; + pixel_x = -8 + }, +/obj/item/mecha_parts/part/ripley_left_arm{ + pixel_x = -12 + }, +/obj/item/mecha_parts/part/ripley_right_arm{ + pixel_x = 12 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/mech_bay_recharge_floor, +/area/ship/cargo) +"Oy" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/fax/syndicate, +/obj/structure/table, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"OQ" = ( +/obj/structure/catwalk, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"Pf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Ps" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding{ + color = "#730622"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/west, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -22; + pixel_y = -9 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"PB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/siding{ + color = "#474747" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/sofa/red/corpo/right{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Qf" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"Qq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"QA" = ( +/obj/effect/turf_decal/siding{ + color = "#474747"; + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/sofa/red/corpo/left{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Re" = ( +/obj/structure/rack, +/obj/item/stock_parts/cell/super{ + pixel_x = 9; + pixel_y = 8 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/structure/platform/industrial/corner{ + dir = 4 + }, +/obj/item/mecha_parts/mecha_equipment/salvage_saw{ + pixel_x = 5 + }, +/obj/item/mecha_parts/mecha_equipment/drill, +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/structure/platform/industrial{ + dir = 8 + }, +/obj/structure/railing{ + dir = 1; + layer = 3.09 + }, +/obj/item/mecha_parts/mecha_equipment/thrusters/ion, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Rm" = ( +/obj/machinery/light/floor, +/obj/structure/chair{ + dir = 8 + }, +/obj/item/toy/plush/sharai{ + pixel_y = 3; + pixel_x = -3 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Rt" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/sign/warning/incident{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"Ru" = ( +/obj/effect/turf_decal/siding{ + color = "#730622"; + dir = 1 + }, +/obj/structure/chair/bench/grey/directional/north{ + color = "#ABB0B8" + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"Rz" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/nanoweave, +/area/ship/crew/canteen) +"RH" = ( +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/pushbroom, +/obj/item/storage/bag/trash, +/obj/structure/closet/wall/white/directional/west{ + name = "Cleaning supplies closet" + }, +/obj/structure/sink{ + dir = 8; + pixel_x = 20 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"RI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ship/cargo) +"Sc" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/external/dark) +"Sr" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/closet/crate/engineering/electrical, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 28 + }, +/obj/item/stack/sheet/mineral/uranium/ten, +/turf/open/floor/plating, +/area/ship/engineering) +"SD" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/door/poddoor{ + dir = 4; + id = "Bansheeenginebay" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"SG" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/machinery/computer/card{ + icon_state = "computer-middle" + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"SH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/sign/poster/contraband/syndiemoth{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"SR" = ( +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Ta" = ( +/obj/effect/turf_decal/spline/plain/opaque/syndiered, +/obj/machinery/light/floor{ + pixel_y = -5 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Tc" = ( +/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 + }, +/obj/structure/catwalk/over/plated_catwalk/white, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Tq" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"TG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave, +/area/ship/crew) +"TI" = ( +/obj/effect/turf_decal/siding{ + color = "#730622"; + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/emcloset/wall/directional/south, +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"TP" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding{ + color = "#474747"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"UD" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"UH" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer4{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"UL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/holopad/secure{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"Vb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"Vu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"VD" = ( +/obj/effect/turf_decal/siding{ + color = "#730622"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/central) +"VO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/isf_small{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Wd" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/sign/number/random{ + pixel_y = 32 + }, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = -2; + pixel_x = -9 + }, +/obj/item/food/butterbiscuit{ + pixel_y = 8; + pixel_x = -5 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"WE" = ( +/obj/structure/railing{ + layer = 3.09 + }, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Xf" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"Xg" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 5 + }, +/obj/machinery/computer/cargo{ + icon_state = "computer-right" + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"XH" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"XL" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"XR" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "Bansheeenginebay" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"Yo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/floor, +/obj/effect/landmark/observer_start, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Yv" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer4{ + name = "Air to Distro"; + target_pressure = 1000 + }, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/closet/secure_closet/wall/directional/east{ + icon_state = "cargo_wall"; + name = "Mechanics closet"; + req_access_txt = "11" + }, +/obj/item/clothing/under/syndicate/hardliners/jumpsuit, +/obj/item/clothing/under/syndicate/hardliners, +/obj/item/clothing/suit/hazardvest/hardliners, +/obj/item/clothing/head/hardhat/hardliners, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/shoes/workboots, +/obj/item/radio/headset/alt, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/accessory/armband/engine, +/obj/item/storage/belt/utility, +/obj/item/clothing/under/syndicate/gec, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"YL" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/effect/landmark/start/captain, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"YN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/ship/engineering) +"YZ" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/poddoor/shutters{ + id = "Bansheeairlockwindow" + }, +/obj/machinery/door/firedoor/window, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Zq" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering) +"Zr" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Engine Bay"; + req_one_access = list(10,48) + }, +/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/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"ZR" = ( +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) + +(1,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +"} +(2,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +pM +Zq +cZ +KX +cZ +KX +cZ +Zq +pM +pM +pM +pM +pM +pM +pM +pM +"} +(3,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +pM +Zq +SD +bo +XR +bo +XR +Zq +pM +pM +pM +pM +pM +pM +pM +pM +"} +(4,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +pM +Zq +Sr +ko +CC +Qf +ny +Zq +pM +pM +pM +pM +pM +pM +pM +pM +"} +(5,1,1) = {" +pM +pM +pM +pM +pM +SR +wP +pf +BV +rc +Ms +Nn +Oj +lD +vb +Jd +Ee +SR +pM +pM +pM +pM +pM +"} +(6,1,1) = {" +pM +pM +pM +An +SR +SR +qF +Hs +Zq +Du +kw +YN +mV +lV +Zq +Hs +yF +SR +SR +rj +pM +pM +pM +"} +(7,1,1) = {" +pM +ZR +SR +kP +SR +SR +qF +Zq +tR +qd +WE +iH +jp +Cd +wR +Zq +lA +SR +SR +iG +SR +ze +pM +"} +(8,1,1) = {" +pM +SR +SR +kP +Bb +KF +eu +Zq +EG +UH +Yv +xe +XL +gf +CN +Zq +Wd +KF +Mf +iG +SR +SR +pM +"} +(9,1,1) = {" +pM +SR +SR +kP +SR +SR +SR +iz +iz +iz +iz +Zr +iz +iz +iz +iz +Gc +SR +SR +iG +SR +SR +pM +"} +(10,1,1) = {" +pM +ZR +SR +An +SR +SR +os +iz +rd +Jm +SH +FP +rv +qa +ef +iz +Rm +SR +SR +Ta +SR +ze +pM +"} +(11,1,1) = {" +pM +pM +SR +kP +SR +bT +bT +iz +Rz +At +Vu +vU +Pf +sd +NU +iz +iY +iY +SR +iG +SR +pM +pM +"} +(12,1,1) = {" +pM +pM +SR +kP +bT +bT +HB +iz +iz +iz +jr +Ae +fz +iz +iz +iz +FE +iY +iY +iG +SR +pM +pM +"} +(13,1,1) = {" +pM +pM +pM +kP +Gs +YL +jq +nK +xF +bT +iT +bO +iT +iY +QA +PB +eK +Go +JW +iG +pM +pM +pM +"} +(14,1,1) = {" +pM +pM +pM +An +Gs +hK +Tq +mn +hC +Bi +bu +id +Ps +ru +TP +Gi +TG +Go +JW +Ta +pM +pM +pM +"} +(15,1,1) = {" +pM +pM +pM +pM +Ic +bT +zm +yo +or +bT +rb +sY +sV +iY +Kr +KT +JK +iY +iY +pM +pM +pM +pM +"} +(16,1,1) = {" +pM +pM +pM +pM +pM +bT +SG +UL +Oy +oF +eV +Ga +yV +iY +KP +iY +iY +iY +eE +pM +pM +pM +pM +"} +(17,1,1) = {" +pM +pM +pM +pM +pM +bT +Xg +aY +MT +oF +HM +Ga +ph +fA +ir +eh +Nu +fA +OQ +pM +pM +pM +pM +"} +(18,1,1) = {" +pM +pM +pM +pM +pM +Ic +bT +KN +qk +bT +Ds +Qq +Ru +fA +MY +Ja +fA +CV +OQ +pM +pM +pM +pM +"} +(19,1,1) = {" +pM +pM +pM +pM +pM +pM +Ic +bT +bT +bT +vV +Vb +GC +fA +fA +fA +fA +pM +OQ +pM +pM +pM +pM +"} +(20,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +iT +nD +tO +oT +Tc +VD +dG +RH +iT +vg +pM +uG +pM +pM +pM +pM +"} +(21,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +iT +yE +iT +gN +sY +TI +iT +iT +iT +zr +pM +pM +pM +pM +pM +pM +"} +(22,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +oR +oR +oR +oR +HG +oR +iT +lS +bv +MU +pM +pM +pM +pM +pM +pM +"} +(23,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +oR +vQ +oZ +NV +lh +Rt +kj +uH +YZ +FX +pM +pM +pM +pM +pM +pM +"} +(24,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +Ao +oR +Xf +MK +kF +MA +iT +iT +CZ +MU +pM +pM +pM +pM +pM +pM +"} +(25,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +pM +oR +mk +Fv +RI +Re +rG +oR +pM +uG +pM +pM +pM +pM +pM +pM +"} +(26,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +pM +oR +Bn +mX +uv +UD +qq +oR +pM +pM +pM +pM +pM +pM +pM +pM +"} +(27,1,1) = {" +pM +pM +pM +pM +pM +Sc +ZR +pM +oR +lP +Km +Yo +rq +Ol +oR +pM +ze +Sc +pM +pM +pM +pM +pM +"} +(28,1,1) = {" +pM +pM +pM +pM +pM +Sc +SR +pM +oR +Hu +Mr +VO +pk +iU +oR +pM +SR +Sc +pM +pM +pM +pM +pM +"} +(29,1,1) = {" +pM +pM +pM +pM +pM +Sc +SR +iG +Ao +oR +dk +ek +HJ +oR +Ao +kP +SR +Sc +pM +pM +pM +pM +pM +"} +(30,1,1) = {" +pM +pM +pM +pM +pM +Ix +os +iG +SR +oR +Hr +qM +DU +oR +SR +kP +os +fW +pM +pM +pM +pM +pM +"} +(31,1,1) = {" +pM +pM +pM +pM +pM +Sc +Sc +iG +SR +oR +Gy +xS +hT +oR +SR +kP +Sc +Sc +pM +pM +pM +pM +pM +"} +(32,1,1) = {" +pM +pM +pM +pM +pM +pM +Sc +iG +ZR +oR +bI +IQ +br +oR +ze +kP +Sc +pM +pM +pM +pM +pM +pM +"} +(33,1,1) = {" +pM +pM +pM +pM +pM +pM +Sc +iG +pM +pM +XH +DY +XH +pM +pM +kP +Sc +pM +pM +pM +pM +pM +pM +"} +(34,1,1) = {" +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +pM +"} From 0f18c6529fe67b1688f2690f6c31cd752f7a6632 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 03:55:15 -0600 Subject: [PATCH 046/330] Automatic changelog generation for PR #3761 [ci skip] --- html/changelogs/AutoChangeLog-pr-3761.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3761.yml diff --git a/html/changelogs/AutoChangeLog-pr-3761.yml b/html/changelogs/AutoChangeLog-pr-3761.yml new file mode 100644 index 000000000000..0688441fb819 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3761.yml @@ -0,0 +1,4 @@ +author: Burning02 +changes: + - {rscadd: Adds the Banshee-class Salvage Clipper as a playable Hardliner vessel} +delete-after: true From ff3e0d834ef1b385522c7e6e5582b238a6f2d44d Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sat, 18 Jan 2025 10:15:05 -0500 Subject: [PATCH 047/330] Revert "Syndicate Cig Change" (#4023) Reverts shiptest-ss13/Shiptest#3532 Bad change: I haven't seen anyone use them since I made the pr. :cl: balance:syndicate smokes now heal you, again /:cl: --- code/game/objects/items/cigs_lighters.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 3a0d7e1f81c3..e187029696f4 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 obscure brand of cigarette." + desc = "An unknown brand cigarette." chem_volume = 60 smoketime = 60 smoke_all = TRUE - list_reagents = list(/datum/reagent/drug/nicotine = 10, /datum/reagent/drug/aranesp = 5, /datum/reagent/medicine/synaptizine = 5) + list_reagents = list(/datum/reagent/drug/nicotine = 10, /datum/reagent/medicine/omnizine = 15) /obj/item/clothing/mask/cigarette/xeno desc = "A Xeno Filtered brand cigarette." From 8bc05270476c0089f4b3d62a019c242c194872cc Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Sat, 18 Jan 2025 07:15:44 -0800 Subject: [PATCH 048/330] Replaces Cargo Incendiary Grenades with Frag Grenades (#4027) ## About The Pull Request Replaces cargo incendiary grenades with frag grenades, and lowers the price by a third. Incendiary grenades could: - fullhusk people - dust equipment and items - cause irreparable atmos damage (due to Auxmos lag) - ignite plasmafires and effectively blow up entire sections of a ship with various explosive items we have Frag grenades are significantly less destructive in this manner, and frankly incendiary grenades seem like a- bad idea to just have for everyone to buy? Especially with all that? ## Why It's Good For The Game Adds a grenade option that people already have relatively easy access to for purchase, and replaces the Incendiary Grenade (borderline WMD) purchase with it. ## Changelog :cl: balance: Cargo Incendiary Grenades have been removed and replaced with Frag Grenades. /:cl: --- code/modules/cargo/packs/sec_supply.dm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index c2a71603db3e..4fb147dec663 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -89,15 +89,14 @@ 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/frag_grenade + name = "Frag Grenade Crate" + desc = "Contains two fragmentation grenades. Better not let it go off in your hands." + cost = 500 + contains = list(/obj/item/grenade/frag, + /obj/item/grenade/frag) + crate_name = "frag grenade crate" + crate_type = /obj/structure/closet/crate/secure/weapon /datum/supply_pack/sec_supply/halberd name = "Energy Halberd Crate" From feb907a6202c62dce8c4413e07797d3306640474 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 09:26:05 -0600 Subject: [PATCH 049/330] Automatic changelog generation for PR #4027 [ci skip] --- html/changelogs/AutoChangeLog-pr-4027.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4027.yml diff --git a/html/changelogs/AutoChangeLog-pr-4027.yml b/html/changelogs/AutoChangeLog-pr-4027.yml new file mode 100644 index 000000000000..b57be73ed092 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4027.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {balance: Cargo Incendiary Grenades have been removed and replaced with Frag Grenades.} +delete-after: true From 29c889be0413657adba5e6aeaa6871aa1df46bb6 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Sat, 18 Jan 2025 07:34:08 -0800 Subject: [PATCH 050/330] Adds a Shaft Miner to the Harrier, removes the Janitor (Role) (#3972) ## About The Pull Request Adds a Shaft Miner, and minorly adjusts the N+S cargo office to accommodate. In return to keep the crew size identical, the Janitor's slot has been removed and the room lowered to general access. Assistants can take up the role if they would like to be a janitor. ![image](https://github.com/user-attachments/assets/6b771897-8d66-4a91-8fc1-8bc0e9f058de) ![image](https://github.com/user-attachments/assets/1059ce93-3d1c-4522-afcd-8c7c100cf970) ## Why It's Good For The Game Inherently, the Harrier has an issue with integration into the gameplay loop. A lack of combat equipment means that ruin raiding is not much of an option, and most missions are either ruin raiding... or mining. But the Harrier is unable to properly perform mining as almost all of it's staff are civilian in nature. What's left for it is it's medical bay, which is worse than dedicated medships and most would rather interact with an Atoll than a Harrier. Now, you may say, what about the Cargo Techs? Cargo Technicians are wage-slaves to N+S, but their role is *not* excavation. Nor is the Supply Director. These are warehouse workers. There is a specialized role for that. Having spoken with some of the most active Harrier captains, it's pretty clear that most of the time the Cargo Technician is sent out anyways for mining since someone is _needed_ to keep the ship running and supplied. ## Changelog :cl: add: N+S has deployed a new batch of Shaft Miners to Harrier-class vessels. del: Janitors have been reassigned from the Harrier for retraining. /:cl: --- _maps/configs/nanotrasen_harrier.json | 8 +-- .../nanotrasen/nanotrasen_harrier.dmm | 65 ++++++++++--------- 2 files changed, 40 insertions(+), 33 deletions(-) diff --git a/_maps/configs/nanotrasen_harrier.json b/_maps/configs/nanotrasen_harrier.json index e627c0ed2044..77292d869992 100644 --- a/_maps/configs/nanotrasen_harrier.json +++ b/_maps/configs/nanotrasen_harrier.json @@ -60,12 +60,12 @@ "outfit": "/datum/outfit/job/nanotrasen/cargo_tech", "slots": 1 }, - "Cook": { - "outfit": "/datum/outfit/job/independent/cook", + "Shaft Miner": { + "outfit": "/datum/outfit/job/nanotrasen/miner/no_equipment", "slots": 1 }, - "Janitor": { - "outfit": "/datum/outfit/job/nanotrasen/janitor", + "Cook": { + "outfit": "/datum/outfit/job/independent/cook", "slots": 1 }, "Assistant": { diff --git a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm index ed0261ad72b5..7bb83ad4215d 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm @@ -458,13 +458,13 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/obj/machinery/light/directional/south, /obj/structure/disposalpipe/segment{ dir = 9 }, /obj/effect/turf_decal/trimline/opaque/nsorange/line{ dir = 4 }, +/obj/machinery/light/directional/south, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "cN" = ( @@ -635,8 +635,7 @@ "dI" = ( /obj/machinery/door/airlock{ dir = 4; - name = "Custodial Closet"; - req_access_txt = "26" + name = "Custodial Closet" }, /obj/structure/cable{ icon_state = "4-8" @@ -1292,7 +1291,6 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/item/clothing/suit/hooded/wintercoat/medical, /turf/open/floor/plasteel/white, /area/ship/medical) "gQ" = ( @@ -1478,7 +1476,6 @@ /turf/open/floor/carpet/blue, /area/ship/crew/dorm) "hL" = ( -/obj/effect/landmark/start/janitor, /obj/structure/chair{ dir = 1 }, @@ -1569,7 +1566,6 @@ /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" = ( @@ -2222,7 +2218,6 @@ /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/crew/janitor) "mc" = ( @@ -2535,7 +2530,6 @@ /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" = ( @@ -2714,6 +2708,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 }, +/obj/item/cigbutt, +/obj/effect/decal/cleanable/ash, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "pY" = ( @@ -3274,11 +3270,6 @@ }, /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" @@ -3782,7 +3773,6 @@ /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" = ( @@ -4533,7 +4523,6 @@ /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" = ( @@ -5211,7 +5200,6 @@ /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" = ( @@ -5883,7 +5871,6 @@ }, /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" = ( @@ -5905,6 +5892,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, +/obj/effect/landmark/start/shaft_miner, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "GG" = ( @@ -6162,6 +6150,26 @@ /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/engineering/engine) +"Ik" = ( +/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/clothing/glasses/meson/prescription, +/obj/item/melee/knife/survival, +/obj/item/mining_scanner, +/obj/item/storage/bag/ore, +/obj/item/pickaxe/drill, +/obj/item/radio/weather_monitor, +/obj/structure/closet/secure_closet/miner, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) "Im" = ( /obj/item/radio/intercom/directional/south, /turf/open/floor/carpet/cyan, @@ -6472,7 +6480,6 @@ /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" = ( @@ -6511,7 +6518,6 @@ /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" = ( @@ -6599,10 +6605,6 @@ }, /turf/open/floor/plating, /area/ship/engineering/atmospherics) -"KA" = ( -/obj/structure/crate_shelf, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "KB" = ( /obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 4 @@ -8408,6 +8410,13 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"TG" = ( +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/suit/space/hardsuit/mining, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/clothing/mask/gas/explorer, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "TI" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/crew/janitor) @@ -9361,7 +9370,6 @@ /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" = ( @@ -9515,13 +9523,12 @@ }, /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, +/obj/machinery/firealarm/directional/south, /turf/open/floor/plasteel/tech, /area/ship/cargo) "Zm" = ( @@ -11162,7 +11169,7 @@ tH tk hq WP -KA +Tu ZQ MZ MZ @@ -11201,7 +11208,7 @@ ka mH tN GF -Tu +Ik ZQ MZ MZ @@ -11240,7 +11247,7 @@ nj xj Nv pX -tC +TG ZQ MZ MZ From cc7bf82f49618b9d0f8b45d7f64868723ee5c4eb Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 09:44:57 -0600 Subject: [PATCH 051/330] Automatic changelog generation for PR #3972 [ci skip] --- html/changelogs/AutoChangeLog-pr-3972.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3972.yml diff --git a/html/changelogs/AutoChangeLog-pr-3972.yml b/html/changelogs/AutoChangeLog-pr-3972.yml new file mode 100644 index 000000000000..e0b8eaade3b8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3972.yml @@ -0,0 +1,5 @@ +author: firebudgy +changes: + - {rscadd: N+S has deployed a new batch of Shaft Miners to Harrier-class vessels.} + - {rscdel: Janitors have been reassigned from the Harrier for retraining.} +delete-after: true From a32b82dd9150e3b94685781f1b1432cd9d7af55a Mon Sep 17 00:00:00 2001 From: Ratvar <61395690+Ratvarr@users.noreply.github.com> Date: Sat, 18 Jan 2025 08:11:28 -0800 Subject: [PATCH 052/330] The grill no longer ear-hurting-ly loud (#4021) ## About The Pull Request I reduced it's volume to a reasonable amount ## Why It's Good For The Game Ears hurting is not good. It was really really loud. ## Changelog :cl: fix: The grill no longer grills your ears out. Rejoice, grillmasters. /:cl: --- code/datums/looping_sounds/machinery_sounds.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index dd05aca8ed44..73f5df2abd84 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -52,7 +52,7 @@ /datum/looping_sound/grill mid_length = 2 mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1) - volume = 30 + volume = 10 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// From 6407f5c5b6cf7f8e2c6bfa3c6337db4f7b5e37c4 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 10:22:38 -0600 Subject: [PATCH 053/330] Automatic changelog generation for PR #4021 [ci skip] --- html/changelogs/AutoChangeLog-pr-4021.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4021.yml diff --git a/html/changelogs/AutoChangeLog-pr-4021.yml b/html/changelogs/AutoChangeLog-pr-4021.yml new file mode 100644 index 000000000000..8c5edcc33ee7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4021.yml @@ -0,0 +1,4 @@ +author: Ratvarr +changes: + - {bugfix: 'The grill no longer grills your ears out. Rejoice, grillmasters.'} +delete-after: true From 9eb304621a05a3c54027da388df3db8f6aaa762f Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Sat, 18 Jan 2025 11:34:39 -0600 Subject: [PATCH 054/330] Fixes turrets again (#3903) ## About The Pull Request sighs so big and loud. makes turret controllers actually control turrets ## Why It's Good For The Game turret controllers should control turrets ## Changelog :cl: fix: Turret controllers now control turrets. /:cl: --------- Co-authored-by: Imaginos16 <77556824+Imaginos16@users.noreply.github.com> Co-authored-by: FalloutFalcon --- _maps/shuttles/inteq/inteq_colossus.dmm | 1772 +++++++++-------- .../machinery/porta_turret/portable_turret.dm | 9 +- .../porta_turret/portable_turret_control.dm | 6 +- .../unit_tests/ship_outpost_placement.dm | 2 +- 4 files changed, 895 insertions(+), 894 deletions(-) diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm index f53a38cd5cae..42877511fb07 100644 --- a/_maps/shuttles/inteq/inteq_colossus.dmm +++ b/_maps/shuttles/inteq/inteq_colossus.dmm @@ -1,37 +1,4 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ah" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/item/trash/raisins, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20 - }, -/obj/structure/platform/ship_three{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"ai" = ( -/obj/structure/rack, -/obj/item/target/syndicate{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/item/target/syndicate{ - pixel_y = 5 - }, -/obj/item/target/alien{ - pixel_x = 5 - }, -/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" = ( /obj/structure/cable{ icon_state = "4-8" @@ -44,6 +11,22 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"aC" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/port) "aH" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -58,21 +41,18 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/office) -"aZ" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/advanced_airlock_controller{ - pixel_x = 25; - req_access = null +"bf" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" }, +/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/plasteel/tech/grid, -/area/ship/hallway/port) +/turf/open/floor/plating, +/area/ship/engineering) "bn" = ( /obj/structure/cable{ icon_state = "0-4" @@ -114,20 +94,17 @@ }, /turf/open/floor/plasteel/tech, /area/ship/crew) -"bz" = ( -/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/yellow/corner{ - dir = 1 +"bA" = ( +/obj/machinery/porta_turret/ship/inteq/light{ + id = "colossus_grid"; + dir = 6 }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 +/obj/machinery/porta_turret/ship/inteq/light{ + dir = 6; + id = "colossus_grid" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/fore) +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) "bJ" = ( /obj/structure/table/reinforced, /obj/machinery/fax/inteq, @@ -237,6 +214,24 @@ }, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"cK" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/structure/closet/wall/directional/east{ + name = "engineering closet" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/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, +/turf/open/floor/plating, +/area/ship/engineering) "cM" = ( /obj/structure/closet/secure_closet/freezer{ anchored = 1; @@ -260,28 +255,6 @@ /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{ - 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{ @@ -317,17 +290,6 @@ }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) -"dI" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 1 - }, -/obj/structure/chair/handrail, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/fore) "dS" = ( /obj/structure/table, /obj/machinery/microwave, @@ -342,26 +304,6 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/office) -"dU" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/table/rolling, -/obj/item/gun/energy/laser/practice{ - pixel_y = 10 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = 5; - pixel_y = 5 - }, -/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" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable, @@ -543,22 +485,6 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) -"fG" = ( -/obj/structure/rack, -/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/effect/turf_decal/borderfloorblack, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/platform/ship_three, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "fN" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /obj/structure/cable{ @@ -637,15 +563,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"gu" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/bunk_bed, -/obj/structure/curtain/bounty, -/turf/open/floor/carpet/black, -/area/ship/crew) "gC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -671,13 +588,6 @@ /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 @@ -785,18 +695,6 @@ "hD" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/hallway/port) -"hO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/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" = ( /obj/machinery/power/shuttle/engine/electric{ dir = 4 @@ -815,20 +713,24 @@ /obj/item/trash/sosjerky, /turf/open/floor/plasteel/dark, /area/ship/crew/office) -"hZ" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 +"hX" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/structure/sign/poster/official/no_erp{ - pixel_y = -32 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + layer = 2.04 }, -/obj/machinery/light/directional/south, -/obj/machinery/computer/helm/viewscreen/directional/west, -/obj/structure/platform/ship_three{ +/obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 8 }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/fore) "ie" = ( /obj/structure/cable{ icon_state = "2-8" @@ -926,25 +828,15 @@ }, /turf/open/floor/plating, /area/ship/engineering) -"ja" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, +"iZ" = ( /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 + icon_state = "1-4" }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/curtain/bounty, +/obj/effect/spawner/bunk_bed, +/turf/open/floor/carpet/black, +/area/ship/crew) "jo" = ( /obj/machinery/atmospherics/components/unary/tank/toxins{ piping_layer = 1 @@ -952,15 +844,6 @@ /obj/effect/decal/cleanable/dirt/dust, /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" = ( /turf/open/floor/plasteel/dark, /area/ship/crew/office) @@ -986,6 +869,17 @@ }, /turf/open/floor/plasteel/dark, /area/ship/security) +"jA" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/jukebox/boombox, +/obj/structure/platform/ship_three{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "jC" = ( /obj/structure/reagent_dispensers/peppertank{ pixel_y = 28 @@ -1004,12 +898,25 @@ }, /turf/open/floor/plasteel/tech, /area/ship/security/armory) -"jT" = ( -/obj/structure/cable{ - icon_state = "4-8" +"jN" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/structure/sign/poster/contraband/eoehoma{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"jT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -1029,6 +936,13 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/office) +"kc" = ( +/obj/machinery/porta_turret/ship/inteq/light{ + dir = 5; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/port) "kn" = ( /obj/machinery/atmospherics/pipe/layer_manifold, /obj/structure/reagent_dispensers/watertank, @@ -1056,25 +970,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) -"kL" = ( -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_x = 32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/newscaster/security_unit/directional/north, -/obj/structure/bed/dogbed, -/mob/living/simple_animal/pet/dog/pug{ - name = "Solstice" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/office) "kV" = ( /obj/structure/railing{ dir = 1 @@ -1092,29 +987,17 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) -"lg" = ( -/obj/effect/turf_decal/box/corners{ - 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" = ( -/obj/structure/sign/poster/official/moth/epi{ - pixel_x = 32 - }, -/obj/structure/sink{ - dir = 8; - pixel_x = 12 +"ld" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/obj/structure/platform/ship_three{ - dir = 4 +/obj/structure/chair{ + dir = 1 }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) "ls" = ( /obj/machinery/navbeacon/wayfinding{ location = "armory" @@ -1131,13 +1014,6 @@ "lv" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/hallway/central) -"lA" = ( -/obj/structure/weightmachine/weightlifter, -/obj/structure/platform/ship_three{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "lB" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 8 @@ -1147,6 +1023,24 @@ }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) +"lL" = ( +/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{ + name = "uniform closet" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) "lM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 @@ -1176,13 +1070,18 @@ /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" +"mi" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/structure/curtain, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/port) +/obj/structure/platform/ship_three{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "mq" = ( /obj/structure/cable{ icon_state = "1-8" @@ -1207,6 +1106,13 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) +"mu" = ( +/obj/machinery/porta_turret/ship/inteq/light{ + dir = 5; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew) "my" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -1216,6 +1122,19 @@ }, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) +"mD" = ( +/obj/structure/rack, +/obj/item/pickaxe/drill/jackhammer/old, +/obj/effect/turf_decal/borderfloorblack, +/obj/item/pickaxe/mini, +/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) "mF" = ( /obj/machinery/suit_storage_unit/inherit{ req_access_txt = "1" @@ -1230,6 +1149,20 @@ /obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) +"mO" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/structure/sign/poster/official/no_erp{ + pixel_y = -32 + }, +/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) "mY" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1255,15 +1188,6 @@ /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, /turf/open/floor/plasteel/dark, /area/ship/bridge) -"nm" = ( -/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" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 @@ -1326,19 +1250,14 @@ }, /turf/open/floor/plasteel/dark, /area/ship/security) -"om" = ( -/obj/structure/rack, -/obj/item/pickaxe/drill/jackhammer/old, -/obj/effect/turf_decal/borderfloorblack, -/obj/item/pickaxe/mini, -/obj/item/pickaxe/mini, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/west, -/obj/structure/platform/ship_three{ - dir = 10 +"oj" = ( +/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, -/area/ship/cargo) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/fore) "on" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/shieldwallgen/atmos{ @@ -1356,17 +1275,6 @@ }, /turf/open/floor/engine/hull/reinforced/interior, /area/ship/cargo) -"oq" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/structure/table, -/obj/machinery/jukebox/boombox, -/obj/structure/platform/ship_three{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "ot" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/crew) @@ -1376,6 +1284,13 @@ }, /turf/open/floor/engine/hull/reinforced, /area/ship/maintenance/port) +"oT" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 6; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/starboard) "oY" = ( /obj/machinery/suit_storage_unit/inherit{ req_access_txt = "1" @@ -1433,6 +1348,17 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/port) +"pD" = ( +/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) "pF" = ( /obj/structure/cable{ icon_state = "2-4" @@ -1449,6 +1375,25 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) +"pL" = ( +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/newscaster/security_unit/directional/north, +/obj/structure/bed/dogbed, +/mob/living/simple_animal/pet/dog/pug{ + name = "Solstice" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) "pO" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 1 @@ -1471,6 +1416,12 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) +"pT" = ( +/obj/structure/sign/number/random{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security/armory) "pV" = ( /obj/structure/cable{ icon_state = "2-8" @@ -1495,6 +1446,18 @@ }, /turf/open/floor/engine/hull/reinforced/interior, /area/ship/cargo) +"qn" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/weightmachine/stacklifter, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/ship_three{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "qu" = ( /obj/machinery/cryopod{ dir = 8 @@ -1509,18 +1472,42 @@ /obj/effect/turf_decal/techfloor, /turf/open/floor/plasteel/tech/grid, /area/ship/crew/cryo) -"qK" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" +"qx" = ( +/obj/machinery/button/door{ + id = "colossus_port"; + name = "Port Cargo Door Control"; + pixel_x = 4; + pixel_y = 23 }, -/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 +/obj/effect/turf_decal/industrial/caution, +/obj/structure/ore_box, +/obj/machinery/button/shieldwallgen{ + id = "colossus_cargo_port"; + pixel_x = -5; + pixel_y = 21 }, -/turf/open/floor/plating, -/area/ship/engineering) +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"qD" = ( +/obj/structure/rack, +/obj/item/target/syndicate{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/target/syndicate{ + pixel_y = 5 + }, +/obj/item/target/alien{ + pixel_x = 5 + }, +/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) "qQ" = ( /obj/structure/rack, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -1557,16 +1544,6 @@ }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) -"qS" = ( -/obj/structure/dresser, -/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" = ( /obj/machinery/power/shieldwallgen/atmos{ anchored = 1; @@ -1595,20 +1572,6 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/office) -"rG" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/item/storage/box/cups{ - pixel_y = 10 - }, -/obj/structure/platform/ship_three{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "rJ" = ( /obj/structure/railing/corner, /obj/structure/railing/corner{ @@ -1656,14 +1619,40 @@ }, /turf/open/floor/plasteel/tech, /area/ship/security/armory) -"rS" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/obj/structure/chair/handrail{ +"rR" = ( +/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/yellow/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ dir = 1 }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) +"rV" = ( +/obj/effect/turf_decal/box/corners, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 11 + }, +/obj/structure/platform/ship_three{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "rW" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/corner/opaque/yellow{ @@ -1681,34 +1670,6 @@ }, /turf/open/floor/plasteel/dark, /area/ship/security) -"sb" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/structure/closet/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/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/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" = ( /obj/structure/table, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -1790,13 +1751,6 @@ /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" @@ -1860,20 +1814,10 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/office) -"tB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/small/directional/west, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4, -/obj/item/tank/internals/plasmaman/full, -/obj/item/tank/internals/plasmaman/full, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/obj/structure/closet/wall/directional/east{ - icon_state = "emergency_wall" - }, +"tC" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, /obj/structure/chair/handrail{ dir = 8 }, @@ -1883,34 +1827,18 @@ /obj/machinery/holopad/emergency/command, /turf/open/floor/carpet/orange, /area/ship/bridge) -"tJ" = ( -/obj/structure/weightmachine/stacklifter, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/obj/structure/platform/ship_three{ +"tM" = ( +/obj/effect/turf_decal/techfloor{ dir = 1 }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"tK" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 1 +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/extinguisher_cabinet/directional/south, /obj/structure/chair/handrail{ - dir = 1 + dir = 4 }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/port) "tR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -1928,6 +1856,25 @@ /obj/machinery/cell_charger, /turf/open/floor/plating, /area/ship/engineering) +"tW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/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) "tX" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/bridge) @@ -2026,23 +1973,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) -"uR" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/button/door{ - id = "colossus_port"; - name = "Port Cargo Door Control"; - pixel_x = -4; - pixel_y = 23 - }, -/obj/effect/turf_decal/industrial/caution, -/obj/machinery/button/shieldwallgen{ - id = "colossus_cargo_port"; - pixel_x = 5; - pixel_y = 21 - }, -/obj/structure/chair/handrail, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "uT" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/corner/opaque/brown{ @@ -2134,13 +2064,21 @@ "vH" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/cargo) -"vJ" = ( +"vM" = ( +/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) +"vY" = ( /obj/machinery/porta_turret/ship/inteq{ - dir = 5; + dir = 4; id = "colossus_grid" }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/port) +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) "vZ" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/poddoor{ @@ -2193,35 +2131,12 @@ /obj/machinery/light/directional/west, /turf/open/floor/plasteel/dark, /area/ship/crew/office) -"wQ" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/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" = ( /obj/machinery/cryopod{ dir = 8 }, /turf/open/floor/plasteel/tech/grid, /area/ship/crew/cryo) -"wU" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/obj/structure/curtain, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/structure/platform/ship_three{ - dir = 5 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "wW" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2231,9 +2146,39 @@ codes_txt = "patrol;next_patrol=hall"; location = "office" }, -/obj/machinery/holopad/emergency/security, -/turf/open/floor/plasteel/dark, -/area/ship/crew/office) +/obj/machinery/holopad/emergency/security, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"xa" = ( +/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) +"xc" = ( +/obj/structure/weightmachine/stacklifter, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/platform/ship_three{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "xd" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2314,6 +2259,37 @@ /obj/machinery/computer/helm/viewscreen/directional/east, /turf/open/floor/plasteel/dark, /area/ship/crew/office) +"xN" = ( +/obj/structure/closet/crate/medical, +/obj/machinery/button/door{ + dir = 1; + id = "colossus_starboard"; + name = "Starboard Cargo Door Control"; + pixel_x = -4; + pixel_y = -20 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/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/corpsman/skirt, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/machinery/button/shieldwallgen{ + dir = 1; + id = "colossus_cargo_starboard"; + pixel_x = 5; + pixel_y = -19 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "xO" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2342,28 +2318,22 @@ }, /turf/open/floor/plating, /area/ship/crew) +"xU" = ( +/obj/structure/dresser, +/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) "yf" = ( /obj/structure/railing{ dir = 8 }, /turf/open/floor/plasteel/stairs, /area/ship/cargo) -"ym" = ( -/obj/structure/rack, -/obj/item/target/clown{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/item/target{ - pixel_y = 5 - }, -/obj/item/target{ - pixel_x = 5 - }, -/obj/effect/turf_decal/borderfloorblack, -/obj/structure/platform/ship_three, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "yP" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, @@ -2378,6 +2348,13 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"zf" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 5; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/port) "zh" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2388,27 +2365,33 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) +"zm" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/button/door{ + id = "colossus_port"; + name = "Port Cargo Door Control"; + pixel_x = -4; + pixel_y = 23 + }, +/obj/effect/turf_decal/industrial/caution, +/obj/machinery/button/shieldwallgen{ + id = "colossus_cargo_port"; + pixel_x = 5; + pixel_y = 21 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"zr" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 9; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/office) "zF" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew) -"zI" = ( -/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{ - name = "uniform closet" - }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) "zW" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2459,6 +2442,14 @@ }, /turf/open/floor/carpet/orange, /area/ship/bridge) +"Aq" = ( +/obj/structure/sign/poster/contraband/backdoor_xeno_babes_6{ + pixel_y = -32 + }, +/obj/structure/curtain/bounty, +/obj/effect/spawner/bunk_bed, +/turf/open/floor/carpet/black, +/area/ship/crew) "Ar" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2495,6 +2486,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ship/crew/office) +"AQ" = ( +/obj/machinery/porta_turret/ship/inteq/light{ + dir = 6; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) "AZ" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Port Engines" @@ -2512,13 +2510,6 @@ }, /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, @@ -2528,6 +2519,20 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"Bl" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/item/storage/box/cups{ + pixel_y = 10 + }, +/obj/structure/platform/ship_three{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "Bn" = ( /obj/docking_port/stationary{ dir = 2; @@ -2548,6 +2553,15 @@ /obj/effect/decal/cleanable/oil/streak, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) +"Bs" = ( +/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) "Bt" = ( /obj/machinery/suit_storage_unit/inherit{ req_access_txt = "1" @@ -2578,27 +2592,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) -"BH" = ( -/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/navbeacon/wayfinding{ - codes_txt = "patrol;next_patrol=starboard"; - location = "crew" - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = -5 - }, -/obj/machinery/light/small/directional/west, -/obj/structure/chair/handrail{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) "BK" = ( /obj/effect/turf_decal/box/corners{ dir = 4 @@ -2626,13 +2619,29 @@ }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) -"BR" = ( +"BW" = ( /obj/effect/turf_decal/box/corners{ - dir = 8 + dir = 1 }, +/obj/structure/closet/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/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/item/radio/intercom/directional/west, -/obj/structure/reagent_dispensers/watertank, +/obj/machinery/light/directional/north, +/obj/machinery/computer/helm/viewscreen/directional/west, /obj/structure/platform/ship_three{ dir = 8 }, @@ -2676,28 +2685,6 @@ /obj/item/trash/boritos, /turf/open/floor/plasteel/dark, /area/ship/crew/office) -"Ct" = ( -/obj/machinery/button/door{ - dir = 1; - id = "colossus_starboard"; - name = "Starboard Cargo Door Control"; - pixel_x = 4; - pixel_y = -20 - }, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 - }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "colossus_cargo_starboard"; - pixel_x = -5; - pixel_y = -19 - }, -/obj/structure/chair/handrail{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "Cu" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 4 @@ -2795,6 +2782,28 @@ }, /turf/open/floor/plasteel/dark, /area/ship/security) +"Du" = ( +/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{ + 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) "DD" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -2868,16 +2877,43 @@ /obj/effect/turf_decal/trimline/opaque/yellow/line, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) +"Eq" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 10; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security/armory) "Er" = ( /obj/structure/chair{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Es" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/turf/open/floor/carpet/black, +/area/ship/crew) +"EA" = ( +/obj/effect/decal/cleanable/oil/streak, +/obj/effect/landmark/start/assistant, +/obj/structure/sign/warning/incident{ + pixel_x = 32 + }, +/obj/structure/platform/ship_three{ dir = 4 }, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/plasteel/dark, -/area/ship/crew/office) +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "EC" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -2975,23 +3011,38 @@ }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) -"FR" = ( -/obj/machinery/button/door{ - id = "colossus_port"; - name = "Port Cargo Door Control"; - pixel_x = 4; - pixel_y = 23 - }, -/obj/effect/turf_decal/industrial/caution, -/obj/structure/ore_box, -/obj/machinery/button/shieldwallgen{ - id = "colossus_cargo_port"; - pixel_x = -5; - pixel_y = 21 +"FE" = ( +/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) +"FP" = ( +/obj/structure/closet/emcloset/wall/directional/west, +/obj/structure/platform/ship_three{ + dir = 8 }, -/obj/structure/chair/handrail, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) +"FU" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/rack, +/obj/item/roller, +/obj/item/roller{ + pixel_y = 5 + }, +/obj/item/roller{ + pixel_y = 10 + }, +/obj/structure/platform/ship_three{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "Gl" = ( /obj/structure/sign/number/one{ dir = 1 @@ -3024,24 +3075,23 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) -"GL" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/visible, -/obj/structure/closet/wall/directional/east{ - name = "engineering closet" +"GJ" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/chair/handrail{ + dir = 1 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/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, /turf/open/floor/plating, -/area/ship/engineering) +/area/ship/maintenance/starboard) "GR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 @@ -3141,37 +3191,6 @@ }, /turf/open/floor/plating, /area/ship/bridge) -"HF" = ( -/obj/structure/closet/crate/medical, -/obj/machinery/button/door{ - dir = 1; - id = "colossus_starboard"; - name = "Starboard Cargo Door Control"; - pixel_x = -4; - pixel_y = -20 - }, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 - }, -/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/corpsman/skirt, -/obj/item/clothing/under/syndicate/inteq/corpsman, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "colossus_cargo_starboard"; - pixel_x = 5; - pixel_y = -19 - }, -/obj/structure/chair/handrail{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "HG" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -3250,6 +3269,18 @@ "II" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/engineering) +"IM" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/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) "IP" = ( /obj/structure/railing{ dir = 8 @@ -3263,6 +3294,20 @@ "IS" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/toilet) +"IX" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 8 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plating, +/area/ship/maintenance/port) "Jc" = ( /obj/machinery/atmospherics/pipe/layer_manifold, /obj/machinery/button/door{ @@ -3385,36 +3430,42 @@ }, /turf/open/floor/plasteel/dark, /area/ship/bridge) -"KM" = ( -/obj/structure/closet/emcloset/wall/directional/west, -/obj/structure/platform/ship_three{ - dir = 8 +"KS" = ( +/obj/structure/rack, +/obj/item/storage/box/emptysandbags{ + pixel_x = -5; + pixel_y = 5 }, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/item/storage/box/emptysandbags, +/obj/item/storage/box/emptysandbags{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/ship_three, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) -"Ld" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/sign/poster/official/safety_internals{ - pixel_x = -32 +"KY" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-4" +/obj/structure/table/rolling, +/obj/item/gun/energy/laser/practice{ + pixel_y = 10 }, -/obj/structure/chair/handrail{ - dir = 4 +/obj/item/clothing/ears/earmuffs{ + pixel_x = 5; + pixel_y = 5 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/port) -"Ll" = ( -/obj/machinery/porta_turret/ship/inteq{ - dir = 4; - id = "colossus_grid" +/obj/item/clothing/ears/earmuffs, +/obj/machinery/light/directional/north, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/platform/ship_three{ + dir = 4 }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "Lm" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/item/trash/can, @@ -3604,6 +3655,16 @@ /obj/item/radio, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) +"Nk" = ( +/obj/effect/turf_decal/box/corners{ + 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) "Nz" = ( /obj/structure/chair{ dir = 4 @@ -3637,21 +3698,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) -"NX" = ( -/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/inteq/light{ - dir = 6; - id = "colossus_grid" - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) "Oc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -3681,15 +3727,6 @@ }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/office) -"Op" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/curtain/bounty, -/obj/effect/spawner/bunk_bed, -/turf/open/floor/carpet/black, -/area/ship/crew) "Ou" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper, @@ -3718,13 +3755,6 @@ }, /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" @@ -3752,13 +3782,6 @@ /obj/item/cigbutt, /turf/open/floor/plating, /area/ship/maintenance/port) -"Pj" = ( -/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" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/pipe/simple/orange/hidden/layer1{ @@ -3817,19 +3840,47 @@ /obj/effect/turf_decal/corner/opaque/brown{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/office) -"PK" = ( -/obj/structure/cable{ - icon_state = "1-2" +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"PJ" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 4; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"PK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/dark/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5, +/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer1, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"PU" = ( +/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/navbeacon/wayfinding{ + codes_txt = "patrol;next_patrol=starboard"; + location = "crew" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -5 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/chair/handrail{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/dark/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5, -/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer1, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) +/turf/open/floor/plasteel/grimy, +/area/ship/crew) "Qj" = ( /obj/machinery/light_switch{ dir = 1; @@ -3875,13 +3926,6 @@ }, /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 @@ -4029,13 +4073,6 @@ /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 @@ -4106,17 +4143,6 @@ /obj/machinery/computer/helm/viewscreen/directional/north, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"Ss" = ( -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/landmark/start/assistant, -/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" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 8 @@ -4141,6 +4167,35 @@ }, /turf/open/floor/plating, /area/ship/bridge) +"SI" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/item/trash/raisins, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 + }, +/obj/structure/platform/ship_three{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"SJ" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 25; + 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) "Th" = ( /obj/machinery/power/port_gen/pacman/super, /obj/structure/cable/yellow{ @@ -4264,6 +4319,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/ship/crew/office) +"UE" = ( +/obj/structure/weightmachine/weightlifter, +/obj/structure/platform/ship_three{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "UN" = ( /obj/machinery/door/airlock/public/glass{ name = "Office" @@ -4280,6 +4342,19 @@ }, /turf/open/floor/plasteel/tech, /area/ship/crew/office) +"UO" = ( +/obj/structure/sign/poster/official/moth/epi{ + pixel_x = 32 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/structure/platform/ship_three{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "UX" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 9 @@ -4317,44 +4392,39 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/plasteel/dark, /area/ship/security) -"Wb" = ( -/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; - 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) -"Wl" = ( +"Wh" = ( /obj/effect/turf_decal/box/corners, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central7{ - dir = 4 - }, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = 11 +/obj/item/storage/firstaid/regular{ + pixel_x = 5 + }, +/obj/item/storage/firstaid/medical{ + pixel_x = -5 }, +/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) +"Wi" = ( +/obj/structure/rack, +/obj/item/target/clown{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/target{ + pixel_y = 5 + }, +/obj/item/target{ + pixel_x = 5 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/structure/platform/ship_three, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "Wn" = ( /obj/structure/sign/number/four{ dir = 1 @@ -4382,24 +4452,6 @@ }, /turf/open/floor/plasteel/dark, /area/ship/security) -"WE" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/rack, -/obj/item/roller, -/obj/item/roller{ - pixel_y = 5 - }, -/obj/item/roller{ - pixel_y = 10 - }, -/obj/structure/platform/ship_three{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "WF" = ( /obj/structure/closet/secure_closet{ icon_state = "sec"; @@ -4448,44 +4500,6 @@ /obj/item/attachment/rail_light, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) -"WG" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/storage/firstaid/regular{ - pixel_x = 5 - }, -/obj/item/storage/firstaid/medical{ - pixel_x = -5 - }, -/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/sign/poster/contraband/backdoor_xeno_babes_6{ - pixel_y = -32 - }, -/obj/structure/curtain/bounty, -/obj/effect/spawner/bunk_bed, -/turf/open/floor/carpet/black, -/area/ship/crew) -"Xb" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/structure/sign/poster/contraband/eoehoma{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/chair/handrail, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) "Xc" = ( /obj/machinery/door/window/northleft{ dir = 8; @@ -4581,18 +4595,6 @@ "XJ" = ( /turf/template_noop, /area/template_noop) -"XQ" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/weightmachine/stacklifter, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/platform/ship_three{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "XR" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4605,17 +4607,6 @@ }, /turf/open/floor/carpet/black, /area/ship/crew) -"XS" = ( -/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" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/carpet/black, @@ -4623,12 +4614,6 @@ "Yr" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/hallway/fore) -"Yv" = ( -/obj/structure/sign/number/random{ - pixel_y = -8 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security/armory) "Yx" = ( /obj/machinery/atmospherics/pipe/layer_manifold/visible, /turf/open/floor/engine/hull/reinforced, @@ -4641,6 +4626,28 @@ }, /turf/template_noop, /area/template_noop) +"YK" = ( +/obj/machinery/button/door{ + dir = 1; + id = "colossus_starboard"; + name = "Starboard Cargo Door Control"; + pixel_x = 4; + pixel_y = -20 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/machinery/button/shieldwallgen{ + dir = 1; + id = "colossus_cargo_starboard"; + pixel_x = -5; + pixel_y = -19 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "YV" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4654,20 +4661,6 @@ /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plasteel/tech/grid, /area/ship/crew/cryo) -"Zb" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 8 - }, -/obj/structure/chair/handrail, -/turf/open/floor/plating, -/area/ship/maintenance/port) "Zc" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 4 @@ -4739,6 +4732,17 @@ /obj/machinery/atmospherics/pipe/simple/orange/hidden/layer1, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"ZL" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/fore) "ZR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -4821,7 +4825,7 @@ XJ XJ XJ bo -Zb +IX pA Br bo @@ -4835,7 +4839,7 @@ JD rl ie xx -tK +GJ rl XJ "} @@ -4851,7 +4855,7 @@ JO Ru Zv zZ -qK +bf tR bq rl @@ -4896,7 +4900,7 @@ iY DD fQ eg -GL +cK gl rl uN @@ -4908,7 +4912,7 @@ XJ (8,1,1) = {" XJ XJ -vJ +zf bo bo bo @@ -4924,7 +4928,7 @@ rl rl rl rl -OI +oT XJ "} (9,1,1) = {" @@ -4934,15 +4938,15 @@ XJ XJ rh vH -sb -KM -BR -om +BW +FP +IM +mD kV -XQ -ah -lA -hZ +qn +SI +UE +mO vH rh XJ @@ -4956,15 +4960,15 @@ XJ XJ XJ vH -FR +qx Lm RY -NX +vM tg -oq +jA tw dC -Ct +YK vH XJ XJ @@ -4981,9 +4985,9 @@ on BK Lx Sg -Pj +FE tg -tJ +xc kK Ve eI @@ -5047,9 +5051,9 @@ rb Cy Lz Tr -fG +KS tg -WE +FU sp te RW @@ -5066,15 +5070,15 @@ XJ XJ XJ vH -uR +zm Mx xO -ym +Wi tg -rG +Bl lM GR -HF +xN vH XJ XJ @@ -5088,15 +5092,15 @@ XJ XJ XJ vH -dU -Ss -Wl -ai +KY +EA +rV +qD tg -wU -lg -lr -WG +mi +Nk +UO +Wh vH XJ XJ @@ -5105,7 +5109,7 @@ XJ "} (17,1,1) = {" XJ -Bi +zr ZB ZB ZB @@ -5123,7 +5127,7 @@ Dq Dq Dq Dq -Qw +Eq "} (18,1,1) = {" XJ @@ -5189,7 +5193,7 @@ DS wi oY mF -Yv +pT "} (21,1,1) = {" XJ @@ -5211,7 +5215,7 @@ Sa Dq Dq Dq -Yv +pT "} (22,1,1) = {" XJ @@ -5233,7 +5237,7 @@ EI Dq MQ qQ -Yv +pT "} (23,1,1) = {" XJ @@ -5253,9 +5257,9 @@ ZR ls VL Dq -Xb +jN DW -Yv +pT "} (24,1,1) = {" XJ @@ -5304,7 +5308,7 @@ XA (26,1,1) = {" XJ ZB -kL +pL iw hU xF @@ -5333,9 +5337,9 @@ hD hD hD UX -dI +ZL hh -rS +oj fp XA XA @@ -5343,33 +5347,33 @@ XA XA XA XA -RZ +bA "} (28,1,1) = {" Yy Ou -hO -nm -aZ -tB -Ld +tM +tC +SJ +tW +aC QI -Wb -bz +hX +rR xB -ju -XS +Bs +pD kI my NQ ZC -wQ +ld kI XJ "} (29,1,1) = {" XJ -mb +kc hD hD hD @@ -5427,9 +5431,9 @@ zh Xt bs cq -BH +PU ob -qS +xU zF XJ "} @@ -5437,7 +5441,7 @@ XJ XJ XJ tX -ja +xa tI Ae Sj @@ -5448,10 +5452,10 @@ BA Fa sz zF -zI +lL XV XR -WS +Aq zF XJ "} @@ -5470,10 +5474,10 @@ fN fN Yr zF -cT +Du GW vq -gu +Es uv XJ "} @@ -5495,18 +5499,18 @@ ot zF GX Ac -Op +iZ zF XJ "} (35,1,1) = {" XJ XJ -Ll +PJ SC SC SC -Oa +AQ XJ XJ XJ @@ -5514,11 +5518,11 @@ XJ XJ XJ XJ -sT +mu xT xT xT -gH +vY XJ "} (36,1,1) = {" diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index dc0c2d47f963..ea51bac01b50 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -151,7 +151,7 @@ return gun_properties /obj/machinery/porta_turret/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) - id = "[text_ref(port)][initial(id)]" + id = "[text_ref(port)][id]" port.turret_list |= WEAKREF(src) /obj/machinery/porta_turret/proc/toggle_on(set_to) @@ -613,14 +613,11 @@ if(current_target) RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(set_target)) -/obj/machinery/porta_turret/proc/set_state(on, new_mode, new_flags) - if(locked) - return - +/obj/machinery/porta_turret/proc/set_state(on, new_lethal, new_flags) if(!isnull(new_flags)) turret_flags = new_flags - lethal = new_mode + lethal = new_lethal toggle_on(on) power_change() diff --git a/code/game/machinery/porta_turret/portable_turret_control.dm b/code/game/machinery/porta_turret/portable_turret_control.dm index ba70fe3a44b1..b049fd3c7b95 100644 --- a/code/game/machinery/porta_turret/portable_turret_control.dm +++ b/code/game/machinery/porta_turret/portable_turret_control.dm @@ -47,13 +47,13 @@ /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) + for(var/datum/weakref/ship_gun as anything 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 + turret_refs += ship_gun update_turrets() UnregisterSignal(port, COMSIG_SHIP_DONE_CONNECTING) @@ -134,7 +134,7 @@ /obj/machinery/turretid/ui_act(action, list/params) . = ..() - if(.) + if(. || locked) return switch(action) diff --git a/code/modules/unit_tests/ship_outpost_placement.dm b/code/modules/unit_tests/ship_outpost_placement.dm index 0762af79e304..322474b80a0a 100644 --- a/code/modules/unit_tests/ship_outpost_placement.dm +++ b/code/modules/unit_tests/ship_outpost_placement.dm @@ -8,7 +8,7 @@ // they'll spawn in empty space, and won't be docked new /datum/overmap/ship/controlled(list("x" = 1, "y" = 1), map) catch(var/exception/e) - TEST_FAIL("Runtime error loading ship type ([map.name]): [e] on [e.file]:[e.line]\n[e.desc]") + Fail("Runtime error loading ship type ([map.name]): [e]\n[e.desc]", e.file, e.line) for(var/outpost_type in subtypesof(/datum/overmap/outpost)) var/datum/overmap/outpost/test_outpost = new outpost_type() From ad2bebffbfa286b92db3f121de1a1d4dc2f3e8fe Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Sat, 18 Jan 2025 09:35:16 -0800 Subject: [PATCH 055/330] Rechambers the Firestorm to .44 Roumain (#3987) ## About The Pull Request In a bid to make the Firestorm more flavorful, it is now chambered in .44 Roumain. The magazine size and rate of fire have both been reduced to account for this. - Rechambered to .44 Roumain - Rate of fire reduced to 0.3 SEC (a little less than half its previous rate of fire) - Magazine size reduced from 28 -> 24 and 50 -> 40 ## Why It's Good For The Game firestorm was sort of boring. Now it has a more interesting niche- kind of like a heavy PDW, since it fires a cartridge with (relatively) armor piercing characteristics. ## Changelog :cl: balance: SRM's Firestorm SMG is now chambered in .44 Roumain. /:cl: --- .../IceRuins/icemoon_ice_lodge.dmm | 4 ++-- .../objects/items/storage/filled_guncases.dm | 2 +- .../game/objects/items/storage/uplink_kits.dm | 2 +- code/modules/cargo/packs/gun.dm | 2 +- code/modules/cargo/packs/magazines.dm | 6 +++-- .../clothing/outfits/ert/roumain_ert.dm | 2 +- .../boxes_magazines/external/smg.dm | 24 +++++++++---------- .../manufacturer/hunter_pride/ballistics.dm | 10 ++++---- 8 files changed, 27 insertions(+), 25 deletions(-) diff --git a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm index 1aca7e66e15c..f15e48f32043 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm @@ -428,7 +428,7 @@ /obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/obj/item/ammo_box/magazine/c45_firestorm_mag/pan{ +/obj/item/ammo_box/magazine/c44_firestorm_mag/pan{ start_empty = 1 }, /obj/item/ammo_casing/c45{ @@ -1671,7 +1671,7 @@ /obj/effect/turf_decal/siding/wood{ dir = 6 }, -/obj/item/ammo_box/magazine/c45_firestorm_mag/pan{ +/obj/item/ammo_box/magazine/c44_firestorm_mag/pan{ start_empty = 1 }, /obj/item/ammo_casing/c45{ diff --git a/code/game/objects/items/storage/filled_guncases.dm b/code/game/objects/items/storage/filled_guncases.dm index 2193a834e7cf..d971c9687a4b 100644 --- a/code/game/objects/items/storage/filled_guncases.dm +++ b/code/game/objects/items/storage/filled_guncases.dm @@ -57,7 +57,7 @@ /obj/item/storage/guncase/firestorm gun_type = /obj/item/gun/ballistic/automatic/smg/firestorm - mag_type = /obj/item/ammo_box/magazine/c45_firestorm_mag + mag_type = /obj/item/ammo_box/magazine/c44_firestorm_mag /obj/item/storage/guncase/vickland gun_type = /obj/item/gun/ballistic/automatic/marksman/vickland diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 26b9b790b2f8..e43bba01bf51 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -182,7 +182,7 @@ if("made_man") 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/gun/ballistic/automatic/smg/firestorm/pan(src) // 20 TC, a gun with 40 .44 bullets on a three round burst is kinda outstanding 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) diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 7681a92e286a..82aa3d4be0ff 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -398,7 +398,7 @@ /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" + desc = "Contains a Hunter's Pride SMG, intended for internal use by hunters and chambered in .44 Roumain." cost = 3000 contains = list(/obj/item/storage/guncase/firestorm) crate_name = "SMG crate" diff --git a/code/modules/cargo/packs/magazines.dm b/code/modules/cargo/packs/magazines.dm index 062d1efe8101..13f8e8ec1858 100644 --- a/code/modules/cargo/packs/magazines.dm +++ b/code/modules/cargo/packs/magazines.dm @@ -49,9 +49,11 @@ faction = /datum/faction/srm /datum/supply_pack/magazine/firestorm_mag + name = "Firestorm Stick 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) + desc = "Contains a 24-round magazine for the Hunter's Pride Firestorm SMG." + contains = list(/obj/item/ammo_box/magazine/c44_firestorm_mag/empty) + cost = 300 faction = /datum/faction/srm diff --git a/code/modules/clothing/outfits/ert/roumain_ert.dm b/code/modules/clothing/outfits/ert/roumain_ert.dm index 74802bdbba0b..d6f1f5c3736b 100644 --- a/code/modules/clothing/outfits/ert/roumain_ert.dm +++ b/code/modules/clothing/outfits/ert/roumain_ert.dm @@ -32,7 +32,7 @@ l_pocket = /obj/item/ammo_box/a44roum_speedloader - backpack_contents = list(/obj/item/ammo_box/magazine/c45_firestorm_mag/pan = 2, /obj/item/ammo_box/a44roum_speedloader = 2, /obj/item/storage/box/ammo/a44roum) + backpack_contents = list(/obj/item/ammo_box/magazine/c44_firestorm_mag/pan = 2, /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 diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm index 6840f1d98eef..5eb7dac5f154 100644 --- a/code/modules/projectiles/boxes_magazines/external/smg.dm +++ b/code/modules/projectiles/boxes_magazines/external/smg.dm @@ -84,31 +84,31 @@ /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." +/obj/item/ammo_box/magazine/c44_firestorm_mag + name = "stick magazine (.44 Roumain)" + desc = "A 24-round stick magazine for the toploading Firestorm submachine gun. These rounds do moderate damage, and perform adequately against armor." icon_state = "firestorm_mag-1" base_icon_state = "firestorm_mag" - ammo_type = /obj/item/ammo_casing/c45 - caliber = ".45" - max_ammo = 28 + ammo_type = /obj/item/ammo_casing/a44roum + caliber = ".44 Roumain" + max_ammo = 24 -/obj/item/ammo_box/magazine/c45_firestorm_mag/update_icon_state() +/obj/item/ammo_box/magazine/c44_firestorm_mag/update_icon_state() . = ..() icon_state = "firestorm_mag-[!!ammo_count()]" -/obj/item/ammo_box/magazine/c45_firestorm_mag/empty +/obj/item/ammo_box/magazine/c44_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." +/obj/item/ammo_box/magazine/c44_firestorm_mag/pan + name = "pan magazine (.44 Roumain)" + desc = "A bulky, 40-round pan magazine for the toploading Firestorm submachine gun. The rate of fire may be low, but this much ammo can mow through anything." 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 +/obj/item/ammo_box/magazine/c44_firestorm_mag/pan/update_icon_state() //Causes the mag to NOT inherit the parent's update_icon oooh the misery . = ..() icon_state = "firestorm_pan" diff --git a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm index 2eadfe016180..117f3f810bf0 100644 --- a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm @@ -254,7 +254,7 @@ NO_MAG_GUN_HELPER(automatic/pistol/candor/factory) /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." + desc = "An unconventional submachinegun, rarely issued to Saint-Roumain Militia mercenary hunters for outstanding situations where normal hunting weapons fall short. Chambered in .44 Roumain." 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' @@ -262,14 +262,14 @@ NO_MAG_GUN_HELPER(automatic/pistol/candor/factory) icon_state = "firestorm" item_state = "firestorm" - default_ammo_type = /obj/item/ammo_box/magazine/c45_firestorm_mag + default_ammo_type = /obj/item/ammo_box/magazine/c44_firestorm_mag allowed_ammo_types = list( - /obj/item/ammo_box/magazine/c45_firestorm_mag, + /obj/item/ammo_box/magazine/c44_firestorm_mag, ) unique_mag_sprites_for_variants = TRUE burst_size = 1 actions_types = list() - fire_delay = 0.13 SECONDS + fire_delay = 0.3 SECONDS bolt_type = BOLT_TYPE_OPEN rack_sound = 'sound/weapons/gun/smg/uzi_cocked.ogg' fire_sound = 'sound/weapons/gun/smg/firestorm.ogg' @@ -279,7 +279,7 @@ NO_MAG_GUN_HELPER(automatic/pistol/candor/factory) 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 + default_ammo_type = /obj/item/ammo_box/magazine/c44_firestorm_mag/pan ///Shotguns From a8205493a5a0d3eb8a3430218e4ee0fbe98cfe27 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 11:45:33 -0600 Subject: [PATCH 056/330] Automatic changelog generation for PR #3987 [ci skip] --- html/changelogs/AutoChangeLog-pr-3987.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3987.yml diff --git a/html/changelogs/AutoChangeLog-pr-3987.yml b/html/changelogs/AutoChangeLog-pr-3987.yml new file mode 100644 index 000000000000..c05785c805e2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3987.yml @@ -0,0 +1,4 @@ +author: Apogee-dev +changes: + - {balance: SRM's Firestorm SMG is now chambered in .44 Roumain.} +delete-after: true From bf082736858b585aaa934c7d262ae144d1607567 Mon Sep 17 00:00:00 2001 From: Theos Date: Sat, 18 Jan 2025 15:26:09 -0500 Subject: [PATCH 057/330] linter fix but I hit it with a big stick (#4031) thwack --- .github/workflows/ci_suite.yml | 4 +++- _maps/shuttles/inteq/inteq_colossus.dmm | 4 ---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index cfb850bd16fc..b9b275d743c1 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -32,9 +32,11 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@v4 + - name: Checkout Master + uses: actions/checkout@v4 with: ref: master + - uses: actions/checkout@v4 - name: Restore SpacemanDMM cache id: cache-spacemandmm diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm index 42877511fb07..13d218631edf 100644 --- a/_maps/shuttles/inteq/inteq_colossus.dmm +++ b/_maps/shuttles/inteq/inteq_colossus.dmm @@ -95,10 +95,6 @@ /turf/open/floor/plasteel/tech, /area/ship/crew) "bA" = ( -/obj/machinery/porta_turret/ship/inteq/light{ - id = "colossus_grid"; - dir = 6 - }, /obj/machinery/porta_turret/ship/inteq/light{ dir = 6; id = "colossus_grid" From e559da0c567cf021082ca6e295a1b7473a063624 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Sat, 18 Jan 2025 12:43:42 -0800 Subject: [PATCH 058/330] M20 Auto Elite (#3992) ## About The Pull Request ![handcannon](https://github.com/user-attachments/assets/bd606c37-584c-4540-ba45-984632c4c9ee) Adds the M20 Auto Elite, a heavy pistol manufactured by Serene Outdoors and chambered in .44 Roumain (subject to change in future ammo reworks). Originally designed for Star City's police department after a series of incidents proved the need for a handgun more powerful than the 9mm and .45 pistols they had been using, the Auto Elite is a weighty slab of steel with the capacity for ten powerful .44 Roumain rounds, capable of punching through armor better than other handguns while still dealing substantial damage. While it proved bulky and inconvenient for police use, it found a niche as a sidearm for big game hunters and as a flashy option for mercenaries and other people with something to prove. Also adds the PO-20 Pinscher, Inteq's modification of the Auto Elite. Being more readily available than 5.7 and 4.6mm options while also having a heavier impact on target, Inteq has chosen the Auto Elite as a standard sidearm for Vanguards and other ranking personnel. Rollout is still in-progress, so Inteq ships on deployment will have to requisition them on their own for now. Both versions of the Auto Elite are available in cargo, with the Pinscher being faction-locked to Inteq. ## Why It's Good For The Game fills a niche and fleshes out Serene's catalogue a bit. Now indies have access to a semi-auto heavy pistol that nevertheless has a bit less punch than something like the CM-357, and Inteq has a designated officer pistol. ## Changelog :cl: add: Added M20 Auto Elite and PO-20 Pinscher heavy pistols. /:cl: --- .../objects/items/storage/filled_guncases.dm | 8 +++ code/modules/cargo/packs/gun.dm | 21 +++++- code/modules/cargo/packs/magazines.dm | 6 ++ .../serene_sporting/ballistics.dm | 65 ++++++++++++++++++ icons/obj/guns/manufacturer/inteq/48x32.dmi | Bin 2007 -> 2292 bytes .../manufacturer/serene_outdoors/48x32.dmi | Bin 1209 -> 1521 bytes 6 files changed, 98 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/storage/filled_guncases.dm b/code/game/objects/items/storage/filled_guncases.dm index d971c9687a4b..045f2dadb988 100644 --- a/code/game/objects/items/storage/filled_guncases.dm +++ b/code/game/objects/items/storage/filled_guncases.dm @@ -157,6 +157,10 @@ gun_type = /obj/item/gun/ballistic/automatic/pistol/m17 mag_type = /obj/item/ammo_box/magazine/m17 +/obj/item/storage/guncase/pistol/m20_auto_elite + gun_type = /obj/item/gun/ballistic/automatic/pistol/m20_auto_elite + mag_type = /obj/item/ammo_box/magazine/m20_auto_elite + /obj/item/storage/guncase/m12 gun_type = /obj/item/gun/ballistic/automatic/m12_sporter mag_type = /obj/item/ammo_box/magazine/m12_sporter @@ -299,6 +303,10 @@ gun_type = /obj/item/gun/ballistic/automatic/pistol/commander/inteq mag_type = /obj/item/ammo_box/magazine/co9mm +/obj/item/storage/guncase/pistol/pinscher + gun_type = /obj/item/gun/ballistic/automatic/pistol/m20_auto_elite/inteq + mag_type = /obj/item/ammo_box/magazine/m20_auto_elite + /obj/item/storage/guncase/mongrel gun_type = /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq mag_type = /obj/item/ammo_box/magazine/smgm10mm diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 82aa3d4be0ff..7131eca5b7e4 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -23,12 +23,19 @@ 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" + name = "M17 Micro Target Pistol Crate" + desc = "A cheap target shooting pistol manufactured by Serene Outdoors. Chambered in .22 LR." cost = 400 contains = list(/obj/item/storage/guncase/pistol/m17) crate_name = "pistol crate" +/datum/supply_pack/gun/m20_auto_elite + name = "M20 Auto Elite Pistol Crate" + desc = "Contains a heavy pistol manufactured by Serene Outdoors. Chambered in .44 Roumain." + cost = 1250 + contains = list(/obj/item/storage/guncase/pistol/m20_auto_elite) + crate_name = "pistol crate" + /datum/supply_pack/gun/commanders name = "Commander Pistol Crate" desc = "Contains a double stacked Commander pistol, produced by Nanotrasen along with Vigilitas Interstellar and is chambered in 9mm." @@ -71,6 +78,16 @@ faction_discount = 0 faction_locked = TRUE +/datum/supply_pack/gun/pinscher + name = "Pinscher Heavy Pistol Crate" + desc = "Contains a heavy pistol manufactured by Serene Outdoors and modified to fit IRMG's standards. Chambered in .44 Roumain." + cost = 1250 + contains = list(/obj/item/storage/guncase/pistol/pinscher) + crate_name = "pistol crate" + 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 Hunter's Pride and chambered in .45 ACP." diff --git a/code/modules/cargo/packs/magazines.dm b/code/modules/cargo/packs/magazines.dm index 13f8e8ec1858..219fce130049 100644 --- a/code/modules/cargo/packs/magazines.dm +++ b/code/modules/cargo/packs/magazines.dm @@ -85,6 +85,12 @@ contains = list(/obj/item/ammo_box/magazine/m15/empty) cost = 300 +/datum/supply_pack/magazine/m20_auto_elite + name = "Auto Elite Magazine Crate" + desc = "Contains a .44 Roumain magazine for the Auto Elite pistol, with a capacity of ten rounds." + contains = list(/obj/item/ammo_box/magazine/m20_auto_elite/empty) + cost = 250 + /* Scarbie */ /datum/supply_pack/magazine/himehabu_mag diff --git a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm index ff36ffcd2292..0bebb8ffcb4e 100644 --- a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm @@ -64,6 +64,71 @@ EMPTY_GUN_HELPER(automatic/pistol/m17) /obj/item/ammo_box/magazine/m17/empty start_empty = TRUE +/* Auto Elite */ + +/obj/item/gun/ballistic/automatic/pistol/m20_auto_elite + name = "Model 20 \"Auto Elite\"" + desc = "A large handgun chambered .44 Roumain. Originally developed by Serene Outdoors for the Star City Police Department when their older handguns proved underpowered, the Auto Elite proved heavy and unwieldy in practice. It has nevertheless seen modest success as a sidearm for big game hunters and among customers looking to make an impression." + + 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 = "m20" + item_state = "so_generic" + + default_ammo_type = /obj/item/ammo_box/magazine/m20_auto_elite + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m20_auto_elite, + ) + + 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_SERENE + load_sound = 'sound/weapons/gun/pistol/deagle_reload.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/deagle_reload.ogg' + eject_sound = 'sound/weapons/gun/pistol/deagle_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/deagle_unload.ogg' + + recoil_unwielded = 4 + recoil = 1 + +NO_MAG_GUN_HELPER(automatic/pistol/m20_auto_elite) + +/obj/item/ammo_box/magazine/m20_auto_elite + name = "Model 20 magazine (.44 Roumain)" + desc = "A 10-round magazine designed for the Model 20 pistol. These rounds do good damage, and fare better against armor." + icon_state = "cm23_mag-1" + base_icon_state = "cm23_mag" + ammo_type = /obj/item/ammo_casing/a44roum + caliber = ".44 Roumain" + max_ammo = 9 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/m20_auto_elite/empty + start_empty = TRUE + +/obj/item/gun/ballistic/automatic/pistol/m20_auto_elite/inteq + name = "PO-20 Pinscher" + desc = "A large handgun chambered .44 Roumain and manufactured by Serene Outdoors. Modified to Inteq Risk Management Group's standards and issued as a heavy sidearm for officers." + + icon = 'icons/obj/guns/manufacturer/inteq/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 = "m20_inteq" + item_state = "inteq_generic" + + default_ammo_type = /obj/item/ammo_box/magazine/m20_auto_elite + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m20_auto_elite, + ) + +/obj/item/ammo_box/magazine/m20_auto_elite/inteq/empty + start_empty = TRUE + /* Sporter */ /obj/item/gun/ballistic/automatic/m12_sporter diff --git a/icons/obj/guns/manufacturer/inteq/48x32.dmi b/icons/obj/guns/manufacturer/inteq/48x32.dmi index 68aaf75810dffa7f4b31d7bead6553649db009ff..4b3058fc885c1a99a7089bc9ed25c2b7efe31bf5 100644 GIT binary patch literal 2292 zcmVP)t-sz`(%A zJ1$OGVJRp!YIJ@705d*6Pa!2M5EdHG+~%pV%or6PFdZaKGCUd#4sKFp|G#F;XCDg( z4S9K-Pfu=^Js=hp7j+FWMGhg(dnf<^0004WQchCV=-0C=38lre9EFc5`j_!XyQM@gEYO9zrzDQaKJBAs z_!(QMsbp0rHRxJ(4FjnR+^E)IYObN-5`k)$s^ua9S8Grom3# zNkY=&hx0{0hVPmCvxuW??+k}|9`0XblH{WUmOzrj&zJHI&oxij?qTcb000LUNklv;rD&t%h(TE-HO_F-PGbUi4qO&5%T$#IwJ*TCqX;+} zMZnQ00@6T8u9Un2>Iu1Ss6j86kH=3w2un(7lNj=@;}u*q)(8>yixLK}%jNnBxK80O zG=jI`xcbFJJ3#=|SQGGzPVU_D zD%vcd%8RkA0wQ>GAvi#aR<^B}AlFUE4aR6T0g;v?fj0mJa1hh#t5_m5jsKH?q`Hea z4<*1ggnA{hNkE1Y009EnOJ1STaFLgw4`Fq{qlTl=W2Qs@`eRu?!Jota@{pbAwFQBY z+ys5t77$h=WY?j9SJ3k#M+xx0(-w3D!aAt!0szA~tN?Nhr*#{2Y5~v&MR#1ekYkJ{ zC5|LAB$R^kNO?4hfTK|a9E~ENprD}OuSY&#{5sbChrb~Qy{m!J_~rbQfvm5gp<@F7cl6s z5;PG&nt;&}{g0yZy=p&h3|hWhfFt-y&{R-L?m$yz^n2ZYoX`aj+)xbRLBnu29~Q~v zU4U+84zw}LGxr!j1Kzf+U{smwDFukWQvy)I4~#>yL$v+aa)veGC&p3vffJ2_pVD?T z#8d^&3N_Pv`T{t!04`9#c`XRLG0x?Q1>i6eaWs#Df`WpAf`WpAzZW>@KWd#@7T^*| ze!}Oj#hPr(Yx1!S`j()KHMRoF%YKGOFs?kcjsExZ^RsCvSBvH05mLUZHSw`m^;NA5 zX2x&ce0_a2gtrrv8-l%|Gf0ZAnl=J^^BqW%&tq~!XCQwAR%&G!i?fa@>r$Q7 zWfbbc1g@Mw+Kh1e=^X|1ozN7e;5hXIbpT&_5<~5|(7%T*UEPLMu5#UBaXBo}NO|0% z+aO5Z_jZRXg#Yz@fz-;wN4tj~jV_!M0K1+pZHX z#Zr#e6}G5pPB&=7;s}9&h!yQzwr%I%`^4KebpVF~VwTvWfVK|~j@!_>-pfrS^T)wo z7tTjT;9W!vxoSgpnmb0&&=_=)MKJb2DL8#B0-p^<*271Pk(Hnt`?1&EWJqX^Mc};w zH2TR3RBsm*0~Dy9J}edr=zTV{2MO9oHG~X|r)=nz0#YE=9>1`#AXL1a0A;kHoTS7J zfiGqAT5udS98F>mP{7d~3JMAe3JMC2!^&|g+5GlfD=2f^Wa+xUf1V+2ozRAY48C=T z>s~q4B+Dd$vSvDZiK<-$&E36=-sla?6y)qr{1LP3 z9t2Fgq~aXxZWsYv+$=<=<9B%6UH8qrY!*I=z0dlMF@Ks_^&1HpaBi8ybss#%(fD_#Vz-Eek+!D_4_-@f-Sf~Rx2S)si%g%J zsq|!p$LZv9-3K?L&~JOg;3-UDsX4&A-X~y}>z=ZJ;l`c@ALzfRr?Ci zH(X{C1$o#ZW0@dAC!*dJS;l<@1+h5m;Yju3@0n0n7XR}Is2|=;r*4Mv&wl873Jm|+ ze6Y=I{?;5adZZG=VY;r&S+uJ$=3-jDIR>`rm=D(({g{BjR1F2gX0sAJTh2=aM4fGI zvGMYEl}^BI>R3Vv0_JGd3wnXt`F5MnoAEbNQ<$9S@Gv0*dm-Lpbn@5Pmx>#+_5Iw9yZHF;sh*+ ztqD-MY-gfJfX&}${kBcU3UFMw1k9Dt)wnn#*?%6&V@tp$;ipJ3CE)J6HUv~A?dqXC z*6tDC*M)av(=D90-H2l1INH`6h#pEjrw~#ztEckFhT8cyCV_REm;)Hwi!+ko=jW8# z6Oix&4Z9DFPva2ObEZEq+2CKh@p`7Ka1GvkPn7SZA(H<&Q1}=8BlrV7E>M#b7x**) O0000rkliz>vYK5&RFsMSs{H4e~G z$=XqB(488422vTgP_4mqTtm+#0@XmF9XZ2EdO&UsUW^UY_7({>f}jk&o$D|@XdCe8 zI;VjO{G0EwfuAICQO02bK~DU4lFuTI62cb5q2kiu*IIv7tKMvas$Ml`WV5V3i-pzh z&Pvd>nv^{^P18PMvHakMYofTKe?D+eKe*m8CB_My^)foT)1`J6=K~#90?VOF8qbdxBwfu?Bc30bT z?*CFxf>x0t5XIK>EMIqaIu62XhzOa`s*0$N75KCYP)r3VrUDdG6sVr`2^iB}1ZD;z z5Zy+xyg)CE9YB0kW}pdb56~f<;X|i%8G%DcDL_g#s%hjTm9xu;J*9vHgg^q|n(?Py zG#;Q`zKoUu3yD$EymA3eP(&aJG)h$1NkZ;L*#?@RES?CRK&L^YXn22&C*jc%x0h;V zH})8S9ps4srFoQUTLe0ak^(eAMSw)tjy?7npb08qAn2%U2Ffx081J!50l_`Cdmwa` zeh5XW--QcAeyZ-^*HHv|J^h??MJyO;u zC&pm)zGZdI@pW^gb?*gAFYDuBthb4*(<~eF-jRuK!KuC)31#0TOysN|{|D!QvxN!H zz?56XY|I!>yy^(V&>8@}Dk>@}Dk>^U6*U`yT3*O* zAjPT_aoww=Xh`Lowv{9xDQOJ=5FrCbsHSO2xq1jhNwGnorXv8!rtK(K3_aGS*KbY` zE#VAB?K9C~_>=&orvsUwU1}RjVFKu>G&Bi}@_!q`76N^np{S^+ zsOZ|-*bemLJBSKpa&4YOkejMAAKyG7K$PLn?4DE|lVqUS1`=oev^9>Kte}3*tYM60 z$b<8y>a;MecJhM6n4HG7UJ|D83jXvkJ?4FD{z-C**}J@{I8WNO`BQaZo-bBeL#mMqd7o}7SKlx8kpk25G`ppyn)!izsX9aF zENxUXPHUfhDu(%Fqa%UKfy{0`h4wbCbpXhhs`I`;SvC)%?ky(9M9C4P??QRR@5ktUg}=X8{uOX^GmJiZ5v9RGt1Y zW$eI_?TU~eEUIzjBzuYy@%>{g(qOtg{ z8wodxM!L+Gsv`n{5_Kr|34>LUMV~KZ8H{J(F1h_cZ5IQgr|KLTZ~*60VS{Rw8dy|R z^!Mm0o8xNd`!`ir7SH#9>eZWRS9==IDIZv}@YKtJa7(Y>E}Qamk}Y+vcmf|HG5_xU zO(rCp%jNt6&{E}6d(esAdn&VqmUfbOeAYY1yDgq8j6#>6y z`Cj`HOtt2z7cWZfI?4wHrB-P3kozn*ko&~)U%J{Ckt~zk|LH0Ihw;ovkGzQGs}18}&RdTh$!ksr@1Wso;lT`5vaR8SFtO8A{wD@?;S? zLV1Bn+DcdBDJm)|`j#@!)sJf5b9+bqsSTVARD0j10G-COG?3E9{OPNeXYx_gCy^c= z-+Ld&{4PNUfULMd9bRN5(;Nm`dWVc{V4She1)@JXd_*~c pc063&3UWVXt?{j>sHo`g)qm=hH1uf^sYU<*002ovPDHLkV1fbCvta-L diff --git a/icons/obj/guns/manufacturer/serene_outdoors/48x32.dmi b/icons/obj/guns/manufacturer/serene_outdoors/48x32.dmi index d728fe7bdbf0394260528e104876fccda5230a82..9b75cb2f681c2dd53d130331d043475be26e656b 100644 GIT binary patch delta 1443 zcmV;U1zh^M3GoY%7Y?8Z0{{R3)Z!H<0000mktHr0Pfu>Zz`&=X+|U3300DGTPE!Ct z=GbNc008@uYa)MaVwWB0sHTdJ1MFV8jcKB$35wIP$6p!JZc}sfFMa+$$?_8N;=Me= z{-YFM1#3>$FoHbj; zFm>Zhhz4up+MeWp{1S@e{`YZz0Ca%K`wHN^82|tTXh}ptRCt{2oQ-y)AP`0^AR{66 z{U3K{2K;|%j>;g$WY3wKZklGPTmjqib<(aY@Kb7VH!4&@g-WPUiK5U?<_;O|uOKrE z-DR}f&!q7+LRsoUA=56Dr7C=kvDUi2?;XCk9^pIh0spxcq3UrNLNMI9bMEnYIEc?o za0CFH7OI)45C$amjH6&@AmnF<2=pPoiB9ab!`gqf9G)`)%;IBW2rL^y1R5Y?&Ix6y zYM~*-=+?wYN_a2QI2OuME1!Kk5~6Xyj&X{dp>-`_A;A{p>{YLt-)WvS8%#}yRr6B0nz_!Y;w?t5na6~4*;_XFD9 zs8D|i6)K@ZCB9BbQ4~eF4%{5ecE^`Ndv)(A%Xsu-Z@qK)MzH}uO*x0X)yII(@rr|S z>`AM)I4mh!0lvG-g;R?)Q{wWZ{rjyGwWK{;(EmDFG zMeEOTG?%Uqs(?B>S_P|65nOaq%TC@&P^1y}Il87m}nE1_)D;~fT*D*y=6h%=KMcJfJjGy+H8JXYT&-8!JiHFIw z9O#mKs6z=$sZP4%K<`&PU*-+@5Dw5Ps-i)HU*UWi?t03HJg2w#oH@#eL`KtenG|>) z9f{hKhJlXzekD?RdfFsIwNC*xXh=%q3{y19lY#8O$9skKvgq#F`LVeez$;MhVFLRCj@@E@252u(zl|E z!(ByD6h--VDt3YAH;ff*Z@M?Tu4vjKwHSi^I^5ZTqJpl{(-WSUH;Lkv%a;DCYRIID*%wAh=5JZN;P8yy4dVeA#SA;1Nh zA!x(U8%KZ)2;FED-C_>%r=?4XLXIsC8Ul-o@|nngl<^z|OOc&CTDs5w+HzCZ)!|sZ z9iZIH&4=7it~6tNw#b3}Bx;v0UlzL*E`cc$yNU#6mDshKWP0@Hgj3wHN7gyW-S+Qy zegO#Cro$HYg^&OM14BtfK~!jg?U+An+dvqHFSZ~G?htuECVAEUEE#IYgim5B<^v8;qwD(L#r+f6? zN#=gM03_H=UZ{!?{R^V4X0usI9-p+;WTNJMMNG00QR#|mg`&(os-nOrV&tHWG3rlx-v}WKgnCY{sJYwZR1>&=E}d;3LrQlEaJ}&WSz3-Lt0E@yLKN{V48|dE?QzkcJ&JABC2_q_CI(RSEJa$xD@>*yATRX2 z0#8zu+Nwq{1>n(QfC@Z?6*Z^__!mVQ?!Q0vImu*PNt9w|^nNoU5KcEFDuWOSkwEZ& ze^Jv;E6%ha?oY06I_Tu^40cX1+N)TBP2&rCcQd(qp$w4Y^qfi+xn2-4@>v2gDy}Mu zK`UI>sOE{{%bcbvMpRd?y2u;1yI~jvVVU!Ag@j@OW8`{M0G*b!b_vozjftqIwvXz0 zB8eCIfTYGQv*pygI@0q*3SX}zUvT?>AjiV6xSxb&B%ki6oZJ4!;I7T+B}GzEzLON5 zDdj0auc+qIRCu^RAb7CUTN@H>S39`Vo_&aqm0RtXsU62MuL From 0657d7d282f9a6c3d48a08bd238668934ee521c7 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 14:55:21 -0600 Subject: [PATCH 059/330] Automatic changelog generation for PR #3992 [ci skip] --- html/changelogs/AutoChangeLog-pr-3992.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3992.yml diff --git a/html/changelogs/AutoChangeLog-pr-3992.yml b/html/changelogs/AutoChangeLog-pr-3992.yml new file mode 100644 index 000000000000..238acec91541 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3992.yml @@ -0,0 +1,4 @@ +author: Apogee-dev +changes: + - {rscadd: Added M20 Auto Elite and PO-20 Pinscher heavy pistols.} +delete-after: true From 8a91895513c8358dc9661d8a7a8b5a2eab66042b Mon Sep 17 00:00:00 2001 From: TDHooligan Date: Sat, 18 Jan 2025 20:48:06 +0000 Subject: [PATCH 060/330] Robotic limb degradation (#3589) ## About The Pull Request Introduces 'limb integrity' as a mechanic among all robotic limbs. 1 point of 'Integrity loss' represents 1 HP's worth of damage that won't heal under most (if not all) circumstances. Limbs also have an 'integrity threshold', ignoring some accumulated integrity damage. So that robots can actually heal to full health from light damage a couple of times. A new surgery to 'Replace Structure' can be performed on robotic limbs, to fix all integrity, alongside all the damage that was accumulated as a result of it. 'Repair Machinery' requires a second individual to do it now, so that you can heal robots without causing integrity loss. A new item, 'Replacement structural rods', can be crafted with rods, cable and titanium. This grants 2 uses, and allows IPCs to repair themselves without assistance. ### Nitty gritty balance implications: - All robotic parts have an integrity threshold of ~~15~~ > 20. - Welding and cable repairs cost ~~7.5~~ > 5 integrity. - So you can repair each parts ~~twice~~ -> four times (60 HP) with no ill effects. - Every subsequent repair accumulates ~~7.5~~ > 5 permanent damage. - To reset a limb's integrity, surgery needs to be performed. After 8 repairs, a limb will have 20 unremovable damage. But in return, you'd have healed 120 HP. --- Since damage will be spread across the body, this gives IPCs a good pool of cheap health, but will need to either replace their limbs, or have a mechanic repair their limbs. ## Why It's Good For The Game Prevents IPCs and augmented humans from ignoring doctors in favour of a stack of coil and an empty welding tool. ## Changelog :cl: add: Robotic body parts now have integrity, 1 'integrity loss' represents 1 HP of damage that cannot be healed/repaired. add: New 'Replace Structure' surgery that allows a roboticist to restore limb integrity. add: New 'Structure Repair Kit' craft that restores limb integrity. balance: Robotic limbs start wearing out after multiple repairs, limiting their repair potential. balance: Repair machinery is no longer self-operable. /:cl: --------- Signed-off-by: TDHooligan Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- .../components/crafting/recipes/misc.dm | 11 +++ code/game/objects/items/devices/scanners.dm | 2 +- code/game/objects/items/stacks/medical.dm | 69 +++++++++++++++--- code/game/objects/items/tools/weldingtool.dm | 2 +- .../modules/mob/living/carbon/damage_procs.dm | 16 +++- .../mob/living/carbon/human/examine.dm | 7 ++ code/modules/mob/living/carbon/human/human.dm | 15 ++++ code/modules/mob/living/damage_procs.dm | 3 + code/modules/mob/living/living.dm | 1 + code/modules/mob/mob_helpers.dm | 14 +++- code/modules/power/cable.dm | 2 +- .../projectiles/guns/energy/special.dm | 2 +- code/modules/surgery/bodyparts/bodyparts.dm | 42 ++++++++++- .../surgery/bodyparts/robot_bodyparts.dm | 6 ++ .../bodyparts/species_parts/ipc_bodyparts.dm | 6 ++ code/modules/surgery/mechanical.dm | 51 ++++++++++++- icons/hud/screen_gen.dmi | Bin 104770 -> 106096 bytes icons/obj/items.dmi | Bin 61369 -> 62181 bytes 18 files changed, 227 insertions(+), 22 deletions(-) diff --git a/code/datums/components/crafting/recipes/misc.dm b/code/datums/components/crafting/recipes/misc.dm index fd89bd141ea8..879f6be65d5f 100644 --- a/code/datums/components/crafting/recipes/misc.dm +++ b/code/datums/components/crafting/recipes/misc.dm @@ -149,6 +149,17 @@ result = /obj/item/stack/medical/splint/ghetto category = CAT_MISC + +/datum/crafting_recipe/replacement_structure + name = "Structure Repair Kit" + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) //hole punching and scissors + reqs = list( + /obj/item/stack/rods = 3, + /obj/item/stack/sheet/mineral/titanium = 1, + /obj/item/stack/cable_coil = 2) + result = /obj/item/stack/medical/structure + category = CAT_MISC + /datum/crafting_recipe/portableseedextractor name = "Portable seed extractor" reqs = list( diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index e273aceed473..4df753123bba 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -221,7 +221,7 @@ GENE SCANNER // Body part damage report if(iscarbon(M) && mode == SCANNER_VERBOSE) var/mob/living/carbon/C = M - var/list/damaged = C.get_damaged_bodyparts(1,1) + var/list/damaged = C.get_damaged_bodyparts(1,1,ignore_integrity=TRUE) if(length(damaged)>0 || oxy_loss>0 || tox_loss>0 || fire_loss>0) var/dmgreport = "General status:\ \ diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index fbda78c0ab6c..1f8e39d05f4b 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -12,7 +12,10 @@ max_integrity = 40 novariants = FALSE item_flags = NOBLUDGEON + var/heals_organic = TRUE + var/heals_inorganic = FALSE var/splint_fracture = FALSE + var/restore_integrity = 0 var/failure_chance var/self_delay = 50 var/other_delay = 0 @@ -55,23 +58,26 @@ /obj/item/stack/medical/proc/heal(mob/living/target, mob/user) return -/obj/item/stack/medical/proc/heal_carbon(mob/living/carbon/C, mob/user, brute, burn) +/obj/item/stack/medical/proc/heal_carbon(mob/living/carbon/C, mob/user, brute, burn, integrity = 0) var/obj/item/bodypart/affecting = C.get_bodypart(check_zone(user.zone_selected)) if(!affecting) //Missing limb? to_chat(user, "[C] doesn't have \a [parse_zone(user.zone_selected)]!") return - if(!IS_ORGANIC_LIMB(affecting)) //Limb must be organic to be healed - RR + if(!heals_inorganic && !IS_ORGANIC_LIMB(affecting)) to_chat(user, "\The [src] won't work on a robotic limb!") return + if(!heals_organic && IS_ORGANIC_LIMB(affecting)) + to_chat(user, "\The [src] won't work on an organic limb!") + return //WS begin - failure chance if(prob(failure_chance)) user.visible_message("[user] tries to apply \the [src] on [C]'s [affecting.name], but fails!", "You try to apply \the [src] on on [C]'s [affecting.name], but fail!") return //WS end + var/successful_heal = FALSE //Has this item healed anywhere it could? if(affecting.brute_dam && brute || affecting.burn_dam && burn) - user.visible_message("[user] applies \the [src] on [C]'s [affecting.name].", "You apply \the [src] on [C]'s [affecting.name].") var/brute2heal = brute var/burn2heal = burn var/skill_mod = user?.mind?.get_skill_modifier(/datum/skill/healing, SKILL_SPEED_MODIFIER) @@ -80,27 +86,41 @@ burn2heal *= (2-skill_mod) if(affecting.heal_damage(brute2heal, burn2heal)) C.update_damage_overlays() - return TRUE + successful_heal = TRUE //WS Begin - Splints if(splint_fracture) //Check if it's a splint and the bone is broken if(affecting.body_part in list(CHEST, HEAD)) // Check if it isn't the head or chest to_chat(user, "You can't splint that bodypart!") - return else if(affecting.bone_status == BONE_FLAG_SPLINTED) // Check if it isn't already splinted to_chat(user, "[C]'s [affecting.name] is already splinted!") - return else if(!(affecting.bone_status == BONE_FLAG_BROKEN)) // Check if it's actually broken to_chat(user, "[C]'s [affecting.name] isn't broken!") - return - affecting.bone_status = BONE_FLAG_SPLINTED - // C.update_inv_splints() something breaks - user.visible_message("[user] applies [src] on [C].", "You apply [src] on [C]'s [affecting.name].") - return TRUE + else + affecting.bone_status = BONE_FLAG_SPLINTED + // C.update_inv_splints() something breaks + successful_heal = TRUE //WS End - + if (restore_integrity) + if(affecting.integrity_loss == 0) + to_chat(user, "[C]'s [affecting.name] has no integrity damage!") + else + var/integ_healed = min(integrity, affecting.integrity_loss) + //check how much limb health we've lost to integrity_loss + var/integ_damage_removed = max(integ_healed, affecting.integrity_loss-affecting.integrity_ignored) + var/brute_heal = min(affecting.brute_dam,integ_damage_removed) + var/burn_heal = max(0,integ_damage_removed-brute_heal) + affecting.integrity_loss -= integ_healed + affecting.heal_damage(brute_heal,burn_heal,0,null,BODYTYPE_ROBOTIC) + // C.update_inv_splints() something breaks + successful_heal = TRUE + + + if (successful_heal) + user.visible_message("[user] applies \the [src] on [C]'s [affecting.name].", "You apply \the [src] on [C]'s [affecting.name].") + return TRUE to_chat(user, "[C]'s [affecting.name] can not be healed with \the [src]!") @@ -402,3 +422,28 @@ icon_state = "hointment" desc = "Herb slurry meant to treat burns." heal_burn = 15 + + +/obj/item/stack/medical/structure + name = "replacement structural rods" + desc = "Steel rods and cable with adjustable titanium fasteners, for quickly repairing structural damage to robotic limbs." + gender = PLURAL + icon = 'icons/obj/items.dmi' + icon_state = "ipc_splint" + amount = 2 + max_amount = 3 + novariants = FALSE + self_delay = 50 + other_delay = 20 + heals_inorganic = TRUE + heals_organic = FALSE + restore_integrity = TRUE + + +/obj/item/stack/medical/structure/heal(mob/living/target, mob/user) + . = ..() + if(iscarbon(target)) + return heal_carbon(target, user, integrity = 150) + to_chat(user, "You can't repair [target]'s limb' with the \the [src]!") + + diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index fcccb13b4b27..4d9a6d899a5a 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -124,7 +124,7 @@ "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) + item_heal_robotic(target, user, brute_heal = 15, burn_heal = 0, integrity_loss = 5) return TRUE /obj/item/weldingtool/afterattack(atom/O, mob/user, proximity) diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index 8c023299baed..6eea6a1f4669 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -160,12 +160,15 @@ //////////////////////////////////////////// //Returns a list of damaged bodyparts -/mob/living/carbon/proc/get_damaged_bodyparts(brute = FALSE, burn = FALSE, stamina = FALSE, status) +//ignore_integrity shows limbs that can't be healed due to low integrity +/mob/living/carbon/proc/get_damaged_bodyparts(brute = FALSE, burn = FALSE, stamina = FALSE, status, ignore_integrity = FALSE) var/list/obj/item/bodypart/parts = list() for(var/obj/item/bodypart/BP as anything in bodyparts) if(status && !(BP.bodytype & status)) continue if((brute && BP.brute_dam) || (burn && BP.burn_dam) || (stamina && BP.stamina_dam)) + if (!ignore_integrity && BP.get_curable_damage() <= 0) + continue parts += BP return parts @@ -212,6 +215,17 @@ if(picked.receive_damage(brute, burn, stamina, check_armor ? run_armor_check(picked, (brute ? "melee" : burn ? "fire" : stamina ? "bullet" : null)) : FALSE)) update_damage_overlays() +///Fix integrity in MANY bodyparts, in random order +/mob/living/carbon/heal_overall_integrity(amount = 0, required_status, updating_health = TRUE) + var/list/obj/item/bodypart/parts = get_damaged_bodyparts(required_status, FALSE) + var/update = NONE + while(parts.len && (amount > 0)) + var/obj/item/bodypart/picked = pick(parts) + var/integrity_was = picked.integrity_loss + update |= picked.heal_integrity(amount, required_status, FALSE) + amount -= round(amount - (integrity_was - picked.integrity_loss), DAMAGE_PRECISION) + parts -= picked + ///Heal MANY bodyparts, in random order /mob/living/carbon/heal_overall_damage(brute = 0, burn = 0, stamina = 0, required_status, updating_health = TRUE) var/list/obj/item/bodypart/parts = get_damaged_bodyparts(brute, burn, stamina, required_status) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index fae17b35d706..0c8782129698 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -167,6 +167,13 @@ if(BP.bodypart_disabled) disabled += BP missing -= BP.body_zone + if(BP.uses_integrity && (BP.integrity_loss-BP.integrity_ignored) > 0) + if ((BP.integrity_loss-BP.integrity_ignored) > BP.max_damage*0.66) + msg += "[t_His] [BP.name] is [BP.heavy_integrity_msg]!\n" + else if (BP.integrity_loss-BP.integrity_ignored > BP.max_damage*0.33) + msg += "[t_His] [BP.name] is [BP.medium_integrity_msg]!\n" + else + msg += "[t_His] [BP.name] is [BP.light_integrity_msg].\n" for(var/obj/item/I in BP.embedded_objects) if(I.isEmbedHarmless()) msg += "[t_He] [t_has] \a [icon2html(I, user)] [I] stuck to [t_his] [BP.name]!\n" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 5aa11efd6a6d..a4d89a53b548 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -874,6 +874,21 @@ icon_num = 0 if(icon_num) hud_used.healthdoll.add_overlay(mutable_appearance('icons/hud/screen_gen.dmi', "[BP.body_zone][icon_num]")) + if (BP.uses_integrity) // Same, but for integrity + var/integ_loss = max(0,BP.integrity_loss-BP.integrity_ignored) + var/integ_icon_num + if(integ_loss) + integ_icon_num = 1 + if(integ_loss > (comparison)) + integ_icon_num = 2 + if(integ_loss > (comparison*2)) + integ_icon_num = 3 + if(integ_loss > (comparison*3)) + integ_icon_num = 4 + //no 100% integ loss icon as it'd be visually indistinguishable from limb removal + if(integ_icon_num) + hud_used.healthdoll.add_overlay(mutable_appearance('icons/hud/screen_gen.dmi', "[BP.body_zone]_integ[integ_icon_num]")) + for(var/t in get_missing_limbs()) //Missing limbs hud_used.healthdoll.add_overlay(mutable_appearance('icons/hud/screen_gen.dmi', "[t]6")) for(var/t in get_disabled_limbs()) //Disabled limbs diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 430d02f7f1ea..75ea0e1d39f2 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -278,6 +278,9 @@ updatehealth() update_stamina() +/// Restore integrity to MANY bodyparts, in random order +/mob/living/proc/heal_overall_integrity(amount, required_status, updating_health = TRUE) + /// heal MANY bodyparts, in random order /mob/living/proc/heal_overall_damage(brute = 0, burn = 0, stamina = 0, required_status, updating_health = TRUE) adjustBruteLoss(-brute, FALSE) //zero as argument for no instant health update diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index b51c748151b8..99db31b26c0f 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -706,6 +706,7 @@ cure_blind() cure_husk() hallucination = 0 + heal_overall_integrity(INFINITY, null, TRUE) //heal all limb integrity, so that you can... heal_overall_damage(INFINITY, INFINITY, INFINITY, null, TRUE) //heal brute and burn dmg on both organic and robotic limbs, and update health right away. ExtinguishMob() fire_stacks = 0 diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 7848b9cbff0a..d06532a1f9a1 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -447,7 +447,7 @@ /** * Heal a robotic body part on a mob */ -/proc/item_heal_robotic(mob/living/carbon/human/H, mob/user, brute_heal, burn_heal) +/proc/item_heal_robotic(mob/living/carbon/human/H, mob/user, brute_heal, burn_heal, integrity_loss=0) var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected)) if(affecting && (!IS_ORGANIC_LIMB(affecting))) var/dam //changes repair text based on how much brute/burn was supplied @@ -456,6 +456,18 @@ else dam = 0 if((brute_heal > 0 && affecting.brute_dam > 0) || (burn_heal > 0 && affecting.burn_dam > 0)) + if(affecting.uses_integrity) + var/integrity_damage_incurred = (affecting.get_curable_damage() >= affecting.integrity_threshold) || (affecting.max_damage - affecting.integrity_loss >= affecting.integrity_threshold) + if(affecting.get_curable_damage(integrity_damage_incurred ? integrity_loss : 0) <= 0) + var/limb_hp_loss = affecting.integrity_loss-affecting.integrity_ignored + if(limb_hp_loss+integrity_loss >= affecting.max_damage) + to_chat(user, "[affecting] is destroyed! It needs structural repairs to be repaired any further.") + else + to_chat(user, "[affecting] has taken too much structural damage, and needs surgery to improve any further.") + return + if (integrity_damage_incurred) + affecting.take_integrity_damage(integrity_loss) + if(affecting.heal_damage(brute_heal, burn_heal, 0, BODYTYPE_ROBOTIC)) H.update_damage_overlays() user.visible_message("[user] has fixed some of the [dam ? "dents on" : "burnt wires in"] [H]'s [parse_zone(affecting.body_zone)].", \ diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 283d41524f79..7c48b597e115 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -544,7 +544,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain user.visible_message("[user] starts to fix some of the wires in [H]'s [parse_zone(affecting.body_zone)].", "You start fixing some of the wires in [H == user ? "your" : "[H]'s"] [parse_zone(affecting.body_zone)].") if(!do_after(user, 0.5 SECONDS, H)) return - if(item_heal_robotic(H, user, 0, 15)) + if(item_heal_robotic(H, user, 0, 15, integrity_loss = 5)) use(1) return else diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index ba8dfc7386a2..2bd15cd04a70 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -185,7 +185,7 @@ "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) + item_heal_robotic(target, user, brute_heal = 15, burn_heal = 0, integrity_loss = 5) return TRUE /obj/item/gun/energy/plasmacutter/use(amount) diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 740568eb3480..86735b49a9fb 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -61,6 +61,16 @@ /// Current limb bleeding, increased when the limb takes brute damage over certain thresholds, decreased through bandages and cauterization var/bleeding = 0 + /// Whether this limb can decay, limiting its' ability to heal + var/uses_integrity = FALSE + /// How many hit points worth of integrity this limb has lost. 10 integrity = 10 HP + var/integrity_loss = 0 + /// The amount of integrity_loss that this limb can have without any effects. + var/integrity_ignored = 20 + /// If the limb has lost less than this amount of health, integrity loss should not be accrued. + /// Ignored if this is is greater or equal to the remaining health of the limb. + var/integrity_threshold = 15 + /// So we know if we need to scream if this limb hits max damage var/last_maxed ///If disabled, limb is as good as missing. @@ -124,7 +134,11 @@ var/medium_burn_msg = "blistered" var/heavy_burn_msg = "peeling away" - //band-aid for blood overlays & other external overlays until they get refactored + var/light_integrity_msg = "misaligned" + var/medium_integrity_msg = "twisted" + var/heavy_integrity_msg = "falling apart" + +//band-aid for blood overlays & other external overlays until they get refactored var/stored_icon_state /obj/item/bodypart/Initialize() @@ -281,6 +295,18 @@ . = TRUE return update_bodypart_damage_state() || . + +// Removes integrity from the limb, if it uses integrity. +/obj/item/bodypart/proc/take_integrity_damage(loss) + if (uses_integrity) + integrity_loss = clamp(integrity_loss + loss, 0, max_damage+integrity_ignored) + + +// Heals integrity for the limb, if it uses integrity. +/obj/item/bodypart/proc/heal_integrity(amount) + if (uses_integrity) + integrity_loss = clamp(integrity_loss - amount, 0, max_damage) + //Heals brute and burn damage for the organ. Returns 1 if the damage-icon states changed at all. //Damage cannot go below zero. //Cannot remove negative damage (i.e. apply damage) @@ -289,6 +315,12 @@ if(required_status && !(bodytype & required_status)) //So we can only heal certain kinds of limbs, ie robotic vs organic. return + if (uses_integrity && (burn > 0 || brute > 0)) + var/max_heal = max(0, burn_dam + brute_dam - max(0,integrity_loss-integrity_ignored)) + var/total_heal = min(brute,brute_dam)+min(burn,burn_dam) //in case we're trying to heal nonexistent dmg + var/heal_mult = min(1,max_heal/total_heal) + brute *= heal_mult + burn *= heal_mult if(brute) set_brute_dam(round(max(brute_dam - brute, 0), DAMAGE_PRECISION)) adjust_bleeding(-BLOOD_LOSS_DAMAGE_MAXIMUM * brute / max_damage) @@ -296,7 +328,6 @@ set_burn_dam(round(max(burn_dam - burn, 0), DAMAGE_PRECISION)) if(stamina) set_stamina_dam(round(max(stamina_dam - stamina, 0), DAMAGE_PRECISION)) - if(owner) if(can_be_disabled) update_disabled() @@ -365,6 +396,11 @@ total = max(total, stamina_dam) return total +///Returns damage that can be healed on a limb. +/// integrity_cost: Optional, returns how much damage can be healed after losing X integrity +/obj/item/bodypart/proc/get_curable_damage(integrity_cost=0) + var/total = brute_dam + burn_dam - max(0,(integrity_loss+integrity_cost)-integrity_ignored) + return total //Checks disabled status thresholds /obj/item/bodypart/proc/update_disabled() @@ -630,7 +666,6 @@ bone_status = BONE_FLAG_NORMAL RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(on_mob_move)) - draw_color = mutation_color if(should_draw_greyscale) //Should the limb be colored? draw_color ||= (species_color) || (skin_tone && skintone2hex(skin_tone)) @@ -810,3 +845,4 @@ 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/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm index 61bbb88ab545..55d37f7eec79 100644 --- a/code/modules/surgery/bodyparts/robot_bodyparts.dm +++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm @@ -23,6 +23,7 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + uses_integrity = TRUE brute_reduction = 5 burn_reduction = 4 @@ -48,6 +49,7 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + uses_integrity = TRUE brute_reduction = 5 burn_reduction = 4 @@ -73,6 +75,7 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + uses_integrity = TRUE brute_reduction = 5 burn_reduction = 4 @@ -98,6 +101,7 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + uses_integrity = TRUE brute_reduction = 5 burn_reduction = 4 @@ -122,6 +126,7 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + uses_integrity = TRUE brute_reduction = 5 burn_reduction = 4 @@ -224,6 +229,7 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + uses_integrity = TRUE brute_reduction = 5 burn_reduction = 4 diff --git a/code/modules/surgery/bodyparts/species_parts/ipc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/ipc_bodyparts.dm index dc162eadfe5e..d32a41c2bc1a 100644 --- a/code/modules/surgery/bodyparts/species_parts/ipc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/ipc_bodyparts.dm @@ -5,6 +5,7 @@ limb_id = "synth" //Overriden in /species/ipc/replace_body() is_dimorphic = FALSE should_draw_greyscale = FALSE + uses_integrity = TRUE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC | BODYTYPE_BOXHEAD light_brute_msg = "scratched" medium_brute_msg = "dented" @@ -22,6 +23,7 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + uses_integrity = TRUE light_brute_msg = "scratched" medium_brute_msg = "dented" @@ -38,6 +40,7 @@ limb_id = "synth" should_draw_greyscale = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + uses_integrity = TRUE light_brute_msg = "scratched" medium_brute_msg = "dented" @@ -54,6 +57,7 @@ limb_id = "synth" should_draw_greyscale = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + uses_integrity = TRUE light_brute_msg = "scratched" medium_brute_msg = "dented" @@ -70,6 +74,7 @@ limb_id = "synth" should_draw_greyscale = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + uses_integrity = TRUE light_brute_msg = "scratched" medium_brute_msg = "dented" @@ -86,6 +91,7 @@ limb_id = "synth" should_draw_greyscale = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + uses_integrity = TRUE light_brute_msg = "scratched" medium_brute_msg = "dented" diff --git a/code/modules/surgery/mechanical.dm b/code/modules/surgery/mechanical.dm index 2cf72dab1731..30755a6f3f6c 100644 --- a/code/modules/surgery/mechanical.dm +++ b/code/modules/surgery/mechanical.dm @@ -24,7 +24,7 @@ /datum/surgery_step/mechanic_close ) lying_required = FALSE - self_operable = TRUE + self_operable = FALSE /datum/surgery_step/heal/mechanic name = "repair components" @@ -126,3 +126,52 @@ var/mob/living/carbon/C = target if(!C.get_bodypart(user.zone_selected)) //can only start if limb is missing return TRUE + +/datum/surgery_step/repair_structure + name = "replace structural rods" + time = 3.4 SECONDS + implements = list( + /obj/item/stack/rods = 100 + ) + preop_sound = 'sound/items/ratchet.ogg' + success_sound = 'sound/items/taperecorder_close.ogg' + +/datum/surgery_step/repair_structure/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/stack/rods = tool + if(!tool || rods.get_amount() < 2) + to_chat(user, "You need at least two rods to do this!") + return -1 + if(target_zone == BODY_ZONE_HEAD) + user.visible_message("[user] begins to reinforce [target]'s skull with [tool]...", "You begin to reinforce [target]'s skull with [tool]...") + else + user.visible_message("[user] begins to replace the rods in [target]'s [parse_zone(target_zone)]...", "You begin replacing the rods in [target]'s [parse_zone(target_zone)]...") + +/datum/surgery_step/repair_structure/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/stack/rods = tool + if(!tool || rods.get_amount() < 2) + to_chat(user, "You need at least two rods to do this!") + return FALSE + user.visible_message("[user] successfully restores integrity to [target]'s [parse_zone(target_zone)]!", "You successfully restore integrity to [target]'s [parse_zone(target_zone)].") + //restore all integrity-induced damage, so that they don't just weld themselves into a mess again + var/integ_heal = surgery.operated_bodypart.integrity_loss //ignore integrity_ignored as a little surgery bonus + var/brute_heal = min(surgery.operated_bodypart.brute_dam,integ_heal) + var/burn_heal = max(0,integ_heal-brute_heal) + surgery.operated_bodypart.integrity_loss = 0 + surgery.operated_bodypart.heal_damage(brute_heal,burn_heal,0,null,BODYTYPE_ROBOTIC) + tool.use(2) + return TRUE + + +/datum/surgery/integrity + name = "Replace structure" + possible_locs = list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_HEAD, BODY_ZONE_CHEST) + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/repair_structure, + /datum/surgery_step/mechanic_close + ) + requires_bodypart = TRUE + lying_required = TRUE + self_operable = FALSE diff --git a/icons/hud/screen_gen.dmi b/icons/hud/screen_gen.dmi index b26bc7375dbb0d152efcc8e2cd61a773985cc4f5..541586687749fea59616b7f7c09d1c44ef935912 100644 GIT binary patch literal 106096 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 Pm3Z`Zjdg0YA4mNkSOu#E literal 104770 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%0AP0iR?7m1EL6 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 lAn^bC81E Date: Sat, 18 Jan 2025 15:09:35 -0600 Subject: [PATCH 061/330] Automatic changelog generation for PR #3589 [ci skip] --- html/changelogs/AutoChangeLog-pr-3589.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3589.yml diff --git a/html/changelogs/AutoChangeLog-pr-3589.yml b/html/changelogs/AutoChangeLog-pr-3589.yml new file mode 100644 index 000000000000..ae4197315f16 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3589.yml @@ -0,0 +1,11 @@ +author: TDHooligan +changes: + - {rscadd: "Robotic body parts now have integrity, 1 'integrity loss' represents + 1 HP of damage that cannot be healed/repaired."} + - {rscadd: New 'Replace Structure' surgery that allows a roboticist to restore limb + integrity.} + - {rscadd: New 'Structure Repair Kit' craft that restores limb integrity.} + - {balance: 'Robotic limbs start wearing out after multiple repairs, limiting their + repair potential.'} + - {balance: Repair machinery is no longer self-operable.} +delete-after: true From 56e0fb47f51d781b45644bc2b5dbd6fcff293fc7 Mon Sep 17 00:00:00 2001 From: Burning02 <141873051+Burning02@users.noreply.github.com> Date: Sat, 18 Jan 2025 15:50:24 -0500 Subject: [PATCH 062/330] Adds one singular item to the Banshee that I forgot (#4029) ## About The Pull Request Adds a Sergeants armoured vest as an alternative to the Captains vest on the Banshee ## Why It's Good For The Game This singular addition gives the captain something else to wear, if they don't fancy the Captains coat they're given ## Changelog :cl: add: Adds a singular Sergeants vest to the Banshee Captains equipment /:cl: --- _maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm | 1 + 1 file changed, 1 insertion(+) diff --git a/_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm b/_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm index 64ef8e0fd1e9..c3bd56b5842c 100644 --- a/_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm +++ b/_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm @@ -1916,6 +1916,7 @@ /obj/item/storage/box/ammo/a357, /obj/item/megaphone, /obj/item/clothing/under/syndicate/hardliners/jumpsuit, +/obj/item/clothing/suit/armor/hardliners/sergeant, /obj/item/storage/guncase/pistol/a357, /obj/machinery/turretid/ship{ pixel_y = 24; From 2d12ae1f047a0c5a9b01cc7008f2bbb24e1de9b8 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 15:21:49 -0600 Subject: [PATCH 063/330] Automatic changelog generation for PR #4029 [ci skip] --- html/changelogs/AutoChangeLog-pr-4029.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4029.yml diff --git a/html/changelogs/AutoChangeLog-pr-4029.yml b/html/changelogs/AutoChangeLog-pr-4029.yml new file mode 100644 index 000000000000..5e0a147a3141 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4029.yml @@ -0,0 +1,4 @@ +author: Burning02 +changes: + - {rscadd: Adds a singular Sergeants vest to the Banshee Captains equipment} +delete-after: true From 620ae75e929f267727b184ce4b859ff40b96be87 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Sat, 18 Jan 2025 14:27:38 -0800 Subject: [PATCH 064/330] Firestorm Fixes (#4033) ## About The Pull Request Fixes a broken path on the firestorm pan magazine crate, fixes the ammo capacity of its pan magazine, and tweaks fire rate up ever so slightly. ## Why It's Good For The Game ## Changelog :cl: fix: fixed firestorm pan magazine capacity and crate /:cl: --- code/modules/cargo/packs/magazines.dm | 4 ++-- code/modules/projectiles/boxes_magazines/external/smg.dm | 4 ++-- .../projectiles/guns/manufacturer/hunter_pride/ballistics.dm | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/cargo/packs/magazines.dm b/code/modules/cargo/packs/magazines.dm index 219fce130049..9bbc06083fda 100644 --- a/code/modules/cargo/packs/magazines.dm +++ b/code/modules/cargo/packs/magazines.dm @@ -59,8 +59,8 @@ /datum/supply_pack/magazine/firestorm_mag name = "Firestorm Pan Magazine Crate" - desc = "Contains a 50-round pan magazine for the Hunter's Pride Firestorm SMG." - contains = list(/obj/item/ammo_box/magazine/c45_firestorm_mag/pan/empty) + desc = "Contains a 40-round pan magazine for the Hunter's Pride Firestorm SMG." + contains = list(/obj/item/ammo_box/magazine/c44_firestorm_mag/pan/empty) cost = 1000 faction = /datum/faction/srm diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm index 5eb7dac5f154..9947c0e53ca5 100644 --- a/code/modules/projectiles/boxes_magazines/external/smg.dm +++ b/code/modules/projectiles/boxes_magazines/external/smg.dm @@ -105,12 +105,12 @@ desc = "A bulky, 40-round pan magazine for the toploading Firestorm submachine gun. The rate of fire may be low, but this much ammo can mow through anything." icon_state = "firestorm_pan" base_icon_state = "firestorm_pan" - max_ammo = 50 + max_ammo = 40 w_class = WEIGHT_CLASS_NORMAL /obj/item/ammo_box/magazine/c44_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/c45_firestorm_mag/pan/empty +/obj/item/ammo_box/magazine/c44_firestorm_mag/pan/empty start_empty = TRUE diff --git a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm index 117f3f810bf0..c71564052a8c 100644 --- a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm @@ -269,7 +269,7 @@ NO_MAG_GUN_HELPER(automatic/pistol/candor/factory) unique_mag_sprites_for_variants = TRUE burst_size = 1 actions_types = list() - fire_delay = 0.3 SECONDS + fire_delay = 0.22 SECONDS bolt_type = BOLT_TYPE_OPEN rack_sound = 'sound/weapons/gun/smg/uzi_cocked.ogg' fire_sound = 'sound/weapons/gun/smg/firestorm.ogg' From 42eda6776d677e4539f6c6e48ca46b0a31b9f7bc Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 16:37:52 -0600 Subject: [PATCH 065/330] Automatic changelog generation for PR #4033 [ci skip] --- html/changelogs/AutoChangeLog-pr-4033.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4033.yml diff --git a/html/changelogs/AutoChangeLog-pr-4033.yml b/html/changelogs/AutoChangeLog-pr-4033.yml new file mode 100644 index 000000000000..cff88e50a61d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4033.yml @@ -0,0 +1,4 @@ +author: Apogee-dev +changes: + - {bugfix: fixed firestorm pan magazine capacity and crate} +delete-after: true From 64cbc9297f7774304db9bd57b2bd4ee359090e05 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Sat, 18 Jan 2025 17:28:10 -0500 Subject: [PATCH 066/330] Flare and floodlight tweaks (#3997) ## About The Pull Request This PR triples the lifetime of flares, and it increases their light range from 7 to 12. It also modifies the light range list for floodlights from (0, 5, 10, 15) to (0, 10, 15, 20). ![image](https://github.com/user-attachments/assets/a01f9581-d700-48d7-ae24-709d81dfb720) This shows how much area the flares light up with this change. https://github.com/user-attachments/assets/0208c6ff-b6d8-4ef8-95f0-4568bc875f4f This video shows how much area the floodlights will swath in light with this change. ## Why It's Good For The Game I believe that this change will help flares be used more often, as this will make them light up a greater area than they do right now, and it will also increase the length of time for which they will burn. This PR will also increase the effectiveness of floodlights. ## Changelog :cl: balance: increased flare lifetime and light range, and increased maximum floodlight light range /:cl: --- code/game/objects/items/devices/flashlight.dm | 4 ++-- code/modules/power/floodlight.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 9dd5d80d78bf..84d1d0ab08cf 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -262,11 +262,11 @@ name = "flare" 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. + light_range = 12 // Pretty bright. icon_state = "flare" item_state = "flare" actions_types = list() - var/fuel = 900 + var/fuel = 2700 var/on_damage = 7 var/produce_heat = 1500 heat = 1000 diff --git a/code/modules/power/floodlight.dm b/code/modules/power/floodlight.dm index 0fe0b51c6193..489135e84f8f 100644 --- a/code/modules/power/floodlight.dm +++ b/code/modules/power/floodlight.dm @@ -65,7 +65,7 @@ active_power_usage = ACTIVE_DRAW_MEDIUM anchored = FALSE light_power = 1.75 - var/list/light_setting_list = list(0, 5, 10, 15) + var/list/light_setting_list = list(0, 10, 15, 20) var/light_power_coefficient = 200 var/setting = FLOODLIGHT_OFF From bacdd8e6efdaf6b4d41f48724a6919a486fb21c4 Mon Sep 17 00:00:00 2001 From: Jedi-Toothpaste <53096233+Jedi-Toothpaste@users.noreply.github.com> Date: Sat, 18 Jan 2025 22:28:24 +0000 Subject: [PATCH 067/330] Price Rebalance & Cruft Removal (#3993) ## About The Pull Request Rampant price changes to many items in cargo! I have longingly stared at the cargo console for many hours wondering, "why don't more people cook on the ship?" or, "why don't we buy the party crate to celebrate?" before turning to the price and dying inside. It's salt in the wound when you can go down to the outpost bar and buy all the components for less than 500 credits. With these price reductions i'm hoping to see these things _actually_ be bought so crews can do more stupid roleplay stuff without having to do a whole class 1 drill for a janitorial cart. ### **NEW ADDITIONS**: **SPARE ID CRATE** - 100 Credits - There is currently no way to get more IDs, unless you go looting legion corpses, which isn't always something crews should have to do in the event of an accident. **SPARE JUMPSUIT CRATE** - 150 Credits - did you know before these changes, buying a replacement pair of clothes was, at cheapest, 1500 credits, or going to kill a legion (if you're a monster) **BULK EPIPEN CRATE** - 600 Credits - This was also something we didn't have? Again, the only solution was to go out and mass-murder legion, which isn't something medships will want to be doing. The price also low enough that the more militant ships may consider assigning them to their soldiers... **KITCHEN KNIFE CRATE** - 100 Credits - Well, you always need a knife for a kitchen, and it's cheaper than buying more metal. **COMBAT KNIVES CRATE** - 1000 Credits - A meaner knife for those looking to splurge, it's got three knives for your ravenous crew. ### **PRICE CHANGES** **ANIMAL SECTION** Monkey Crate 2000 -> 1500 Chicken Crate 2000 -> 500 Goat Crate 2500 -> 750 Cow Crate 3000 -> 500 Cat Crate 5000 -> 1000 Pug Crate 5000 -> 1000 Corgi Crate 5000 -> 1000 Exotic Corgi Crate 5000 -> 1000 Bird Crate 4000 -> 2000 (now can only spawn 1 parrot instead of 5) Fox Crate 5000 -> 1000 Butterfly Crate 5000 -> 500 (can now only spawn up to 3 butterflies instead of up to 50) Snake Crate 5000 -> 1000 (can only spawn 1 snake instead of 3) **CIVILIAN SECTION** Janitorial Supplies Crate 1000 -> 100 (now only spawns 1 bucket and no cleaner grenades) Janitor Backpack Crate 1000 -> 750 Janicart Crate 2000 -> 400 Calligraphy Crate 700 -> 250 Wrapping Paper Crate 1000 -> 100 Bureaucracy Crate 1000 -> 250 Forensics Crate 2000 -> 500 Party Equipment 2500 -> 500 Big Band Instruments 5000 -> 2500 Potted Plants Crate 700 -> 350 Carpet Crate 1000 -> 350 Exotic Carpet Crate 3000 -> 750 (reduced the amount of carpet you get) Noslip Tiles 2000 -> 1000 (doubled the amount of tiles you get too) Jukebox 35000 -> 1500 (why was this so expensive) Art Supplies 1000 -> 750 (is now an easel set with canvases) **Toys & Costumes** Training Toolbox Crate 1000 -> 100 Foam Force Crate 1000 -> 100 (reduced the amount of shotguns from 8 to 2) Foam Force Pistols Crate 1000 -> 400 Laser Tag Crate 1500 -> 500 Toy Crate 2000 -> 250 Original Costume Crate 1000 -> 500 Exosuit Pilot's Crate 1500 -> 500 Formalwear Crate 3000 -> 1000 Justice Enforcer Crate 6000 -> 2000 Collectable Hats 20000 -> 250 Rilena Merch 1000 -> 500 **EMERGENCY SECTION** Phorid Suit Kit 1000 -> 500 (halved the amount of suits in the crate, so halved the price) Firefighting Kit 2000 -> 500 (halved the amount of suits in the crate) **FOOD** Basic Ingredients Crate 300 -> 350 (added enzyme and more milk, so slightly higher price) Condiments Crate 250 -> 100 (removed enzyme and added mayonnaise) Vegetables Crate 250 -> 100 Fruit Crate 250 -> 100 Sugar Crate 500 -> 150 Ethanol Crate 750 -> 500 Weed Control Crate 750 -> 200 Seeds Crate 750 -> 150 **MACHINERY** Lightbulbs Crate 1000 -> 500 (could go cheaper for just glass basically) Power Cell Crate 1000 -> 1500 (as expensive as fuel, or t2 parts) Portable Pump 1500 -> 750 Portable Scrubber 1500 -> 750 Huge Scrubber 5000 -> 2000 **SEC SUPPLY** Survival Knives 500 -> 350 **SPACESUITS & ARMOUR** Space Suit Crate now contains two EVA spacesuits and not the ugly old-sprites. **TOOLS** > Mining Crate 1000 -> 250 (1000 for things you can print at a lathe? In this economy!) > Plasmacutter Crate 2500 -> 2000 Plasmacutter Crate remains at 2500 Mining Crate 1000 -> 500 (with an N+S Discount) **MATERIAL** Plasteel Sheets 2500 -> 2000 (it should honestly be cheaper but I will wait until OM5) Plasma Sheets 2000 -> 1500 Uranium Sheets 2000 -> 1500 Titanium Sheets 3000 -> 1500 Gold Sheets 4000 -> 2000 Silver Sheets 4000 -> 2000 1 Diamond 3500 -> 2500 Plastic Sheets 1000 -> 500 Cardboard Sheets 1000 -> 250 Wooden Planks 1500 -> 500 **CANISTERS** Oxygen Canister 1000 -> 750 Final points: a few things have been removed, such as the mafia crate, this has finally killed the italian moustache from cargo. Some descriptions were also changed, such as the MuleBot's to be less... 'TG'. Please let me know if you know of any other weird descriptions which don't really fit in. Also all mentions of Plasmaman in cargo have been renamed to Phorid. Price of the 5 cells has been increased to 1500 because a full recharge of your ship should cost as much as a stack of plasma or uranium. On that subject, the price of plasma and uranium are now as expensive as a box of t2 parts, so captains aren't forced to buy better parts roundstart. ## Why It's Good For The Game More roleplay oppurtunities for ships which may not get as many credits (i.e. SUNS, SOLCON, MEDSHIPS). Removes TG Cruft. A full janitorial set is now 500 credits. ## Changelog :cl: balance: Many price reductions have occured, happy shopping. del: Removed the mafia crate change: Changed descriptions on a few cargo orders /:cl: --------- Signed-off-by: Jedi-Toothpaste <53096233+Jedi-Toothpaste@users.noreply.github.com> Co-authored-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> --- code/modules/cargo/packs/animal.dm | 45 +++++------- code/modules/cargo/packs/canister.dm | 2 +- code/modules/cargo/packs/civilian.dm | 89 ++++++++++++----------- code/modules/cargo/packs/costumes_toys.dm | 55 +++++--------- code/modules/cargo/packs/emergency.dm | 25 +++---- code/modules/cargo/packs/food.dm | 40 ++++++---- code/modules/cargo/packs/machinery.dm | 12 +-- code/modules/cargo/packs/material.dm | 20 ++--- code/modules/cargo/packs/medical.dm | 8 ++ code/modules/cargo/packs/sec_supply.dm | 13 +++- code/modules/cargo/packs/spacesuits.dm | 13 ++-- code/modules/cargo/packs/tools.dm | 6 +- 12 files changed, 162 insertions(+), 166 deletions(-) diff --git a/code/modules/cargo/packs/animal.dm b/code/modules/cargo/packs/animal.dm index 50a9d607b285..6e3bab3984b3 100644 --- a/code/modules/cargo/packs/animal.dm +++ b/code/modules/cargo/packs/animal.dm @@ -9,29 +9,29 @@ /datum/supply_pack/animal/monkey name = "Monkey Cube Crate" desc = "Stop monkeying around! Contains seven monkey cubes. Just add water!" - cost = 2000 + cost = 1500 contains = list (/obj/item/storage/box/monkeycubes) crate_name = "monkey cube crate" crate_type = /obj/structure/closet/crate /datum/supply_pack/animal/chick name = "Chicken Crate" - desc = "The chicken goes bwaak!" - cost = 2000 + desc = "A crate containing a chicken." + cost = 500 contains = list(/mob/living/simple_animal/chick) crate_name = "chicken crate" /datum/supply_pack/animal/goat name = "Goat Crate" - desc = "The goat goes baa! Warranty void if used as a replacement for Pete." - cost = 2500 + desc = "A crate containing a goat." + cost = 750 contains = list(/mob/living/simple_animal/hostile/retaliate/goat) crate_name = "goat crate" /datum/supply_pack/animal/cow name = "Cow Crate" - desc = "The cow goes moo!" - cost = 3000 + desc = "A crate containing a cow." + cost = 500 contains = list(/mob/living/simple_animal/cow) crate_name = "cow crate" @@ -42,7 +42,7 @@ /datum/supply_pack/animal/cat name = "Cat Crate" desc = "The cat goes meow! Comes with a collar and a nice cat toy! Cheeseburger not included."//i can't believe im making this reference - cost = 5000 //Cats are worth as much as corgis. + cost = 1000 //Cats are worth as much as corgis. contains = list(/mob/living/simple_animal/pet/cat, /obj/item/clothing/neck/petcollar, /obj/item/toy/cattoy) @@ -58,7 +58,7 @@ /datum/supply_pack/animal/pug name = "Pug Crate" desc = "Like a normal dog, but... squished. Comes with a nice collar!" - cost = 5000 + cost = 1000 contains = list(/mob/living/simple_animal/pet/dog/pug, /obj/item/clothing/neck/petcollar) crate_name = "pug crate" @@ -66,7 +66,7 @@ /datum/supply_pack/animal/corgi name = "Corgi Crate" desc = "Considered the optimal dog breed by thousands of research scientists, this Corgi is but one dog from the millions of Ian's noble bloodline. Comes with a cute collar!" - cost = 5000 + cost = 1000 contains = list(/mob/living/simple_animal/pet/dog/corgi, /obj/item/clothing/neck/petcollar) crate_name = "corgi crate" @@ -82,7 +82,7 @@ /datum/supply_pack/animal/corgis/exotic name = "Exotic Corgi Crate" desc = "Corgis fit for a king, these corgis come in a unique color to signify their superiority. Comes with a cute collar!" - cost = 5500 + cost = 1500 contains = list(/mob/living/simple_animal/pet/dog/corgi/exoticcorgi, /obj/item/clothing/neck/petcollar) crate_name = "exotic corgi crate" @@ -93,20 +93,15 @@ /datum/supply_pack/animal/parrot name = "Bird Crate" - desc = "Contains five expert telecommunication birds." - cost = 4000 + desc = "Contains an expert telecommunication bird." + cost = 2000 contains = list(/mob/living/simple_animal/parrot) crate_name = "parrot crate" -/datum/supply_pack/animal/parrot/generate() - . = ..() - for(var/i in 1 to 4) - new /mob/living/simple_animal/parrot(.) - /datum/supply_pack/animal/fox name = "Fox Crate" desc = "The fox goes...? Comes with a collar!"//what does the fox say // awful //yip - cost = 5000 + cost = 1000 contains = list(/mob/living/simple_animal/pet/fox, /obj/item/clothing/neck/petcollar) crate_name = "fox crate" @@ -114,22 +109,20 @@ /datum/supply_pack/animal/butterfly name = "Butterflies Crate" desc = "Not a very dangerous insect, but they do give off a better image than, say, flies or cockroaches."//is that a motherfucking worm reference - cost = 5000 + cost = 500 contains = list(/mob/living/simple_animal/butterfly) crate_name = "entomology samples crate" /datum/supply_pack/animal/butterfly/generate() . = ..() - for(var/i in 1 to 49) + for(var/i in 1 to 3) new /mob/living/simple_animal/butterfly(.) /datum/supply_pack/animal/snake name = "Snake Crate" - desc = "Tired of these MOTHER FUCKING snakes on this MOTHER FUCKING spaceplane? Then this isn't the crate for you. Contains three poisonous snakes." - cost = 5000 - contains = list(/mob/living/simple_animal/hostile/retaliate/poison/snake, - /mob/living/simple_animal/hostile/retaliate/poison/snake, - /mob/living/simple_animal/hostile/retaliate/poison/snake) + desc = "Contains a poisonous snake. N+S Logistics are not responsible for any venomous injuries you may sustain." + cost = 1000 + contains = list(/mob/living/simple_animal/hostile/retaliate/poison/snake) crate_name = "snake crate" /* diff --git a/code/modules/cargo/packs/canister.dm b/code/modules/cargo/packs/canister.dm index 00fed0ff679f..95b3f80d0b11 100644 --- a/code/modules/cargo/packs/canister.dm +++ b/code/modules/cargo/packs/canister.dm @@ -16,7 +16,7 @@ /datum/supply_pack/canister/oxygen name = "Oxygen Canister" desc = "Contains a canister of oxygen. Great for refilling oxygen tanks." - cost = 1000 + cost = 750 contains = list(/obj/machinery/portable_atmospherics/canister/oxygen) crate_name = "oxygen canister crate" diff --git a/code/modules/cargo/packs/civilian.dm b/code/modules/cargo/packs/civilian.dm index 9e0e8c7af6f7..c6f95ac50def 100644 --- a/code/modules/cargo/packs/civilian.dm +++ b/code/modules/cargo/packs/civilian.dm @@ -7,11 +7,9 @@ /datum/supply_pack/civilian/janitor name = "Janitorial Supplies Crate" - desc = "Fight back against dirt and grime with these janitorial essentials. Contains three buckets, caution signs, and cleaner grenades. Also has a single mop, broom, spray cleaner, rag, and trash bag." - cost = 1000 + desc = "Fight back against dirt and grime with these janitorial essentials. Contains a mop, pushbroom, a few wet-floor signs, a trash bag, and a cloth and spray." + cost = 100 contains = list(/obj/item/reagent_containers/glass/bucket, - /obj/item/reagent_containers/glass/bucket, - /obj/item/reagent_containers/glass/bucket, /obj/item/mop, /obj/item/pushbroom, /obj/item/clothing/suit/caution, @@ -19,23 +17,20 @@ /obj/item/clothing/suit/caution, /obj/item/storage/bag/trash, /obj/item/reagent_containers/spray/cleaner, - /obj/item/reagent_containers/glass/rag, - /obj/item/grenade/chem_grenade/cleaner, - /obj/item/grenade/chem_grenade/cleaner, - /obj/item/grenade/chem_grenade/cleaner) + /obj/item/reagent_containers/glass/rag) crate_name = "janitorial supplies crate" /datum/supply_pack/civilian/janitank name = "Janitor Backpack Crate" desc = "Call forth divine judgement upon dirt and grime with this high capacity janitor backpack. Contains 500 units of filth-cleansing space cleaner." - cost = 1000 + cost = 750 contains = list(/obj/item/watertank/janitor) crate_name = "janitor backpack crate" /datum/supply_pack/civilian/janicart name = "Janitorial Cart and Galoshes Crate" desc = "The keystone to any successful janitor. As long as you have feet, this pair of galoshes will keep them firmly planted on the ground. Also contains a janitorial cart." - cost = 2000 + cost = 400 contains = list(/obj/structure/janitorialcart, /obj/item/clothing/shoes/galoshes) crate_name = "janitorial cart crate" @@ -74,7 +69,7 @@ /datum/supply_pack/civilian/fountainpens name = "Calligraphy Crate" desc = "Sign death warrants in style with these seven executive fountain pens." - cost = 700 + cost = 250 contains = list(/obj/item/storage/box/fountainpens) crate_name = "calligraphy crate" crate_type = /obj/structure/closet/crate/wooden @@ -83,7 +78,7 @@ /datum/supply_pack/civilian/wrapping_paper name = "Festive Wrapping Paper Crate" 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 + cost = 100 contains = list(/obj/item/stack/wrapping_paper) crate_name = "festive wrapping paper crate" crate_type = /obj/structure/closet/crate/wooden @@ -91,7 +86,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 - cost = 1000 + cost = 250 contains = list(/obj/structure/filingcabinet/chestdrawer/wheeled, /obj/item/camera_film, /obj/item/hand_labeler, @@ -118,7 +113,7 @@ /datum/supply_pack/civilian/forensics name = "Forensics Crate" desc = "Stay hot on the criminal's heels with Nanotrasen's Detective Essentials(tm). Contains a forensics scanner, six evidence bags, camera, tape recorder, white crayon, and of course, a fedora." - cost = 2000 + cost = 500 contains = list(/obj/item/detective_scanner, /obj/item/storage/box/evidence, /obj/item/camera, @@ -130,7 +125,7 @@ /datum/supply_pack/civilian/party name = "Party Equipment" desc = "Celebrate both life and death on the frontier with Nanotrasen's Party Essentials(tm)! Contains seven colored glowsticks, six beers, six sodas, two ales, and a bottle of patron, goldschlager, and shaker!" - cost = 2500 + cost = 500 contains = list(/obj/item/storage/box/drinkingglasses, /obj/item/reagent_containers/food/drinks/shaker, /obj/item/reagent_containers/food/drinks/bottle/patron, @@ -151,7 +146,7 @@ /datum/supply_pack/civilian/bigband name = "Big Band Instrument Collection" desc = "Get your demoralized crew movin' and groovin' with this fine collection! Contains nine different instruments!" - cost = 5000 + cost = 2500 contains = list(/obj/item/instrument/violin, /obj/item/instrument/guitar, /obj/item/instrument/glockenspiel, @@ -171,7 +166,7 @@ /datum/supply_pack/civilian/potted_plants name = "Potted Plants Crate" desc = "Spruce up the ship with these lovely plants! Contains a random assortment of five potted plants from Nanotrasen's potted plant research division. Warranty void if thrown." - cost = 700 + cost = 350 contains = list(/obj/item/kirbyplants/random, /obj/item/kirbyplants/random, /obj/item/kirbyplants/random, @@ -181,62 +176,72 @@ /datum/supply_pack/civilian/artsupply name = "Art Supplies" - desc = "Make some happy little accidents with a rapid cable layer, three spraycans, and lots of crayons!" - cost = 1000 - contains = list(/obj/item/rcl, - /obj/item/storage/toolbox/artistic, - /obj/item/toy/crayon/spraycan, - /obj/item/toy/crayon/spraycan, - /obj/item/toy/crayon/spraycan, + desc = "Make some happy little accidents with an easel, and unlimited imagination! Imagination not included." //removed the rcl, shiptest doesn't have the space for wireart (literally) + cost = 750 + contains = list(/obj/structure/easel, + /obj/item/canvas, + /obj/item/canvas, + /obj/item/canvas/twentythreeXtwentythree, + /obj/item/canvas/twentythreeXtwentythree, + /obj/item/canvas/nineteenXnineteen, + /obj/item/canvas/nineteenXnineteen, + /obj/item/canvas/twentythreeXnineteen, + /obj/item/canvas/twentythreeXnineteen, /obj/item/storage/crayons, - /obj/item/toy/crayon/white, - /obj/item/toy/crayon/rainbow) + /obj/item/toy/crayon/spraycan,) crate_name = "art supply crate" crate_type = /obj/structure/closet/crate/wooden /datum/supply_pack/civilian/carpet name = "Standard Carpet Crate" desc = "Plasteel floor tiles getting on your nerves? These stacks of extra soft carpet will tie any room together." - cost = 1000 + cost = 350 contains = list(/obj/item/stack/tile/carpet/fifty, - /obj/item/stack/tile/carpet/fifty, - /obj/item/stack/tile/carpet/black/fifty, /obj/item/stack/tile/carpet/black/fifty) crate_name = "premium carpet crate" /datum/supply_pack/civilian/carpet_exotic name = "Exotic Carpet Crate" - desc = "Exotic carpets for all your decorating needs. Contains 100 tiles each of 8 different flooring patterns." - cost = 3000 + desc = "Exotic carpets for all your decorating needs. Contains 50 tiles each of 8 different flooring patterns." + cost = 750 contains = list(/obj/item/stack/tile/carpet/blue/fifty, - /obj/item/stack/tile/carpet/blue/fifty, - /obj/item/stack/tile/carpet/cyan/fifty, /obj/item/stack/tile/carpet/cyan/fifty, /obj/item/stack/tile/carpet/green/fifty, - /obj/item/stack/tile/carpet/green/fifty, /obj/item/stack/tile/carpet/orange/fifty, - /obj/item/stack/tile/carpet/orange/fifty, - /obj/item/stack/tile/carpet/purple/fifty, /obj/item/stack/tile/carpet/purple/fifty, /obj/item/stack/tile/carpet/red/fifty, - /obj/item/stack/tile/carpet/red/fifty, - /obj/item/stack/tile/carpet/royalblue/fifty, /obj/item/stack/tile/carpet/royalblue/fifty, - /obj/item/stack/tile/carpet/royalblack/fifty, /obj/item/stack/tile/carpet/royalblack/fifty) crate_name = "exotic carpet crate" /datum/supply_pack/civilian/noslipfloor name = "High-traction Floor Tiles" desc = "Make slipping a thing of the past with thirty industrial-grade anti-slip floortiles!" - cost = 2000 - contains = list(/obj/item/stack/tile/noslip/thirty) + cost = 1000 + contains = list(/obj/item/stack/tile/noslip/thirty, + /obj/item/stack/tile/noslip/thirty) crate_name = "high-traction floor tiles crate" /datum/supply_pack/civilian/jukebox name = "Jukebox" desc = "Things a bit dull in the workplace? How about jamming out to some tunes!" - cost = 35000 + cost = 1500 contains = list(/obj/machinery/jukebox) crate_name = "Jukebox" +/datum/supply_pack/civilian/id_crate + name = "Box of Spare IDs" + desc = "A box of spare IDs for replacing a lost ID." + cost = 100 + contains = list(/obj/item/storage/box/ids) + +/datum/supply_pack/civilian/spare_clothes + name = "Spare Jumpsuits Crate" + desc = "Contains a spare set of utility jumpsuits and shoes for those unfortunate accidents." //how did we not have this before + cost = 150 + contains = list(/obj/item/clothing/under/utility, + /obj/item/clothing/under/utility/skirt, + /obj/item/clothing/shoes/sneakers/black, + /obj/item/clothing/shoes/sneakers/black) + crate_name = "spare jumpsuits crate" + crate_type = /obj/structure/closet/crate/wooden diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index 03d8cffd0368..f6d288839ad4 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -8,7 +8,7 @@ /datum/supply_pack/costumes_toys/training_toolbox name = "Training Toolbox Crate" desc = "Hone your combat abiltities with two AURUMILL-Brand Training Toolboxes! Guarenteed to count hits made against living beings!" - cost = 1000 + cost = 100 contains = list(/obj/item/training_toolbox, /obj/item/training_toolbox ) @@ -16,32 +16,26 @@ /datum/supply_pack/costumes_toys/foamforce name = "Foam Force Crate" - desc = "Break out the big guns with eight Foam Force shotguns!" - cost = 1000 + desc = "Break out the big guns with two Foam Force shotguns!" + cost = 200 contains = list(/obj/item/gun/ballistic/shotgun/toy, - /obj/item/gun/ballistic/shotgun/toy, - /obj/item/gun/ballistic/shotgun/toy, - /obj/item/gun/ballistic/shotgun/toy, - /obj/item/gun/ballistic/shotgun/toy, - /obj/item/gun/ballistic/shotgun/toy, - /obj/item/gun/ballistic/shotgun/toy, /obj/item/gun/ballistic/shotgun/toy) - crate_name = "foam force crate" + crate_name = "foam force shotgun crate" /datum/supply_pack/costumes_toys/foamforce/bonus name = "Foam Force Pistols Crate" - desc = "Psst.. hey bud... remember those old foam force pistols that got discontinued for being too cool? Well I got two of those right here with your name on em. I'll even throw in a spare mag for each, waddya say?" - cost = 1000 + desc = "No longer discontinued! Enjoy the fun Gezenan Family Tradition no matter where you are! Includes two automatic Foam Force Pistols with magazines." + cost = 400 contains = list(/obj/item/gun/ballistic/automatic/toy/pistol, /obj/item/gun/ballistic/automatic/toy/pistol, /obj/item/ammo_box/magazine/toy/pistol, /obj/item/ammo_box/magazine/toy/pistol) - crate_name = "foam force crate" + crate_name = "foam force pistol crate" /datum/supply_pack/costumes_toys/lasertag name = "Laser Tag Crate" - desc = "Foam Force is for boys. Laser Tag is for men. Contains three sets of red suits, blue suits, matching helmets, and matching laser tag guns." - cost = 1500 + desc = "Are you tired of Foam Force? Looking for a real thrill? The new NT-Lasertag System is sure to Rock Your Socks, no cleanup required, just plain fun. The NT Way: includes enough equipment for a 3v3 laser-tag shootout." + cost = 100 contains = list(/obj/item/gun/energy/laser/redtag, /obj/item/gun/energy/laser/redtag, /obj/item/gun/energy/laser/redtag, @@ -64,8 +58,8 @@ /datum/supply_pack/costumes_toys/arcade_toys name = "Toy Crate" - desc = "Who cares about pride and accomplishment? Skip the gaming and get straight to the sweet rewards with this product! Contains five random toys. Warranty void if used to prank research directors." - cost = 2000 // or play the arcade machines ya lazy bum + desc = "A bulk assortment of five toys for filling up crane machines." + cost = 250 // or play the arcade machines ya lazy bum contains = list() crate_name = "toy crate" @@ -85,7 +79,7 @@ /datum/supply_pack/costumes_toys/costume_original name = "Original Costume Crate" desc = "Reenact Solarian plays with this assortment of outfits. Contains eight different costumes!" - cost = 1000 + cost = 500 contains = list(/obj/item/clothing/head/snowman, /obj/item/clothing/suit/snowman, /obj/item/clothing/mask/gas/monkeymask, @@ -95,25 +89,10 @@ crate_name = "original costume crate" crate_type = /obj/structure/closet/crate/wooden -/datum/supply_pack/costumes_toys/mafia - name = "Cosa Nostra Starter Pack" - desc = "This crate contains everything you need to set up your own ethnicity-based racketeering operation." - cost = 1000 - contains = list() - -/datum/supply_pack/costumes_toys/mafia/fill(obj/structure/closet/crate/C) - for(var/i in 1 to 4) - 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/melee/knife/switchblade(C) - /datum/supply_pack/costumes_toys/mech_suits 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 + cost = 500 //state-of-the-art technology does 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) @@ -123,7 +102,7 @@ /datum/supply_pack/costumes_toys/formalwear name = "Formalwear Crate" desc = "You're gonna like the way you look, I guaranteed it. Contains an asston of fancy clothing." - cost = 3000 //Lots of very expensive items. You gotta pay up to look good! + cost = 1000 //Lots of very expensive items. You gotta pay up to look good! contains = list(/obj/item/clothing/under/dress/blacktango, /obj/item/clothing/under/misc/assistantformal, /obj/item/clothing/under/misc/assistantformal, @@ -157,7 +136,7 @@ /datum/supply_pack/costumes_toys/justiceinbound name = "Standard Justice Enforcer Crate" 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. + cost = 2000 //justice comes at a price. An expensive, noisy price. contains = list(/obj/item/clothing/head/helmet/justice, /obj/item/clothing/mask/gas) crate_name = "security clothing crate" @@ -165,7 +144,7 @@ /datum/supply_pack/costumes_toys/collectable_hats name = "Collectable Hats Crate" desc = "Flaunt your status with three unique, highly-collectable hats!" - cost = 20000 + cost = 250 contains = list(/obj/item/clothing/head/collectable/chef, /obj/item/clothing/head/collectable/tophat, /obj/item/clothing/head/collectable/captain, @@ -191,7 +170,7 @@ /datum/supply_pack/costumes_toys/rilena_merch name = "RILENA Merchandise Crate" desc = "A crate full of all the RILENA merch you could ever want. Except the offbrand stuff. That's not in here." - cost = 1000 //lots of loot + cost = 500 //lots of loot contains = list(/obj/item/toy/figure/tali, /obj/item/toy/plush/rilena, /obj/item/toy/plush/tali, diff --git a/code/modules/cargo/packs/emergency.dm b/code/modules/cargo/packs/emergency.dm index 41401dbce477..913e467768bb 100644 --- a/code/modules/cargo/packs/emergency.dm +++ b/code/modules/cargo/packs/emergency.dm @@ -21,24 +21,21 @@ crate_name = "internals crate" /datum/supply_pack/emergency/plasmaman_tank - 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." + name = "Phorid Internals Crate" + desc = "Contains two Phorid 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" + crate_name = "phorid internals crate" /datum/supply_pack/emergency/plasmaman_suit - name = "Plasmaman Suit Kit" - desc = "Keep the Plasmaman in your life comfy with two sets of Plasmaman envirosuits. Each set contains a plasmaman jumpsuit and helmet; refills sold separately." - cost = 1000 + name = "Phorid Suit Kit" + desc = "Keep the Phorid in your life comfy with a Phorid envirosuit. Refills sold seperately." + cost = 500 //halves the price, halves the equipment. It's unlikely you need to equip more than 1 phorid at a time anyway contains = list(/obj/item/clothing/under/plasmaman, - /obj/item/clothing/under/plasmaman, /obj/item/clothing/head/helmet/space/plasmaman, - /obj/item/clothing/head/helmet/space/plasmaman, - /obj/item/clothing/gloves/color/plasmaman, /obj/item/clothing/gloves/color/plasmaman) - crate_name = "plasmaman supply kit" + crate_name = "phorid supply kit" /* Niche protection @@ -54,15 +51,11 @@ /datum/supply_pack/emergency/firefighting name = "Firefighting Crate" - desc = "Only you can prevent plasma fires. Partner up with two firefighter suits, gas masks, extinguishers, and hardhats!" - cost = 2000 + desc = "Only you can prevent plasma fires. Contains a single set of firefighter's equipment." + cost = 500 contains = list(/obj/item/clothing/suit/fire/firefighter, - /obj/item/clothing/suit/fire/firefighter, - /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/item/extinguisher, - /obj/item/extinguisher, - /obj/item/clothing/head/hardhat/red, /obj/item/clothing/head/hardhat/red) crate_name = "firefighting crate" crate_type = /obj/structure/closet/crate/secure diff --git a/code/modules/cargo/packs/food.dm b/code/modules/cargo/packs/food.dm index 1661e4a6637d..c872028e5e6c 100644 --- a/code/modules/cargo/packs/food.dm +++ b/code/modules/cargo/packs/food.dm @@ -62,33 +62,33 @@ /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 = 300 + desc = "Get things cooking with this crate full of useful ingredients! Contains a dozen eggs, some enzyme, two slabs of meat, some flour, some rice, a few bottles of milk, a bottle of soymilk, and a bag of sugar." + cost = 350 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/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 - ) + /obj/item/reagent_containers/food/snacks/meat/slab, + /obj/item/reagent_containers/condiment/enzyme) crate_name = "food crate" crate_type = /obj/structure/closet/crate/freezer /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, + cost = 100 + contains = list(/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 - ) + /obj/item/reagent_containers/condiment/mayonnaise, + /obj/item/reagent_containers/condiment/bbqsauce) crate_name = "condiments crate" crate_type = /obj/structure/closet/crate/freezer @@ -131,7 +131,7 @@ /datum/supply_pack/food/ingredients_randomized/vegetables name = "Vegetables Crate" desc = "Grown in the finest hydroponic vats." - cost = 250 + cost = 100 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, @@ -147,7 +147,7 @@ /datum/supply_pack/food/ingredients_randomized/fruits name = "Fruit Crate" desc = "Rich of vitamins, may contain oranges." - cost = 250 + cost = 100 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, @@ -162,7 +162,7 @@ /datum/supply_pack/food/ingredients_randomized/grains name = "Grains Crate" desc = "A crate full of various grains. How interesting." - cost = 250 + cost = 100 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 @@ -192,7 +192,7 @@ /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 + cost = 150 contains = list(/obj/item/reagent_containers/condiment/sugar, /obj/item/reagent_containers/condiment/sugar, /obj/item/reagent_containers/condiment/sugar @@ -252,7 +252,7 @@ /datum/supply_pack/food/ethanol name = "Ethanol Crate" desc = "Five small bottles of ethanol for the aspiring botanist or amateur chemist." - cost = 750 + cost = 500 contains = list(/obj/item/reagent_containers/glass/bottle/ethanol, /obj/item/reagent_containers/glass/bottle/ethanol, /obj/item/reagent_containers/glass/bottle/ethanol, @@ -265,7 +265,7 @@ /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 = 750 + cost = 200 contains = list(/obj/item/scythe, /obj/item/clothing/mask/gas, /obj/item/grenade/chem_grenade/antiweed, @@ -276,7 +276,7 @@ /datum/supply_pack/food/seeds name = "Seeds Crate" desc = "Big things have small beginnings. Contains fourteen different seeds." - cost = 750 + cost = 150 contains = list(/obj/item/seeds/chili, /obj/item/seeds/cotton, /obj/item/seeds/berry, @@ -341,3 +341,11 @@ /obj/item/melee/flyswatter) crate_name = "beekeeping starter crate" crate_type = /obj/structure/closet/crate/hydroponics + +/datum/supply_pack/food/kitchen_knife + name = "Kitchen Knife Crate" + desc = "Need a new knife to cut something hard? Try out this stamped steel knife, straight from The New Gorlex Republic's factories." + cost = 100 + contains = list(/obj/item/melee/knife/kitchen) + crate_name = "kitchen knife crate" + crate_type = /obj/structure/closet/crate/wooden diff --git a/code/modules/cargo/packs/machinery.dm b/code/modules/cargo/packs/machinery.dm index e5d78e863f17..ea425a0b3e57 100644 --- a/code/modules/cargo/packs/machinery.dm +++ b/code/modules/cargo/packs/machinery.dm @@ -9,7 +9,7 @@ /datum/supply_pack/machinery/lightbulbs name = "Replacement Lights" desc = "May the light of Aether shine upon this sector! Or at least, the light of forty two light tubes and twenty one light bulbs." - cost = 1000 + cost = 500 contains = list(/obj/item/storage/box/lights/mixed, /obj/item/storage/box/lights/mixed, /obj/item/storage/box/lights/mixed) @@ -43,7 +43,7 @@ /datum/supply_pack/machinery/power name = "Power Cell Crate" desc = "Looking for power overwhelming? Look no further. Contains five high-voltage power cells." - cost = 1000 + cost = 1500 //it should be a bit more expensive for a full ship recharge contains = list(/obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, @@ -73,21 +73,21 @@ /datum/supply_pack/machinery/portapump name = "Portable Air Pump Crate" desc = "Want to drain a room of air without losing a drop? We've got you covered. Contains a portable air pump." - cost = 1500 + cost = 750 contains = list(/obj/machinery/portable_atmospherics/pump) crate_name = "portable air pump crate" /datum/supply_pack/machinery/portascrubber name = "Portable Scrubber Crate" desc = "Clean up that pesky plasma leak with your very own portable scrubber." - cost = 1500 + cost = 750 contains = list(/obj/machinery/portable_atmospherics/scrubber) crate_name = "portable scrubber crate" /datum/supply_pack/machinery/hugescrubber name = "Huge Portable Scrubber Crate" desc = "A huge portable scrubber for huge atmospherics mistakes." - cost = 5000 + cost = 2000 contains = list(/obj/machinery/portable_atmospherics/scrubber/huge/movable/cargo) crate_name = "huge portable scrubber crate" crate_type = /obj/structure/closet/crate/large @@ -98,7 +98,7 @@ /datum/supply_pack/machinery/mule name = "MULEbot Crate" - desc = "Pink-haired Quartermaster not doing her job? Replace her with this tireless worker, today!" + desc = "A dilligent MULEbot from the N+S Factories, happy to carry everything you could possibly need, if it's a crate that is." //this description screamed TG. It has been changed. cost = 2000 contains = list(/mob/living/simple_animal/bot/mulebot) crate_name = "\improper MULEbot Crate" diff --git a/code/modules/cargo/packs/material.dm b/code/modules/cargo/packs/material.dm index 356856535b77..a109c5682260 100644 --- a/code/modules/cargo/packs/material.dm +++ b/code/modules/cargo/packs/material.dm @@ -24,7 +24,7 @@ /datum/supply_pack/material/plasteel20 name = "20 Plasteel Sheets" desc = "Reinforce and repair structural integrity with twenty plasteel sheets!" - cost = 2500 + cost = 2000 contains = list(/obj/item/stack/sheet/plasteel/twenty) crate_name = "plasteel sheets crate" @@ -35,7 +35,7 @@ /datum/supply_pack/material/plasma20 name = "20 Plasma Sheets" desc = "Twenty sheets of solidifed plasma. Keep away from open flame." - cost = 2000 + cost = 1500 //the savvy scrapper will buy plasma and metal seperately for a gain contains = list(/obj/item/stack/sheet/mineral/plasma/twenty) crate_name = "plasma sheets crate" crate_type = /obj/structure/closet/crate/secure/plasma @@ -43,7 +43,7 @@ /datum/supply_pack/material/uranium20 name = "20 Uranium Sheets" desc = "Twenty sheets of mildly radioactive uranium. Lead gloves for safe handling not included." - cost = 2000 + cost = 1500 contains = list(/obj/item/stack/sheet/mineral/uranium/twenty) crate_name = "uranium sheets crate" crate_type = /obj/structure/closet/crate/radiation @@ -55,28 +55,28 @@ /datum/supply_pack/material/titanium20 name = "20 Titanium Sheets" desc = "Twenty sheets of durable titanium. Great for heavy machinery." - cost = 3000 + cost = 1500 contains = list(/obj/item/stack/sheet/mineral/titanium/twenty) crate_name = "titanium sheets crate" /datum/supply_pack/material/gold20 name = "20 Gold Sheets" desc = "Twenty sheets of gold. There was a time when this would've been more expensive." - cost = 4000 + cost = 2000 contains = list(/obj/item/stack/sheet/mineral/gold/twenty) crate_name = "gold sheets crate" /datum/supply_pack/material/silver20 name = "20 Silver Sheets" desc = "Twenty sheets of silver. How quaint." - cost = 3000 + cost = 2000 contains = list(/obj/item/stack/sheet/mineral/silver/twenty) crate_name = "silver sheets crate" /datum/supply_pack/material/diamond name = "1 Diamond" desc = "Impress your girl with this one!" - cost = 3500 + cost = 2500 contains = list(/obj/item/stack/sheet/mineral/diamond) crate_name = "diamond sheet crate" @@ -94,21 +94,21 @@ /datum/supply_pack/material/plastic50 name = "50 Plastic Sheets" desc = "Build a limitless amount of toys with fifty plastic sheets!" - cost = 1000 + cost = 500 contains = list(/obj/item/stack/sheet/plastic/fifty) crate_name = "plastic sheets crate" /datum/supply_pack/material/cardboard50 name = "50 Cardboard Sheets" desc = "Arm and armor a cardborg army." - cost = 1000 + cost = 250 contains = list(/obj/item/stack/sheet/cardboard/fifty) crate_name = "cardboard sheets crate" /datum/supply_pack/material/wood50 name = "50 Wood Planks" desc = "Turn cargo's boring metal groundwork into beautiful panelled flooring and much more with fifty wooden planks!" - cost = 1500 + cost = 500 contains = list(/obj/item/stack/sheet/mineral/wood/fifty) crate_name = "wood planks crate" diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index 4d63d5c9cb67..a3e7adc239fa 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -170,3 +170,11 @@ contains = list(/obj/machinery/iv_drip/saline) crate_name = "saline glucose crate" crate_type = /obj/structure/closet/crate/large + +/datum/supply_pack/medical/epipen_crate + name = "Bulk Epipen Crate" + desc = "Contains a spare box of epinephrine medipens, for when the going gets tough." + cost = 600 + contains = list(/obj/item/storage/box/medipens) + crate_name = "epinephrine medipen crate" + diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index 4fb147dec663..661906bdb35e 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -64,11 +64,11 @@ /datum/supply_pack/sec_supply/survknives name = "Survival Knives Crate" desc = "Contains three sharpened survival knives. Each knife guaranteed to fit snugly inside any galactic-standard boot." - cost = 500 + cost = 350 contains = list(/obj/item/melee/knife/survival, /obj/item/melee/knife/survival, /obj/item/melee/knife/survival) - crate_name = "combat knife crate" + crate_name = "survival knife crate" /datum/supply_pack/sec_supply/machete name = "Stampted Steel Machete Crate" @@ -76,6 +76,15 @@ cost = 500 contains = list(/obj/item/melee/sword/mass, /obj/item/melee/sword/mass) + crate_name = "machete crate" + +/datum/supply_pack/sec_supply/combatknives + name = "Combat Knives Crate" + desc = "Contains three high quality combat knives. For the sharper, and meaner, crew." + cost = 1000 + contains = list(/obj/item/melee/knife/combat, + /obj/item/melee/knife/combat, + /obj/item/melee/knife/combat) crate_name = "combat knife crate" /datum/supply_pack/sec_supply/flamethrower diff --git a/code/modules/cargo/packs/spacesuits.dm b/code/modules/cargo/packs/spacesuits.dm index 6c02599c7ee2..b5580f587d69 100644 --- a/code/modules/cargo/packs/spacesuits.dm +++ b/code/modules/cargo/packs/spacesuits.dm @@ -6,13 +6,14 @@ Spacesuits (two parts, helm and suit) */ -/datum/supply_pack/spacesuits/spacesuit +/datum/supply_pack/spacesuit_armor/spacesuit name = "Space Suit Crate" - desc = "Contains one basic space suit. Although the technology is centuries old, it should protect you from the vacuum of space." - cost = 500 - contains = list(/obj/item/clothing/suit/space, - /obj/item/clothing/head/helmet/space) - crate_name = "space suit crate" + desc = "Contains two basic space suits. Although the technology is centuries old, it should protect you from the vacuum of space." + cost = 500 //changed the suit type to be the one without pockets, making it more consistent with the rest of the EVA suits available + contains = list(/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) /datum/supply_pack/spacesuits/pilot_spacesuit name = "Pilot Space Suit Crate" diff --git a/code/modules/cargo/packs/tools.dm b/code/modules/cargo/packs/tools.dm index 857477bcf922..4f89804880c4 100644 --- a/code/modules/cargo/packs/tools.dm +++ b/code/modules/cargo/packs/tools.dm @@ -62,16 +62,16 @@ /datum/supply_pack/tools/mining name = "Basic Mining Crate" desc = "Contains two pickaxes, two ore bags, and two manual mining scanners." - cost = 1000 + cost = 500 //cheaper to send your legions to war (mining) (also you can just print all this asides the scanners so what's the point anyway) contains = list( /obj/item/pickaxe, /obj/item/pickaxe/mini, /obj/item/storage/bag/ore, /obj/item/storage/bag/ore, /obj/item/mining_scanner, - /obj/item/mining_scanner - ) + /obj/item/mining_scanner) crate_name = "basic mining crate" + faction = /datum/faction/nt/ns_logi /datum/supply_pack/tools/jackhammer name = "Jackhammer Crate" From 2fd59e90e0213ca9f0722e5d35b575fba04750ad Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 16:50:52 -0600 Subject: [PATCH 068/330] Automatic changelog generation for PR #3993 [ci skip] --- html/changelogs/AutoChangeLog-pr-3993.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3993.yml diff --git a/html/changelogs/AutoChangeLog-pr-3993.yml b/html/changelogs/AutoChangeLog-pr-3993.yml new file mode 100644 index 000000000000..d459b9f90283 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3993.yml @@ -0,0 +1,5 @@ +author: Jedi-Toothpaste +changes: + - {balance: 'Many price reductions have occured, happy shopping.'} + - {rscdel: Removed the mafia crate} +delete-after: true From deba020c4f3837f821de76e929c823b2a26e33dd Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sat, 18 Jan 2025 17:30:01 -0500 Subject: [PATCH 069/330] Legion Core Toxins (#3949) ## About The Pull Request I was wrong about the cloneloss. It blows. Legion cores now do toxin damage instead. ## Changelog :cl: balance: Legion cores now do toxin damage instead of cloneloss. /:cl: --- .../reagents/chemistry/reagents/medicine_reagents.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index d8656cb47c99..0da4b838d56e 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1922,7 +1922,7 @@ color = "#302f20" metabolization_rate = REAGENTS_METABOLISM * 0.8 overdose_threshold = 50 - var/clone_dam = 0.1 + var/tox_dam = 0.25 /datum/reagent/medicine/soulus/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1) if(iscarbon(M) && M.stat != DEAD) @@ -1941,7 +1941,7 @@ /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.adjustToxLoss(tox_dam*REM, 0) ..() /datum/reagent/medicine/soulus/overdose_process(mob/living/M) @@ -1962,7 +1962,7 @@ color = "#302f20" metabolization_rate = REAGENTS_METABOLISM overdose_threshold = 100 - clone_dam = 0 + tox_dam = 0 /datum/reagent/medicine/puce_essence // P U C E name = "Pucetylline Essence" From 315e609bfdd4173be6a14b0b0ec4705ea247cf86 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 17:02:27 -0600 Subject: [PATCH 070/330] Automatic changelog generation for PR #3949 [ci skip] --- html/changelogs/AutoChangeLog-pr-3949.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3949.yml diff --git a/html/changelogs/AutoChangeLog-pr-3949.yml b/html/changelogs/AutoChangeLog-pr-3949.yml new file mode 100644 index 000000000000..b73a692262e2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3949.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {balance: Legion cores now do toxin damage instead of cloneloss.} +delete-after: true From 6b3e9d0534d2491e0eaafc83b6ec588fe83f09c2 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 19 Jan 2025 01:06:05 +0000 Subject: [PATCH 071/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3589.yml | 11 --------- html/changelogs/AutoChangeLog-pr-3761.yml | 4 --- html/changelogs/AutoChangeLog-pr-3949.yml | 4 --- html/changelogs/AutoChangeLog-pr-3972.yml | 5 ---- html/changelogs/AutoChangeLog-pr-3987.yml | 4 --- html/changelogs/AutoChangeLog-pr-3989.yml | 5 ---- html/changelogs/AutoChangeLog-pr-3992.yml | 4 --- html/changelogs/AutoChangeLog-pr-3993.yml | 5 ---- html/changelogs/AutoChangeLog-pr-4021.yml | 4 --- html/changelogs/AutoChangeLog-pr-4027.yml | 4 --- html/changelogs/AutoChangeLog-pr-4029.yml | 4 --- html/changelogs/AutoChangeLog-pr-4033.yml | 4 --- html/changelogs/archive/2025-01.yml | 30 +++++++++++++++++++++++ 13 files changed, 30 insertions(+), 58 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3589.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3761.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3949.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3972.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3987.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3989.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3992.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3993.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4021.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4027.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4029.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4033.yml diff --git a/html/changelogs/AutoChangeLog-pr-3589.yml b/html/changelogs/AutoChangeLog-pr-3589.yml deleted file mode 100644 index ae4197315f16..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3589.yml +++ /dev/null @@ -1,11 +0,0 @@ -author: TDHooligan -changes: - - {rscadd: "Robotic body parts now have integrity, 1 'integrity loss' represents - 1 HP of damage that cannot be healed/repaired."} - - {rscadd: New 'Replace Structure' surgery that allows a roboticist to restore limb - integrity.} - - {rscadd: New 'Structure Repair Kit' craft that restores limb integrity.} - - {balance: 'Robotic limbs start wearing out after multiple repairs, limiting their - repair potential.'} - - {balance: Repair machinery is no longer self-operable.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3761.yml b/html/changelogs/AutoChangeLog-pr-3761.yml deleted file mode 100644 index 0688441fb819..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3761.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Burning02 -changes: - - {rscadd: Adds the Banshee-class Salvage Clipper as a playable Hardliner vessel} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3949.yml b/html/changelogs/AutoChangeLog-pr-3949.yml deleted file mode 100644 index b73a692262e2..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3949.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {balance: Legion cores now do toxin damage instead of cloneloss.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3972.yml b/html/changelogs/AutoChangeLog-pr-3972.yml deleted file mode 100644 index e0b8eaade3b8..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3972.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: firebudgy -changes: - - {rscadd: N+S has deployed a new batch of Shaft Miners to Harrier-class vessels.} - - {rscdel: Janitors have been reassigned from the Harrier for retraining.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3987.yml b/html/changelogs/AutoChangeLog-pr-3987.yml deleted file mode 100644 index c05785c805e2..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3987.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Apogee-dev -changes: - - {balance: SRM's Firestorm SMG is now chambered in .44 Roumain.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3989.yml b/html/changelogs/AutoChangeLog-pr-3989.yml deleted file mode 100644 index 1c5b90d8dd59..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3989.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: firebudgy -changes: - - {rscadd: 'SKM Extended Magazine, Bulldog Drum Magazine, Boomslang 10rnd Magazine - and Firestorm Pan Magazine to factional cargo.'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3992.yml b/html/changelogs/AutoChangeLog-pr-3992.yml deleted file mode 100644 index 238acec91541..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3992.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Apogee-dev -changes: - - {rscadd: Added M20 Auto Elite and PO-20 Pinscher heavy pistols.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3993.yml b/html/changelogs/AutoChangeLog-pr-3993.yml deleted file mode 100644 index d459b9f90283..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3993.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Jedi-Toothpaste -changes: - - {balance: 'Many price reductions have occured, happy shopping.'} - - {rscdel: Removed the mafia crate} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4021.yml b/html/changelogs/AutoChangeLog-pr-4021.yml deleted file mode 100644 index 8c5edcc33ee7..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4021.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Ratvarr -changes: - - {bugfix: 'The grill no longer grills your ears out. Rejoice, grillmasters.'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4027.yml b/html/changelogs/AutoChangeLog-pr-4027.yml deleted file mode 100644 index b57be73ed092..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4027.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {balance: Cargo Incendiary Grenades have been removed and replaced with Frag Grenades.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4029.yml b/html/changelogs/AutoChangeLog-pr-4029.yml deleted file mode 100644 index 5e0a147a3141..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4029.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Burning02 -changes: - - {rscadd: Adds a singular Sergeants vest to the Banshee Captains equipment} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4033.yml b/html/changelogs/AutoChangeLog-pr-4033.yml deleted file mode 100644 index cff88e50a61d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4033.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Apogee-dev -changes: - - {bugfix: fixed firestorm pan magazine capacity and crate} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index f92e9909176c..905111cda91e 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -127,3 +127,33 @@ zimon9: - code_imp: modifies the access requirements to the wrecker's equipment room aboard the Derecho so that the Foreman can access it +2025-01-19: + Apogee-dev: + - bugfix: fixed firestorm pan magazine capacity and crate + - rscadd: Added M20 Auto Elite and PO-20 Pinscher heavy pistols. + - balance: SRM's Firestorm SMG is now chambered in .44 Roumain. + Burning02: + - rscadd: Adds the Banshee-class Salvage Clipper as a playable Hardliner vessel + - rscadd: Adds a singular Sergeants vest to the Banshee Captains equipment + Erikafox: + - balance: Legion cores now do toxin damage instead of cloneloss. + Jedi-Toothpaste: + - balance: Many price reductions have occured, happy shopping. + - rscdel: Removed the mafia crate + Ratvarr: + - bugfix: The grill no longer grills your ears out. Rejoice, grillmasters. + TDHooligan: + - rscadd: Robotic body parts now have integrity, 1 'integrity loss' represents 1 + HP of damage that cannot be healed/repaired. + - rscadd: New 'Replace Structure' surgery that allows a roboticist to restore limb + integrity. + - rscadd: New 'Structure Repair Kit' craft that restores limb integrity. + - balance: Robotic limbs start wearing out after multiple repairs, limiting their + repair potential. + - balance: Repair machinery is no longer self-operable. + firebudgy: + - balance: Cargo Incendiary Grenades have been removed and replaced with Frag Grenades. + - rscadd: SKM Extended Magazine, Bulldog Drum Magazine, Boomslang 10rnd Magazine + and Firestorm Pan Magazine to factional cargo. + - rscadd: N+S has deployed a new batch of Shaft Miners to Harrier-class vessels. + - rscdel: Janitors have been reassigned from the Harrier for retraining. From 1d2353f5009cc1f344c2a5fefd6889d49318bc31 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Sat, 18 Jan 2025 22:43:41 -0600 Subject: [PATCH 072/330] Craftable Bottles and Blackmarket Distiller (#4016) ## About The Pull Request Adds glass bottles and their small version to the autolathe for the same price as beakers. Adds the fermenting barrel to the black market. Reduces the price of beekeeping crates by half. ## Why It's Good For The Game I need good containers for my dubious brews. Fermenting barrel is there to make moonshine since you Need It for Some Reason Decreased the price of beekeeping since its Pretty High (i want mead) ## Changelog :cl: add: Glass bottles of the large and small variety added to the autolathe add: Distiller added to the black market balance: Beekeeping crates pricing reduced /:cl: --------- Co-authored-by: github-actions --- code/modules/cargo/packs/food.dm | 4 ++-- .../research/designs/autolathe_designs.dm | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/code/modules/cargo/packs/food.dm b/code/modules/cargo/packs/food.dm index c872028e5e6c..a2021e576d6f 100644 --- a/code/modules/cargo/packs/food.dm +++ b/code/modules/cargo/packs/food.dm @@ -319,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 = 1000 + cost = 500 contains = list(/obj/item/clothing/head/beekeeper_head, /obj/item/clothing/suit/beekeeper_suit, /obj/item/clothing/head/beekeeper_head, @@ -330,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 = 2000 + cost = 1000 contains = list(/obj/structure/beebox/unwrenched, /obj/item/honey_frame, /obj/item/honey_frame, diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 5ac2370dc694..919a16d27cc3 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -457,6 +457,22 @@ build_path = /obj/item/reagent_containers/food/drinks/modglass/large category = list("initial", "Dinnerware") +/datum/design/glassbottle + name = "Glass Bottle" + id = "glass_bottle" + build_type = AUTOLATHE + materials = list(/datum/material/glass=2500) + build_path = /obj/item/reagent_containers/food/drinks/bottle + category = list("initial", "Dinnerware") + +/datum/design/glassbottle_small + name = "Small Glass Bottle" + id = "glass_bottle_small" + build_type = AUTOLATHE + materials = list(/datum/material/glass=500) + build_path = /obj/item/reagent_containers/food/drinks/bottle/small + category = list("initial", "Dinnerware") + /datum/design/shaker name = "Shaker" id = "shaker" From 75c5c2ba12bdb027e17bff08536762912c841def Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 23:04:23 -0600 Subject: [PATCH 073/330] Automatic changelog generation for PR #4016 [ci skip] --- html/changelogs/AutoChangeLog-pr-4016.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4016.yml diff --git a/html/changelogs/AutoChangeLog-pr-4016.yml b/html/changelogs/AutoChangeLog-pr-4016.yml new file mode 100644 index 000000000000..60f3bd339ac6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4016.yml @@ -0,0 +1,6 @@ +author: generalthrax +changes: + - {rscadd: Glass bottles of the large and small variety added to the autolathe} + - {rscadd: Distiller added to the black market} + - {balance: Beekeeping crates pricing reduced} +delete-after: true From 9103f98a1994ca6aa8e01aa208800604bee80334 Mon Sep 17 00:00:00 2001 From: Theos Date: Sun, 19 Jan 2025 00:05:49 -0500 Subject: [PATCH 074/330] fix #4007 (#4009) ## About The Pull Request Indestructible now means more indestructible silicons can no longer touch outpost airlocks. at all. silicons can no longer open doors that have had their AI control disabled outpost doors now have AI control disabled and are more indestructibler doors on the indie space outpost in the ert area are now actually outpost doors ## Why It's Good For The Game fix #4007 ## Changelog :cl: fix: more difficult to get into the ert rooms at outposts and to break stuff that shouldn't be /:cl: --------- Signed-off-by: Theos Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- _maps/outpost/indie_space.dmm | 13028 +++++++++---------- code/game/machinery/doors/airlock.dm | 7 + code/game/machinery/doors/airlock_types.dm | 10 +- code/game/objects/obj_defense.dm | 4 + code/game/objects/structures/grille.dm | 4 + code/game/objects/structures/window.dm | 4 + 6 files changed, 6538 insertions(+), 6519 deletions(-) diff --git a/_maps/outpost/indie_space.dmm b/_maps/outpost/indie_space.dmm index 897d24333cb1..dfcb6d1d37f5 100644 --- a/_maps/outpost/indie_space.dmm +++ b/_maps/outpost/indie_space.dmm @@ -1,20 +1,21 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ab" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 9 +"aa" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/mob/living/simple_animal/hostile/cockroach, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) -"ad" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"ae" = ( +/obj/structure/sink/kitchen{ + dir = 1; + name = "big sink" }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +/obj/structure/mirror{ + pixel_y = -25 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) "ag" = ( /obj/machinery/door/firedoor/border_only{ @@ -43,20 +44,32 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/cargo/office) -"ai" = ( -/obj/item/kirbyplants/random, +"ah" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/firealarm/directional/north, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"al" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, /turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) -"aq" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/west, -/obj/item/clothing/under/shorts/cookjorts{ - pixel_y = 12; - pixel_x = 9 +"ap" = ( +/obj/structure/railing/thin{ + dir = 8 }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/maintenance/central) +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "ar" = ( /obj/machinery/camera/autoname{ dir = 8 @@ -77,22 +90,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) -"au" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"aw" = ( -/obj/machinery/camera/autoname{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 8 +"av" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, +/obj/machinery/firealarm/directional/south, /obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, -/area/outpost/storage) +/area/outpost/vacant_rooms) +"ay" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/starboard) "aB" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -103,6 +112,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"aC" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/security) +"aD" = ( +/obj/structure/railing/thin{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) "aE" = ( /obj/machinery/light/small/directional/east, /obj/structure/cable/yellow{ @@ -115,78 +140,55 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"aF" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/corner_steel_grid/full, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "aI" = ( /turf/closed/indestructible/reinforced, /area/outpost/crew/library) -"aM" = ( -/obj/machinery/cryopod, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/grid, +"aJ" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, /area/outpost/crew/cryo) -"aP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +"aN" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"aO" = ( +/obj/item/kirbyplants{ + icon_state = "plant-22" }, -/obj/effect/turf_decal/siding/thinplating/dark{ +/obj/effect/turf_decal/corner/opaque/neutral/half{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/warning{ +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"aT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"aQ" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"aR" = ( +"aY" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) -"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/manifold/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"aU" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) -"aX" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/storage) "aZ" = ( /obj/structure/chair{ dir = 8 @@ -198,87 +200,38 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "bb" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"bc" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -14 - }, -/obj/structure/mirror{ - pixel_x = -25 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/button/door{ - pixel_y = -21; - dir = 1; - pixel_x = 9; - name = "door lock"; - id = "b1"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/turf/open/floor/plasteel/mono, -/area/outpost/hallway/central) -"be" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/dim/directional/west, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"bh" = ( -/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/grimy, +/area/outpost/maintenance/starboard) +"bg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) -"bi" = ( -/obj/structure/falsewall/reinforced, -/turf/open/floor/plating, -/area/outpost/vacant_rooms) +"bk" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/maintenance/central) "bn" = ( /obj/structure/closet/crate/trashcart, /obj/structure/spider/stickyweb, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"bq" = ( -/obj/structure/urinal{ - dir = 8; - pixel_x = 18 - }, -/obj/effect/turf_decal/steeldecal/steel_decals6{ - dir = 6 - }, -/turf/open/floor/plasteel/mono, -/area/outpost/hallway/central) "br" = ( -/obj/machinery/newscaster/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/tile/carpet{ + pixel_y = 3; + pixel_x = -8 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 +/obj/item/cigbutt/roach{ + pixel_y = 4; + pixel_x = 9 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "bs" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -295,29 +248,10 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/central) -"bt" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"bv" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/syringe/contraband/morphine{ - pixel_y = 6; - pixel_x = -3 - }, -/obj/item/reagent_containers/pill/floorpill{ - pixel_x = 4; - pixel_y = 3 - }, -/turf/open/floor/carpet, -/area/outpost/maintenance/starboard) -"bz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +"bz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/structure/sign/poster/random{ @@ -332,17 +266,54 @@ }, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) +"bB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "bC" = ( /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/central) -"bI" = ( -/obj/effect/turf_decal/siding/wood{ +"bD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"bF" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) +"bG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"bH" = ( +/obj/effect/spawner/random/vending/snack, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/crew/library) "bJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -353,28 +324,29 @@ /obj/effect/spawner/random/salvage/metal, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/central) -"bL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) "bN" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/plasteel/grimy, +/obj/structure/chair/sofa/brown/old/left/directional/east, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/carpet, /area/outpost/maintenance/starboard) "bP" = ( -/obj/structure/chair/stool/bar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) "bS" = ( /obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/turf_decal/corner_techfloor_grid{ @@ -388,149 +360,113 @@ /obj/structure/foamedmetal, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"bW" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/outpost/security) "bY" = ( /obj/item/kirbyplants{ icon_state = "plant-19" }, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) -"ca" = ( -/obj/structure/crate_shelf, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel/mono{ - dir = 1 - }, -/area/outpost/cargo) -"cc" = ( -/obj/machinery/mineral/processing_unit{ - output_dir = 4; - input_dir = 2 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/platform/ship_two/corner, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"cg" = ( -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 +"ce" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/crew/cryo) +"ch" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/corner/opaque/black/border{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) +/turf/open/floor/plasteel/grimy, +/area/outpost/security) "ci" = ( /obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"cl" = ( +"cj" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, /obj/effect/turf_decal/corner/opaque/black{ - dir = 4 + dir = 8 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 +/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"cm" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/corner/opaque/neutral/half, -/turf/open/floor/plasteel/dark, -/area/outpost/storage) +/area/outpost/security) +"cn" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "cq" = ( /turf/closed/indestructible/reinforced, /area/outpost/maintenance/central) -"cr" = ( -/obj/effect/turf_decal/industrial/loading, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"cs" = ( -/obj/structure/crate_shelf, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/mono{ - dir = 1 - }, -/area/outpost/cargo) -"cu" = ( -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 8 +"ct" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"cA" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating/asteroid, +/turf/open/floor/plating, /area/outpost/maintenance/starboard) -"cB" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ +"cx" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on/layer2{ dir = 8 }, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/effect/turf_decal/corner/opaque/white{ +/turf/open/floor/engine/air, +/area/outpost/engineering/atmospherics) +"cy" = ( +/obj/structure/disposalpipe/junction{ dir = 4 }, -/obj/structure/sign/directions/supply{ - dir = 1; - pixel_y = 0; - pixel_x = 28 - }, -/obj/structure/sign/directions/security{ - pixel_y = -6; - pixel_x = 28; - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"cG" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/closet/crate/trashcart, -/turf/open/floor/plasteel/patterned, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) +"cF" = ( +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"cH" = ( +/obj/structure/falsewall/reinforced, +/turf/closed/indestructible/reinforced/rust, +/area/outpost/vacant_rooms/office) "cI" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"cK" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 9 +"cJ" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 8 }, -/turf/open/floor/plasteel/mono{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/security) +"cM" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/area/outpost/cargo) -"cL" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/corner_steel_grid{ - dir = 5 + dir = 10 }, /turf/open/floor/plasteel/dark, /area/outpost/hallway/central) +"cN" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "cO" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt/dust, @@ -563,32 +499,14 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"cV" = ( -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ +"dc" = ( +/obj/effect/turf_decal/borderfloor{ dir = 8 }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"cX" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 10 +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/security) -"dc" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/starboard) -"de" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) +/area/outpost/cargo) "dg" = ( /obj/structure/railing{ dir = 4 @@ -601,30 +519,12 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"di" = ( -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"dj" = ( -/obj/structure/disposalpipe/junction{ - dir = 4 - }, +"dk" = ( +/obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) +/mob/living/simple_animal/mouse, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "dl" = ( /obj/effect/spawner/random/trash/decal, /obj/effect/turf_decal/steeldecal/steel_decals7{ @@ -646,6 +546,18 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) +"dp" = ( +/obj/machinery/computer/cryopod/directional/north, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/security) +"dq" = ( +/obj/structure/flora/rock, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) "dr" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -660,16 +572,96 @@ /obj/item/storage/bag/trash, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"du" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/holosign/barrier/infinite{ + max_integrity = 500 + }, +/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/dark, +/area/outpost/hallway/port) "dw" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/outpost/crew/bar) -"dD" = ( -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ +"dy" = ( +/obj/effect/turf_decal/corner/opaque/black{ dir = 1 }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/outpost/crew/janitor) +/area/outpost/hallway/central) +"dz" = ( +/obj/machinery/disposal/deliveryChute{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/disposalpipe/trunk, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/hallway/central) +"dC" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/wood_two/corner{ + dir = 8 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 5; + pixel_x = -7 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"dE" = ( +/obj/structure/chair/bench/beige/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) +"dI" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, +/area/outpost/security) +"dJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/reinforced, +/obj/machinery/computer/electrolyzer_console{ + pixel_y = -5; + density = 0; + dir = 8; + pixel_x = -2 + }, +/obj/structure/railing/thin{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "dK" = ( /obj/item/trash/can/food/beans{ pixel_x = -16; @@ -691,21 +683,6 @@ }, /turf/open/floor/plating/asteroid, /area/outpost/maintenance/central) -"dL" = ( -/obj/structure/closet/secure_closet/armory3, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"dM" = ( -/obj/effect/turf_decal/siding/thinplating/dark/end{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) "dN" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -713,14 +690,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"dO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/reinforced, -/obj/structure/railing/thin{ - dir = 6 - }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) "dP" = ( /obj/structure/chair, /obj/item/radio/intercom/directional/north, @@ -741,17 +710,10 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "dS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/light/dim/directional/west, /obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" + icon_state = "1-2" }, /turf/open/floor/plating, /area/outpost/hallway/central) @@ -761,46 +723,12 @@ }, /turf/closed/indestructible/reinforced, /area/outpost/maintenance/fore) -"dW" = ( -/obj/machinery/firealarm/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"dZ" = ( -/obj/structure/platform/ship_two{ - dir = 1 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ +"ec" = ( +/obj/effect/turf_decal/siding/wood{ dir = 6 }, -/obj/effect/turf_decal/industrial/caution{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"ed" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/syringe/contraband/morphine{ - pixel_y = 3; - pixel_x = 3 - }, -/obj/item/reagent_containers/pill/floorpill{ - pixel_x = -4; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/flashlight/lamp/green{ - pixel_x = 8; - pixel_y = -10 - }, -/turf/open/floor/carpet, -/area/outpost/maintenance/starboard) +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) "ee" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -811,35 +739,49 @@ icon_state = "wood-broken4" }, /area/outpost/crew/bar) +"ef" = ( +/obj/structure/rack, +/obj/machinery/light/dim/directional/west, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/storage) "eg" = ( -/obj/effect/turf_decal/siding/thinplating/dark/end, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"ei" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/effect/turf_decal/corner_steel_grid/full{ +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, /area/outpost/hallway/central) -"em" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/external) -"eq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +"ek" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/obj/structure/sign/poster/random{ - pixel_x = 28 - }, +/obj/machinery/light/dim/directional/east, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, +/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/corner/opaque/white, /turf/open/floor/plasteel, -/area/outpost/hallway/port) +/area/outpost/hallway/central) +"em" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/external) +"en" = ( +/obj/structure/rack, +/obj/effect/spawner/random/clothing/bowler_or_that, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/storage) "et" = ( /obj/machinery/photocopier{ pixel_x = 3; @@ -848,21 +790,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"ev" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +"eu" = ( +/obj/machinery/camera/autoname, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"ex" = ( -/obj/item/reagent_containers/syringe{ - pixel_y = 7; - pixel_x = 4 - }, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/turf/open/floor/plasteel/dark, +/area/outpost/security) "ey" = ( /obj/machinery/door/firedoor/closed, /obj/structure/barricade/wooden/crude, @@ -879,43 +813,77 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, /area/outpost/hallway/port) -"eD" = ( -/obj/structure/cable/yellow{ - icon_state = "6-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 5 +"ez" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/fore) -"eE" = ( -/obj/effect/mob_spawn/human/corpse/charredskeleton{ - name = "Marv"; - mob_name = "Marv" +/obj/item/kirbyplants{ + icon_state = "plant-21"; + name = "oxygen reclaimation system" }, -/obj/item/stack/cable_coil/cut/yellow, -/obj/effect/decal/cleanable/ash/large, -/turf/open/floor/plating/asteroid, -/area/outpost/external) -"eG" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) +"eA" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock{ + name = "Recycling" }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) +"eB" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor, /turf/open/floor/plasteel/mono{ dir = 1 }, /area/outpost/cargo) -"eQ" = ( +"eC" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Restroom Stall"; + id_tag = "b2" + }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) +"eD" = ( /obj/structure/cable/yellow{ - icon_state = "1-8" + icon_state = "6-8" }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"eK" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"eM" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "eU" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -923,22 +891,53 @@ /obj/effect/turf_decal/corner_techfloor_grid/diagonal, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) +"eV" = ( +/obj/machinery/door/firedoor/heavy, +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/turf/open/floor/plating, +/area/outpost/vacant_rooms/office) "eX" = ( -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plating/asteroid, -/area/outpost/maintenance/starboard) -"eY" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/asteroid, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/turf/open/floor/plating, /area/outpost/maintenance/starboard) -"fd" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 8 +"fa" = ( +/obj/structure/reagent_dispensers/beerkeg, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/crew/bar) +"fb" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"fc" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/crew/janitor) +/area/outpost/hallway/central) +"fe" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/dim/directional/east, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "fh" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -958,27 +957,22 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/machinery/door/airlock/security/brig{ - req_access = list("101"); +/obj/machinery/door/airlock/outpost{ + icon = 'icons/obj/doors/airlocks/station/security.dmi'; + name = "brig"; + overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; dir = 4 }, /turf/open/floor/plasteel/tech, /area/outpost/security) -"fi" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction/flip{ - dir = 1 +"fj" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"fj" = ( -/turf/closed/indestructible/reinforced/rust, /area/outpost/hallway/central) "fk" = ( /obj/structure/cable/yellow{ @@ -1000,16 +994,56 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) +"fl" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/security) +"fp" = ( +/obj/effect/landmark/outpost/elevator_machine{ + shaft = "1" + }, +/obj/machinery/elevator_call_button{ + dir = 4; + pixel_y = 0; + pixel_x = -22 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "fq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/foamedmetal, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"fs" = ( -/obj/structure/chair/bench/beige/directional/south, -/obj/machinery/light/dim/directional/north, +"fr" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/ert_outpost_spawn, /turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) +/area/outpost/security) +"ft" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/cargo) +"fu" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) "fw" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1023,201 +1057,141 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"fE" = ( -/obj/structure/closet/secure_closet/freezer/gulag_fridge, -/obj/item/reagent_containers/pill/floorpill, -/obj/item/reagent_containers/pill/floorpill, -/obj/item/reagent_containers/pill/floorpill, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) -"fG" = ( -/obj/structure/disposalpipe/segment{ +"fA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"fB" = ( +/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/opaque/lightgrey{ +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"fC" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/techfloor{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"fI" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, +/area/outpost/crew/cryo) +"fJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/structure/table, -/obj/item/reagent_containers/glass/rag{ - pixel_y = 12; - pixel_x = -5 - }, -/obj/item/reagent_containers/glass/rag{ - pixel_y = 6; - pixel_x = 4 - }, -/obj/structure/cable/yellow, -/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, -/area/outpost/medical) +/area/outpost/vacant_rooms) "fK" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood{ icon_state = "wood-broken6" }, /area/outpost/crew/bar) -"fM" = ( -/obj/structure/disposalpipe/segment{ - dir = 1 +"fL" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"fM" = ( +/obj/structure/barricade/wooden/crude, +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"fP" = ( +/obj/structure/sign/poster/random{ + pixel_x = 28 }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"fN" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +/turf/open/floor/wood{ + icon_state = "wood-broken4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central6, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"fP" = ( -/obj/structure/sign/poster/random{ - pixel_x = 28 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken4" - }, -/area/outpost/crew/bar) -"fR" = ( -/obj/structure/railing, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 5 +/area/outpost/crew/bar) +"fR" = ( +/obj/structure/railing, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 5 }, /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "fS" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken4" - }, -/area/outpost/maintenance/starboard) -"fT" = ( -/obj/item/stack/tile/carpet{ - pixel_x = -7; - pixel_y = -3 - }, -/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor5" - }, -/mob/living/simple_animal/mouse/white, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"fY" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/dim/directional/east, -/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating/rust, -/area/outpost/hallway/central) -"fZ" = ( -/obj/structure/chair, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) -"ga" = ( -/obj/structure/closet/crate/trashcart/laundry, -/turf/open/floor/plasteel/patterned, -/area/outpost/maintenance/central) +/area/outpost/maintenance/fore) +"fU" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/crew/bar) "gc" = ( -/obj/structure/railing/wood{ - dir = 9 +/obj/structure/platform/wood_two{ + dir = 4 }, -/turf/open/floor/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, /area/outpost/maintenance/starboard) -"gf" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +"gj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"gg" = ( -/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ - icon_state = "0-8" + icon_state = "2-4" }, -/obj/effect/turf_decal/steeldecal/steel_decals_central6, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 8 +/turf/open/floor/plating, +/area/outpost/hallway/central) +"gm" = ( +/obj/structure/chair/sofa/brown/old/directional/east, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) +"gn" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ +/obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/security) -"gn" = ( -/turf/closed/indestructible/reinforced/rust, -/area/outpost/cargo/office) -"go" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark, /obj/effect/turf_decal/corner/opaque/white{ dir = 1 }, /turf/open/floor/plasteel, /area/outpost/hallway/port) +"gp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "gq" = ( /turf/closed/indestructible/reinforced, /area/outpost/crew/janitor) -"gt" = ( -/obj/structure/rack, -/obj/item/skub, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters, -/turf/open/floor/plasteel/dark, -/area/outpost/vacant_rooms) -"gu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/sign/directions/medical{ - pixel_x = 28; - dir = 2; - pixel_y = -10 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plating/rust, -/area/outpost/hallway/central) -"gz" = ( -/obj/effect/decal/cleanable/crayon{ - icon_state = "danger" - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) "gA" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -1229,63 +1203,49 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) -"gC" = ( -/obj/effect/decal/cleanable/crayon{ - icon_state = "!"; - pixel_x = 9 - }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "arrow"; - pixel_y = -19; - pixel_x = 2 - }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "arrow"; - pixel_y = -25; - pixel_x = -7 - }, -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/crayon{ - icon_state = "arrow"; - pixel_y = 11; - pixel_x = -14 - }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "arrow"; - pixel_y = -19; - pixel_x = 2 - }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "f"; - pixel_y = 0; - pixel_x = -19 - }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "n" +"gB" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "u"; - pixel_y = -5; - pixel_x = -10 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "gE" = ( /obj/item/radio/intercom/directional/east, /obj/structure/table/wood, /turf/open/floor/wood, /area/outpost/crew/bar) -"gO" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "outpost1" +"gI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/turf/open/floor/plasteel/patterned/grid, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned, /area/outpost/cargo) +"gL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"gN" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "gP" = ( /obj/structure/filingcabinet/double, /turf/open/floor/plasteel/dark, @@ -1298,20 +1258,14 @@ /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"gT" = ( -/obj/structure/platform/ship_two{ - dir = 1 +"gY" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"gU" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) -"gZ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) "hb" = ( /obj/effect/turf_decal/industrial/caution, /obj/structure/cable/yellow{ @@ -1323,19 +1277,16 @@ /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "hd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/dim/directional/east, -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plating, -/area/outpost/hallway/central) +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) "hf" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/outpost/maintenance/starboard) "hg" = ( @@ -1352,37 +1303,101 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"hj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +"hh" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "hk" = ( /obj/structure/frame, /turf/open/floor/plating, /area/outpost/maintenance/fore) "ho" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"hq" = ( -/turf/open/floor/plating/asteroid, -/area/outpost/external) -"hs" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/junction/yjunction{ dir = 8 }, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/central) -"hw" = ( -/obj/item/reagent_containers/syringe{ - pixel_y = -2; - pixel_x = 4 +/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/corner_steel_grid{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"hp" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/outpost/cargo) +"hq" = ( +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"hr" = ( +/obj/machinery/mineral/processing_unit{ + output_dir = 4; + input_dir = 2 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/platform/ship_two/corner, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) +"ht" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"hu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"hv" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"hx" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"hy" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/confetti, /turf/open/floor/plating, /area/outpost/maintenance/starboard) "hz" = ( @@ -1392,52 +1407,42 @@ /obj/structure/grille/indestructable, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"hA" = ( -/obj/machinery/light/dim/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/outpost/hallway/port) "hD" = ( /obj/structure/disposalpipe/trunk/multiz{ dir = 4 }, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) -"hI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +"hF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/structure/catwalk/over/plated_catwalk/dark, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating/rust, +/turf/open/floor/plating, /area/outpost/hallway/central) -"hJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +"hG" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/obj/structure/sign/poster/random{ - pixel_x = -28 +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/structure/disposalpipe/junction/yjunction{ dir = 1 }, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "hK" = ( /obj/structure/rack, @@ -1445,15 +1450,18 @@ /obj/effect/spawner/random/salvage_capacitor, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"hM" = ( -/obj/structure/closet/crate, -/turf/open/floor/plasteel/mono{ - dir = 1 +"hL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/area/outpost/cargo) -"hP" = ( /turf/open/floor/plating/rust, /area/outpost/maintenance/fore) +"hQ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "hS" = ( /obj/item/radio/intercom/directional/east, /obj/structure/table/wood, @@ -1467,25 +1475,28 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) -"hW" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/airlock{ - dir = 4; - name = "Restroom Stall"; - id_tag = "b1" +"hT" = ( +/obj/structure/chair/sofa/brown/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"hV" = ( +/obj/machinery/button/door{ + specialfunctions = 4; + normaldoorcontrol = 1; + id = "out1"; + dir = 1; + pixel_y = -21; + pixel_x = -8 }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"hX" = ( -/obj/structure/chair/sofa/brown/old/right/directional/north, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/outpost/maintenance/starboard) +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) "hY" = ( /obj/structure/closet/crate/trashcart, /turf/open/floor/plating, @@ -1495,26 +1506,6 @@ /obj/effect/spawner/random/food_or_drink/donut, /turf/open/floor/wood, /area/outpost/crew/bar) -"ib" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/outpost/crew/bar) -"ic" = ( -/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/patterned, -/area/outpost/crew/cryo) "id" = ( /obj/machinery/holopad/emergency/bar, /obj/effect/decal/cleanable/dirt/dust, @@ -1534,32 +1525,34 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) +"if" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/medical) "ii" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) -"il" = ( -/obj/item/radio/intercom/directional/west, +"ij" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, /obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "2-4" }, /turf/open/floor/plating, /area/outpost/hallway/central) -"ip" = ( -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"ir" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals9, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"is" = ( +"im" = ( /obj/effect/turf_decal/corner/opaque/neutral/half, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark, /area/outpost/medical) +"ip" = ( +/turf/open/floor/plating, +/area/outpost/maintenance/fore) "it" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1578,13 +1571,39 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) +"iy" = ( +/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/door/airlock{ + name = "Laundry Room" + }, +/turf/open/floor/plasteel/tech, +/area/outpost/maintenance/central) +"iB" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"iC" = ( +/turf/open/floor/plasteel/grimy, +/area/outpost/security) "iD" = ( /obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"iG" = ( -/turf/closed/indestructible/rock, -/area/outpost/maintenance/starboard) "iH" = ( /obj/machinery/light/dim/directional/east, /obj/effect/decal/cleanable/dirt/dust, @@ -1607,37 +1626,53 @@ /turf/open/floor/plasteel/tech, /area/outpost/hallway/port) "iK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 +/obj/structure/falsewall/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/white, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/turf/closed/indestructible/reinforced/rust, +/area/outpost/maintenance/central) "iL" = ( -/obj/effect/turf_decal/corner_steel_grid{ - dir = 5 +/obj/structure/cable/yellow{ + icon_state = "1-9" }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"iN" = ( -/obj/structure/chair/stool/bar{ - dir = 4 +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable/yellow{ - icon_state = "0-2" + icon_state = "5-9" }, /turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/starboard) -"iQ" = ( -/obj/item/trash/can/food/beans{ - pixel_x = 5; +/area/outpost/maintenance/fore) +"iN" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/outpost/cargo) +"iO" = ( +/obj/structure/table, +/obj/item/pizzabox/vegetable{ + pixel_y = 10 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = -19; + pixel_y = 13 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"iQ" = ( +/obj/item/trash/can/food/beans{ + pixel_x = 5; pixel_y = 5 }, /obj/effect/decal/cleanable/cobweb, @@ -1656,74 +1691,107 @@ }, /turf/open/floor/plating/asteroid, /area/outpost/maintenance/central) -"iV" = ( -/obj/machinery/door/firedoor/heavy, -/obj/structure/grille/indestructable, -/obj/structure/window/reinforced/fulltile/indestructable, -/turf/open/floor/plating, -/area/outpost/vacant_rooms/office) -"iY" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/modglass{ - pixel_y = 1; - pixel_x = -6 - }, -/obj/item/reagent_containers/food/drinks/modglass{ - pixel_y = 5; - pixel_x = 5 +"iR" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"jb" = ( -/obj/structure/disposalpipe/segment, -/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/firealarm/directional/east, -/turf/open/floor/plating/rust, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"jd" = ( -/obj/structure/chair/bench/beige/directional/north, -/obj/effect/turf_decal/siding/wood{ +"iT" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) -"je" = ( -/obj/structure/chair/comfy/orange/directional/east, -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/door/airlock{ + dir = 4; + name = "Restroom" + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"jf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/firealarm/directional/north, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating/rust, +/turf/open/floor/plasteel/tech, /area/outpost/hallway/central) -"jg" = ( +"iX" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "outpost2" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/platform/ship_two{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) +"iZ" = ( /obj/structure/rack, -/obj/machinery/light/dim/directional/west, -/obj/item/reagent_containers/food/drinks/waterbottle, -/obj/effect/turf_decal/corner/opaque/neutral/half{ +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ dir = 4 }, /turf/open/floor/plasteel/dark, -/area/outpost/storage) +/area/outpost/vacant_rooms) +"ja" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/security) +"jb" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "jj" = ( /obj/machinery/light/dim/directional/east, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/green, /area/outpost/crew/bar) +"jl" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/dim/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"jm" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/crew/bar) "jn" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance/two, @@ -1737,9 +1805,41 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"js" = ( -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +"jp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/newscaster/directional/south, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"jv" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/security) +"jw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "jx" = ( /obj/item/trash/can/food/beans{ pixel_x = -5 @@ -1749,43 +1849,30 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/asteroid, /area/outpost/maintenance/central) -"jz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +"jA" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/engineering/atmospherics) +"jF" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/item/radio/intercom/directional/east, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"jC" = ( -/obj/machinery/light/dim/directional/west, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"jD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/newscaster/directional/west, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/door/airlock{ + dir = 4; + name = "Restroom Stall"; + id_tag = "b1" }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/tech, /area/outpost/hallway/central) -"jE" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"jG" = ( +/obj/structure/disposalpipe/junction{ + dir = 2 }, -/obj/effect/turf_decal/corner_steel_grid/full{ - dir = 1 +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, /turf/open/floor/plasteel/dark, /area/outpost/hallway/central) @@ -1801,67 +1888,25 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, /area/outpost/crew/bar) -"jJ" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 +"jP" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"jK" = ( +"jQ" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/railing/thin{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"jL" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/sign/directions/supply{ - pixel_y = 26; - dir = 4 - }, -/obj/structure/sign/directions/security{ - dir = 4; - pixel_y = 32 - }, -/obj/structure/sign/directions/medical{ - pixel_y = 38; - dir = 2 - }, -/obj/structure/sign/directions/service{ - pixel_y = 20; - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"jM" = ( -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/storage) -"jO" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/structure/cable/yellow, +/obj/structure/grille/indestructable, +/obj/effect/turf_decal/corner_techfloor_gray/full{ dir = 4 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/outpost/hallway/port) +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) "jR" = ( /obj/structure/chair/stool/bar{ dir = 1; @@ -1873,78 +1918,149 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "jS" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "jT" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned, -/area/outpost/maintenance/central) +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/grimy, +/area/outpost/security) "jU" = ( /obj/structure/table/wood, /obj/machinery/computer/bookmanagement, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"kb" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +"jV" = ( +/obj/structure/grille/indestructable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/central) +"jW" = ( +/obj/structure/chair/stool/bar{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"jY" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, /obj/effect/turf_decal/corner_steel_grid{ dir = 9 }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) +/area/outpost/hallway/central) +"ka" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"kc" = ( +/obj/structure/bed, +/obj/item/bedsheet/black, +/obj/item/toy/plush/rilena, +/obj/item/toy/plush/tali{ + pixel_x = 10; + pixel_y = -6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/turf/open/floor/plating, +/area/outpost/hallway/central) "kd" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"kh" = ( -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 +"kf" = ( +/obj/structure/dresser{ + dir = 8 }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, -/obj/machinery/computer/cryopod/retro/directional/west, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/cryo) -"kl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/obj/item/clothing/under/dress/skirt/color{ + pixel_x = -2; + pixel_y = 12 }, -/obj/machinery/light/dim/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +/obj/item/clothing/under/dress/skirt/color/blue{ + pixel_y = 5; + pixel_x = 3 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 +/obj/machinery/light/dim/directional/south, +/obj/item/clothing/shoes/sandal{ + pixel_x = -6; + pixel_y = 2 }, -/turf/open/floor/plasteel, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) +"kg" = ( +/obj/machinery/shower{ + dir = 8; + desc = "An old shower. It looks rusted." + }, +/obj/structure/toilet{ + pixel_y = 13; + pixel_x = -9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/outpost/hallway/central) +"kk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/dim/directional/east, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, /area/outpost/hallway/central) "km" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/confetti, /turf/open/floor/wood, /area/outpost/crew/library) +"ko" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/outpost/medical) +"kp" = ( +/obj/structure/table/reinforced, +/obj/structure/railing/thin, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "ks" = ( /turf/open/floor/plasteel/elevatorshaft, /area/outpost/hallway/central) -"kx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +"kt" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/security) "ky" = ( /obj/structure/sign/painting/library{ pixel_y = -26 @@ -1953,25 +2069,27 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"kA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/caution, -/obj/structure/noticeboard{ - name = "refinery notice board"; - dir = 8; - pixel_y = 0; - pixel_x = 26 +"kB" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 9 }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/effect/turf_decal/corner/opaque/bottlegreen{ dir = 6 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, /turf/open/floor/plasteel, -/area/outpost/hallway/port) +/area/outpost/security) +"kD" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "kE" = ( /obj/machinery/light/small/directional/south, /obj/structure/disposalpipe/segment{ @@ -1980,58 +2098,42 @@ /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"kH" = ( -/obj/item/shovel/spoon, -/turf/open/floor/plating/asteroid, -/area/outpost/external) -"kK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/structure/cable/yellow, -/obj/structure/grille/indestructable, -/obj/effect/turf_decal/corner_techfloor_gray/full{ +"kG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/starboard) -"kL" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 5 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/firealarm/directional/south, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/outpost/hallway/central) -"kM" = ( +"kH" = ( +/obj/item/shovel/spoon, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"kI" = ( /obj/structure/cable/yellow{ - icon_state = "1-8" + icon_state = "1-2" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"kN" = ( -/obj/structure/chair/stool/bar{ - dir = 4 +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 }, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"kQ" = ( -/obj/machinery/light/dim/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 9 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/cryo) -"kR" = ( -/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/outpost/security) +"kM" = ( /obj/structure/cable/yellow{ icon_state = "1-8" }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) "kT" = ( @@ -2056,46 +2158,50 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"kV" = ( -/obj/item/stack/tile/carpet, -/obj/structure/railing/thin/corner, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/plating, +"kW" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) +"kZ" = ( +/obj/structure/chair/sofa/brown/old/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/carpet, /area/outpost/maintenance/starboard) -"la" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +"lg" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/vending/boozeomat, +/turf/open/floor/carpet/green, +/area/outpost/crew/bar) +"li" = ( +/obj/item/reagent_containers/syringe{ + pixel_y = 7; + pixel_x = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"lj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) -"lb" = ( -/obj/machinery/newscaster/directional/south, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"lh" = ( -/obj/structure/barricade/wooden/crude, -/turf/closed/indestructible/rock, -/area/outpost/external) -"li" = ( -/obj/item/radio/intercom/directional/east, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/outpost/hallway/central) "lk" = ( @@ -2110,12 +2216,33 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"ll" = ( -/obj/effect/turf_decal/corner_techfloor_gray{ +"lm" = ( +/obj/effect/landmark/outpost/elevator_machine{ + shaft = "1" + }, +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, /turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/area/outpost/hallway/central) +"ln" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/camera/autoname, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, +/area/outpost/security) "lo" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -2143,34 +2270,37 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, /area/outpost/maintenance/fore) -"ls" = ( -/obj/structure/railing/thin{ - dir = 9 +"lu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/conveyor_switch{ - id = "outpost3"; - layer = 3.11; - pixel_y = 8; - pixel_x = -9 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/patterned, -/area/outpost/hallway/central) -"lt" = ( -/obj/structure/window/reinforced/fulltile/indestructable, -/obj/structure/grille/indestructable, /turf/open/floor/plating, -/area/outpost/security) -"lw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/area/outpost/hallway/central) +"lv" = ( +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) +/obj/effect/spawner/random/entertainment/plushie{ + pixel_x = 16; + pixel_y = 4 + }, +/obj/item/folder{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/crew/cryo) "lx" = ( /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt/dust, @@ -2178,22 +2308,33 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "ly" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/obj/structure/railing/thin, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) +"lz" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"lD" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/dim/directional/east, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"lA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"lB" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/central) "lE" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -2219,64 +2360,103 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"lJ" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/siding/wood/corner, -/obj/item/kirbyplants{ - icon_state = "plant-02"; - pixel_y = 18; - pixel_x = -11 +"lI" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"lM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/maintenance{ - req_access = list("101") +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) +"lK" = ( +/turf/open/floor/plasteel/patterned, +/area/outpost/maintenance/central) +"lL" = ( +/obj/machinery/disposal/bin, +/obj/machinery/newscaster/directional/west, +/obj/structure/disposalpipe/trunk{ dir = 1 }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/corner/opaque/neutral/half{ dir = 1 }, -/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/dark, +/area/outpost/crew/library) +"lO" = ( +/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 + }, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/central) +"lP" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "1-8" }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"lO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/sign/directions/service{ - dir = 8; - pixel_x = -28 +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 }, -/obj/structure/sign/directions/supply{ - pixel_y = -6; - pixel_x = -28; - dir = 4 +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/outpost/security) +"lQ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/structure/sign/directions/security{ - dir = 4; - pixel_y = 6; - pixel_x = -28 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 6 }, -/obj/structure/sign/directions/medical{ - pixel_y = -12; - pixel_x = -28; - dir = 2 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"lR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ icon_state = "1-2" }, /turf/open/floor/plating, /area/outpost/hallway/central) +"lU" = ( +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) +"lV" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/white, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"lW" = ( +/obj/machinery/button/door{ + dir = 8; + pixel_x = 22; + pixel_y = 9; + id = "out3"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/crew/bar) "lX" = ( /obj/structure/rack, /obj/effect/turf_decal/steeldecal/steel_decals_central2{ @@ -2284,18 +2464,29 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) -"lY" = ( -/obj/machinery/cryopod{ +"lZ" = ( +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, -/obj/machinery/camera/autoname, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security) +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"ma" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/item/radio/intercom/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "mb" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -2311,6 +2502,15 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) +"mc" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "md" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -2320,14 +2520,6 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"mf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood, -/area/outpost/maintenance/starboard) -"mg" = ( -/turf/closed/indestructible/reinforced/rust, -/area/outpost/crew/cryo) "mk" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -2342,30 +2534,15 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/storage) -"mo" = ( -/obj/machinery/washing_machine, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/maintenance/central) -"mp" = ( -/obj/effect/decal/cleanable/glass/strange, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, +"mn" = ( /obj/structure/cable/yellow{ - icon_state = "1-10" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/central) -"mq" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 + icon_state = "1-2" }, -/turf/open/floor/plasteel, +/obj/structure/disposalpipe/segment, +/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/outpost/hallway/port) "mr" = ( /obj/machinery/door/airlock/maintenance, @@ -2376,41 +2553,31 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/maintenance/fore) -"ms" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +"mt" = ( +/obj/structure/table, +/obj/effect/turf_decal/floordetail/tiled, +/obj/machinery/fax/admin/outpost{ + pixel_y = 5 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"mv" = ( +/turf/open/floor/plasteel/grimy, +/area/outpost/security) +"mw" = ( /obj/structure/rack, -/obj/effect/spawner/random/clothing/kittyears_or_rabbitears, -/obj/effect/decal/cleanable/wrapping, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/maintenance/seven, +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ + dir = 8 }, /turf/open/floor/plasteel/dark, /area/outpost/vacant_rooms) "mx" = ( -/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, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating/rust, -/area/outpost/hallway/central) -"mA" = ( -/obj/structure/grille, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) +"my" = ( /turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/area/outpost/crew/bar) "mB" = ( /obj/machinery/door/firedoor/closed, /obj/structure/barricade/wooden/crude, @@ -2430,25 +2597,22 @@ "mC" = ( /turf/open/space/basic, /area/space) -"mG" = ( -/obj/structure/closet/crate/bin{ - pixel_y = 0 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/insectguts, -/obj/item/reagent_containers/syringe{ - pixel_y = -7; - pixel_x = -1 - }, -/obj/item/reagent_containers/syringe{ - pixel_y = 1 +"mF" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 }, -/obj/item/reagent_containers/syringe{ - pixel_y = -6; - pixel_x = 9 +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/area/outpost/cargo) +"mG" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) +"mH" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/cargo/office) "mJ" = ( /obj/structure/chair/wood, /obj/structure/cable/yellow{ @@ -2464,6 +2628,13 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) +"mL" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) "mM" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -2479,21 +2650,16 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) -"mN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/railing/thin, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) "mP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/steeldecal/steel_decals3, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"mQ" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/maintenance/central) "mT" = ( /obj/structure/table, /obj/item/trash/can/food/beans{ @@ -2513,34 +2679,20 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"mW" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/outpost/security) "mZ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"na" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, -/turf/open/floor/plating/rust, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "nb" = ( /obj/structure/cable/yellow{ @@ -2551,28 +2703,37 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"nc" = ( -/obj/machinery/shower{ - dir = 8; - desc = "An old shower. It looks rusted." +"nd" = ( +/obj/structure/chair/office{ + dir = 1 }, -/obj/structure/toilet{ - pixel_y = 13; - pixel_x = -9 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/outpost/cargo/office) +"ng" = ( +/obj/structure/chair, +/obj/effect/landmark/ert_outpost_spawn, +/turf/open/floor/plasteel/grimy, +/area/outpost/security) +"nk" = ( +/obj/structure/sign/poster/official/no_erp{ + pixel_y = 30 }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals6{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plasteel/showroomfloor, +/turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) -"nd" = ( -/obj/structure/chair/office{ - dir = 1 +"nl" = ( +/obj/structure/festivus{ + pixel_x = -17; + pixel_y = -7; + name = "normal pole"; + desc = "A fairly normal pole in a fairly normal position." }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo/office) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/outpost/maintenance/starboard) "nn" = ( /obj/effect/decal/cleanable/food/tomato_smudge, /obj/machinery/airalarm/directional/north, @@ -2591,31 +2752,33 @@ /obj/structure/grille/indestructable, /turf/open/floor/plating, /area/outpost/maintenance/central) -"nq" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" +"nr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/structure/sign/poster/random{ + pixel_x = 28 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"nt" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/turf_decal/corner/opaque/white, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"nw" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) +/turf/open/floor/plating, +/area/outpost/hallway/central) "ny" = ( /obj/structure/railing{ dir = 4 @@ -2626,30 +2789,36 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"nz" = ( -/obj/machinery/cryopod{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/crew/cryo) -"nK" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ +"nA" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"nB" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"nE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel, -/area/outpost/medical) -"nL" = ( -/obj/effect/spawner/random/vending/snack, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) +"nJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/library) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/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/outpost/hallway/central) "nM" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -2657,6 +2826,20 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/central) +"nN" = ( +/obj/structure/grille/indestructable, +/obj/structure/cable/yellow, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"nO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/wood, +/area/outpost/crew/bar) +"nP" = ( +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/security) "nR" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt/dust, @@ -2665,6 +2848,13 @@ }, /turf/open/floor/carpet/green, /area/outpost/crew/bar) +"nS" = ( +/obj/item/stack/tile/carpet, +/obj/structure/railing/thin/corner, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "nT" = ( /obj/item/radio/intercom/directional/south, /obj/structure/cable/yellow{ @@ -2674,13 +2864,15 @@ /obj/machinery/libraryscanner, /turf/open/floor/wood, /area/outpost/crew/library) -"nU" = ( -/obj/structure/railing/thin{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +"nW" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) +"nX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, +/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) "nY" = ( @@ -2700,24 +2892,30 @@ /obj/effect/turf_decal/steeldecal/steel_decals10, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"oa" = ( -/obj/structure/chair/comfy/orange/directional/south, -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/random{ - pixel_y = 30 +"oe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"ob" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"od" = ( -/turf/open/floor/plasteel/patterned, +/obj/structure/disposalpipe/segment, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, /area/outpost/hallway/central) +"of" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/outpost/maintenance/central) "og" = ( /obj/machinery/atmospherics/pipe/simple/multiz{ pixel_y = 1; @@ -2734,22 +2932,39 @@ /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) "oh" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ +/obj/effect/turf_decal/industrial/loading, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"oi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/white, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"ol" = ( -/obj/structure/railing/wood{ - dir = 8 +/area/outpost/storage) +"oj" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -14 }, -/turf/open/floor/wood{ - icon_state = "wood-broken7" +/obj/structure/mirror{ + pixel_x = -25 }, -/area/outpost/maintenance/starboard) +/obj/machinery/light/small/directional/south, +/obj/machinery/button/door{ + pixel_y = -21; + dir = 1; + pixel_x = 9; + name = "door lock"; + id = "b1"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/plasteel/mono, +/area/outpost/hallway/central) "om" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -2757,67 +2972,110 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) -"on" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +"os" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"ot" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, +/obj/structure/sign/directions/supply{ + dir = 1; + pixel_y = 0; + pixel_x = 28 + }, +/obj/structure/sign/directions/security{ + pixel_y = -6; + pixel_x = 28; + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"ow" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"ox" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/grimy, +/area/outpost/security) +"oA" = ( +/obj/effect/spawner/random/trash/decal, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"op" = ( +/area/outpost/maintenance/central) +"oC" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/disposalpipe/segment, +/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-4" + icon_state = "1-8" }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"or" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/rilena/tali{ - pixel_y = -30 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"oD" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"oE" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel, /area/outpost/hallway/central) -"ou" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"ov" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +"oG" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) +"oI" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating/rust, -/area/outpost/hallway/central) -"ow" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/turf_decal/corner_techfloor_gray{ +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"oJ" = ( +/obj/machinery/conveyor{ + id = "outpost3"; dir = 5 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/fore) -"oy" = ( -/obj/effect/decal/cleanable/ash, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/hallway/central) "oK" = ( /obj/machinery/door/airlock/public{ id_tag = "out1" @@ -2835,58 +3093,23 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, /area/outpost/storage) -"oL" = ( +"oO" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) -"oM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/decal/cleanable/crayon{ + icon_state = "peace"; + pixel_y = -26 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/turf/open/floor/plasteel/stairs{ + dir = 8 }, -/turf/open/floor/plating, /area/outpost/hallway/central) -"oN" = ( -/obj/structure/chair/bench/beige/directional/south, +"oR" = ( +/obj/structure/chair/bench/beige/directional/north, /obj/effect/turf_decal/siding/wood{ - dir = 8 + dir = 4 }, /turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) -"oQ" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"oS" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 5 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"oT" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/outpost/cargo) "oU" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -2895,38 +3118,26 @@ /mob/living/simple_animal/mouse/brown, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"oW" = ( -/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 +"oX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/door/airlock/security/brig{ - req_access = list("101") +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, -/turf/open/floor/plasteel/tech, -/area/outpost/security) -"oY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/crowbar{ - pixel_y = 7; - pixel_x = 6 +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"pa" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/item/cigbutt/roach, -/obj/effect/decal/cleanable/ash, -/turf/open/floor/carpet, -/area/outpost/maintenance/starboard) -"oZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 }, -/turf/open/floor/plating/rust, +/turf/open/floor/plasteel, /area/outpost/hallway/central) "pb" = ( /obj/structure/chair/stool/bar{ @@ -2939,84 +3150,50 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) -"pg" = ( -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/vacant_rooms) -"ph" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"pj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/storage) -"pl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/storage) -"pm" = ( -/obj/effect/decal/cleanable/crayon{ - icon_state = "danger" - }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "!"; - pixel_x = 14; - pixel_y = 5 - }, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"pn" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" +"pc" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "outpost1" }, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) +"pe" = ( /obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/holosign/barrier/infinite{ - max_integrity = 500 + dir = 1 }, /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/corner_steel_grid{ + dir = 9 }, /turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"po" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) +"pf" = ( +/obj/effect/mob_spawn/human/corpse/charredskeleton{ + name = "Marv"; + mob_name = "Marv" + }, +/obj/item/stack/cable_coil/cut/yellow, +/obj/effect/decal/cleanable/ash/large, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"pg" = ( +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/vacant_rooms) +"pi" = ( +/obj/structure/closet/secure_closet/freezer/gulag_fridge, +/obj/item/reagent_containers/pill/floorpill, +/obj/item/reagent_containers/pill/floorpill, +/obj/item/reagent_containers/pill/floorpill, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "pp" = ( /obj/item/reagent_containers/pill/floorpill, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"pr" = ( -/turf/open/floor/wood, -/area/outpost/maintenance/starboard) +"pq" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "pt" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt/dust, @@ -3030,15 +3207,12 @@ }, /turf/open/floor/wood, /area/outpost/crew/library) -"py" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/outpost/hallway/central) +"px" = ( +/obj/machinery/holopad/emergency/janitor, +/obj/effect/turf_decal/trimline/opaque/purple/filled, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) "pA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3049,15 +3223,6 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) -"pB" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/starboard) -"pC" = ( -/obj/structure/chair/bench/beige/directional/north, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) "pF" = ( /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 @@ -3074,23 +3239,29 @@ /obj/item/canvas/twentythreeXtwentythree, /turf/open/floor/wood, /area/outpost/crew/library) -"pL" = ( -/obj/structure/disposalpipe/junction{ - dir = 2 +"pI" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/syringe/contraband/morphine{ + pixel_y = 6; + pixel_x = -3 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 +/obj/item/reagent_containers/pill/floorpill{ + pixel_x = 4; + pixel_y = 3 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) +"pK" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, /area/outpost/hallway/central) "pM" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/starboard) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) "pO" = ( -/turf/closed/indestructible/reinforced/rust, -/area/outpost/security) +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "pQ" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -3100,15 +3271,29 @@ }, /turf/open/floor/plating/asteroid, /area/outpost/external) -"pS" = ( -/obj/item/kirbyplants{ - icon_state = "plant-22" +"pU" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/cockroach, +/turf/open/floor/wood{ + icon_state = "wood-broken6" }, -/obj/effect/turf_decal/corner/opaque/neutral/half{ +/area/outpost/maintenance/starboard) +"pV" = ( +/obj/structure/closet/firecloset/wall/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, +/turf/open/floor/plasteel, /area/outpost/hallway/port) +"pY" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "qb" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3126,39 +3311,66 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"qe" = ( +"qc" = ( +/obj/machinery/conveyor_switch{ + id = "outpost2"; + layer = 3.11; + pixel_y = 9; + pixel_x = -2 + }, /obj/structure/railing/thin{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"qe" = ( +/obj/structure/flippedtable{ dir = 4 }, -/obj/effect/decal/cleanable/greenglow, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, /turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/area/outpost/maintenance/central) +"qf" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "qg" = ( /obj/structure/chair/sofa/brown/left/directional/east, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/royalblack, /area/outpost/crew/bar) "qh" = ( -/obj/structure/table, -/obj/item/pizzabox/vegetable{ - pixel_y = 10 - }, -/obj/item/flashlight/lamp/green{ - pixel_x = -19; - pixel_y = 13 +/obj/structure/railing/wood{ + dir = 8 }, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/wood, /area/outpost/maintenance/starboard) -"qk" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 6 +"ql" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"qn" = ( +/obj/structure/chair/sofa/brown/left/directional/south, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "qp" = ( /obj/structure/flora/rock, /turf/open/floor/plating/asteroid, @@ -3173,49 +3385,82 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"qs" = ( -/obj/structure/platform/wood_two{ - dir = 4 +"qr" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "danger" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "!"; + pixel_x = 14; + pixel_y = 5 }, -/obj/structure/chair/stool/bar, /turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"qv" = ( -/obj/structure/railing/thin, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/area/outpost/hallway/central) +"qt" = ( +/obj/machinery/newscaster/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"qw" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen/full, +/obj/effect/turf_decal/corner/opaque/white, /turf/open/floor/plasteel, -/area/outpost/security) +/area/outpost/hallway/port) "qx" = ( /obj/structure/spider/stickyweb, /obj/effect/decal/cleanable/generic, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"qA" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +"qz" = ( +/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/patterned, +/area/outpost/crew/cryo) +"qC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"qC" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 1 +/turf/open/floor/plating, +/area/outpost/hallway/central) +"qE" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, -/area/outpost/security) -"qD" = ( -/obj/structure/falsewall/reinforced, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/area/outpost/storage) +"qF" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "qG" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -3228,58 +3473,44 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) -"qJ" = ( -/obj/machinery/vending/boozeomat{ - pixel_y = 1; - dir = 8; - pixel_x = 7 - }, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) -"qM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, +"qI" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"qN" = ( -/obj/machinery/disposal/deliveryChute{ +/obj/structure/holosign/barrier/infinite{ + max_integrity = 500 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/disposalpipe/trunk, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/central) -"qR" = ( -/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"qJ" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, +/turf/open/floor/wood, /area/outpost/maintenance/starboard) -"qT" = ( -/obj/structure/grille/indestructable, +"qO" = ( +/obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/window/reinforced/fulltile/indestructable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"qW" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "outpost2" +/area/outpost/hallway/central) +"qV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/platform/ship_two, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) +/turf/open/floor/plating, +/area/outpost/maintenance/fore) "qX" = ( /obj/structure/grille/indestructable, /obj/structure/cable/yellow{ @@ -3289,73 +3520,33 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"rb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 8 +"qY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plating, -/area/outpost/maintenance/central) +/obj/structure/railing/thin, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "rg" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/wrapping, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, -/area/outpost/crew/library) -"rk" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/mineral/electrolyzer{ - output_dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"rm" = ( -/obj/structure/sink{ - dir = 8; - pixel_y = 0; - pixel_x = 14 - }, -/obj/structure/mirror{ - pixel_x = 25 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/button/door{ - pixel_y = -21; - dir = 1; - pixel_x = -9; - name = "door lock"; - id = "b2"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/turf/open/floor/plasteel/mono, -/area/outpost/hallway/central) +/area/outpost/crew/library) +"ri" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/grille, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "ro" = ( /obj/machinery/power/terminal{ dir = 4 }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"rp" = ( -/obj/structure/rack, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/obj/effect/spawner/random/maintenance/seven, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/vacant_rooms) -"rr" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned, -/area/outpost/hallway/central) "rs" = ( /obj/structure/table/wood, /obj/item/radio/old, @@ -3370,42 +3561,32 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space) -"rv" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/medical) -"ry" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/window{ - req_access = list("101"); - dir = 8 - }, -/obj/machinery/door/window{ - req_access = list("101"); - dir = 4 +"ru" = ( +/obj/effect/turf_decal/siding/wood, +/obj/item/kirbyplants/random, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) +"rw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 5 }, -/obj/machinery/door/firedoor/border_only{ +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"rx" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security) +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "rz" = ( /obj/structure/flora/rock, /obj/structure/flora/rock, /turf/open/floor/plating/asteroid, /area/outpost/external) -"rB" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/starboard) "rC" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -3419,67 +3600,31 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/central) -"rG" = ( -/obj/structure/grille/indestructable, -/obj/structure/window/reinforced/fulltile/indestructable, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"rK" = ( -/obj/structure/chair/plastic{ - dir = 1 +"rF" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/syringe/contraband/morphine{ + pixel_y = 3; + pixel_x = 3 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"rM" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/item/reagent_containers/pill/floorpill{ + pixel_x = -4; + pixel_y = 7 }, -/obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"rN" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"rP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"rQ" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "guy"; - pixel_y = 20 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/steeldecal/steel_decals6{ - dir = 9 +/obj/item/flashlight/lamp/green{ + pixel_x = 8; + pixel_y = -10 }, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) +"rI" = ( +/turf/open/floor/engine/air, +/area/outpost/engineering/atmospherics) +"rJ" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) +/area/outpost/maintenance/central) "rR" = ( /obj/structure/table, /obj/item/paper_bin, @@ -3518,36 +3663,27 @@ /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) "rV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 +/obj/item/reagent_containers/pill/floorpill, +/obj/structure/chair/sofa/brown/old/directional/east, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) +"sa" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "1-8" }, -/turf/open/floor/plating/rust, -/area/outpost/hallway/central) -"rW" = ( /obj/structure/cable/yellow{ - icon_state = "1-9" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 10 + icon_state = "1-4" }, /obj/structure/cable/yellow{ - icon_state = "5-9" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/fore) -"rZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 + icon_state = "2-8" }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/outpost/hallway/central) "sb" = ( /obj/item/kirbyplants{ @@ -3574,116 +3710,47 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) -"sc" = ( -/obj/machinery/washing_machine, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/maintenance/central) -"sf" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/foamedmetal, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"sj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"sk" = ( -/obj/structure/chair/sofa/brown/right/directional/east, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"sl" = ( -/obj/structure/railing/wood{ - dir = 2; - color = "#792f27" - }, -/turf/open/floor/plasteel/stairs/wood{ - dir = 4; - color = "#792f27" - }, -/area/outpost/crew/bar) -"sm" = ( -/obj/machinery/light/small/directional/north, +"sd" = ( +/obj/machinery/light/dim/directional/south, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/central) -"sn" = ( -/turf/open/floor/plating, -/area/outpost/maintenance/central) -"sq" = ( -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "1" - }, -/obj/machinery/elevator_call_button{ - dir = 4; - pixel_y = 0; - pixel_x = -22 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"sr" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/outpost/hallway/port) -"su" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 - }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"sw" = ( -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +"sf" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 }, +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"sg" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 - }, -/turf/open/floor/plasteel, +/obj/item/cigbutt/roach, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) +"sn" = ( +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"sr" = ( +/obj/structure/chair/bench/beige/directional/south, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) -"sz" = ( -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ - dir = 4 +"ss" = ( +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/area/outpost/cargo) +"sw" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/crew/library) "sB" = ( /obj/structure/disposalpipe/segment, /obj/structure/chair/office{ @@ -3703,13 +3770,6 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) -"sG" = ( -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/fore) "sH" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning{ @@ -3720,16 +3780,49 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/hallway/port) +"sI" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "sL" = ( -/obj/structure/sink/kitchen{ - dir = 1; - name = "big sink" +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/obj/structure/mirror{ - pixel_y = -25 +/obj/structure/grille/indestructable, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) +"sM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/caution, +/obj/structure/noticeboard{ + name = "refinery notice board"; + dir = 8; + pixel_y = 0; + pixel_x = 26 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"sN" = ( +/obj/structure/chair/bench/beige/directional/south, /obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/patterned, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) "sO" = ( /obj/effect/turf_decal/industrial/warning{ @@ -3772,11 +3865,15 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "sS" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/disposalpipe/junction/yjunction, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) "sV" = ( /obj/structure/cable/yellow{ @@ -3786,25 +3883,33 @@ /turf/open/floor/wood, /area/outpost/crew/library) "sW" = ( -/obj/effect/spawner/random/trash/decal, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned, -/area/outpost/maintenance/central) -"ta" = ( -/obj/structure/rack, -/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/clothing/gloves, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/outpost/storage) -"te" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/effect/landmark/ert_outpost_spawn, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 9 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/outpost/security) +"sZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/outpost/crew/bar) +"tb" = ( +/obj/structure/chair/comfy/orange/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"tf" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) "th" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -3814,13 +3919,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) -"ti" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/medical) "tj" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -3831,44 +3929,31 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/central) -"tl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) -"tm" = ( -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"to" = ( -/obj/machinery/elevator_call_button{ - dir = 2; - pixel_y = 24 - }, -/obj/structure/chair/bench/beige/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) +"tq" = ( +/obj/machinery/mineral/electrolyzer_unloader, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) "tr" = ( /obj/structure/bookcase/random, /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"tt" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/effect/turf_decal/corner/opaque/white/diagonal, +"ts" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/area/outpost/crew/janitor) "tu" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 @@ -3877,14 +3962,6 @@ icon_state = "wood-broken3" }, /area/outpost/crew/bar) -"tv" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plating, -/area/outpost/maintenance/central) "tw" = ( /obj/structure/table/wood, /obj/item/newspaper{ @@ -3893,136 +3970,93 @@ }, /turf/open/floor/carpet/royalblack, /area/outpost/crew/bar) -"ty" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, +"tx" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/outpost/medical) -"tz" = ( -/obj/item/stack/tile/carpet, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"tA" = ( -/obj/machinery/mineral/unloading_machine{ - input_dir = 2; - output_dir = 1 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/platform/ship_two{ dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"tC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/disposalpipe/junction/yjunction, /obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating/rust, /area/outpost/hallway/central) -"tE" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/light/dim/directional/west, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"tG" = ( -/obj/structure/cable/yellow{ - icon_state = "2-9" - }, +"ty" = ( +/obj/structure/chair/sofa/brown/right/directional/east, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"tz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"tH" = ( -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/airlock{ - dir = 4; - name = "Restroom Stall"; - id_tag = "b2" +/obj/item/radio/intercom/directional/east, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plating, /area/outpost/hallway/central) -"tI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/reinforced, -/obj/machinery/computer/electrolyzer_console{ - pixel_y = -5; - density = 0; - dir = 8; - pixel_x = -2 - }, -/obj/structure/railing/thin{ +"tE" = ( +/obj/structure/railing{ dir = 4 }, +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 9 + }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"tN" = ( +"tO" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/outpost/hallway/port) +"tR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/item/radio/intercom/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "tS" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/four, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"tT" = ( -/obj/structure/railing/thin{ +"tW" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"tU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 9 +/turf/open/floor/plating, +/area/outpost/hallway/central) +"tY" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"tZ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-8" +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 5 }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) +/turf/open/floor/plasteel, +/area/outpost/security) "ua" = ( /obj/item/radio/intercom/directional/east, /obj/structure/chair{ @@ -4031,6 +4065,21 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/storage) +"ub" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/central) +"ud" = ( +/obj/structure/disposalpipe/segment, +/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/firealarm/directional/east, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "ue" = ( /obj/structure/table/wood, /obj/machinery/light/small/directional/east, @@ -4055,13 +4104,15 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) -"ug" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"ui" = ( +/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" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) "uj" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning, @@ -4070,26 +4121,15 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/hallway/port) -"uk" = ( -/obj/structure/sign/poster/random{ - pixel_y = 30 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"um" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 - }, -/obj/structure/chair/bench/olive/directional/east{ - dir = 2 +"ul" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 11; + pixel_x = 8 }, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/medical) +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "un" = ( /obj/structure/chair/wood{ dir = 8 @@ -4102,6 +4142,22 @@ /obj/structure/chair/sofa/brown/corner/directional/west, /turf/open/floor/carpet/royalblack, /area/outpost/crew/bar) +"us" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/yellow, +/turf/open/floor/plasteel, +/area/outpost/cargo) +"ut" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/outpost/hallway/central) "uu" = ( /obj/machinery/light/small/directional/north, /obj/structure/disposalpipe/segment{ @@ -4114,102 +4170,50 @@ /obj/machinery/bookbinder, /turf/open/floor/wood, /area/outpost/crew/library) -"uw" = ( -/turf/open/floor/plasteel/mono{ - dir = 1 - }, -/area/outpost/cargo) -"uy" = ( -/obj/machinery/light/dim/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"uz" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/mono{ - dir = 1 - }, -/area/outpost/cargo) -"uA" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"uD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/outpost/medical) "uE" = ( /obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"uI" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/newscaster/directional/west, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/outpost/security) -"uJ" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security) -"uL" = ( -/obj/structure/toilet{ - dir = 4; - pixel_y = 0; - pixel_x = -6 - }, -/obj/structure/mirror{ - pixel_y = 30 - }, -/obj/structure/sink{ - pixel_y = 24 +"uF" = ( +/obj/structure/rack, +/obj/effect/spawner/random/clothing/pirate_or_bandana, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/outpost/storage) +"uK" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6; + pixel_x = 6 }, -/turf/open/floor/plasteel, -/area/outpost/crew/bar) -"uN" = ( -/obj/structure/festivus{ - pixel_x = -17; - pixel_y = -7; - name = "normal pole"; - desc = "A fairly normal pole in a fairly normal position." +/obj/item/pen, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/turf/open/floor/plasteel/patterned, +/area/outpost/crew/cryo) +"uM" = ( +/obj/structure/rack, +/obj/item/skub, +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters, +/turf/open/floor/plasteel/dark, +/area/outpost/vacant_rooms) +"uO" = ( /turf/open/floor/wood, /area/outpost/maintenance/starboard) +"uP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "uQ" = ( /obj/structure/table, /obj/item/clipboard{ @@ -4219,14 +4223,23 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) -"uU" = ( -/obj/machinery/newscaster/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/thinplating/dark{ +"uR" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/maintenance/central) +"uS" = ( +/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/effect/turf_decal/corner/opaque/white, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) "uV" = ( /obj/structure/dresser{ @@ -4235,17 +4248,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/asteroid, /area/outpost/maintenance/central) -"uW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 +"uY" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 9 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) -"uX" = ( -/obj/structure/chair/sofa/brown/old/left/directional/east, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/carpet, -/area/outpost/maintenance/starboard) +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) "va" = ( /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt/dust, @@ -4260,93 +4269,95 @@ }, /turf/open/floor/plating/asteroid, /area/outpost/external) -"vd" = ( -/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/patterned, -/area/outpost/crew/cryo) "ve" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"vp" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/junction/yjunction{ - dir = 8 - }, -/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/corner_steel_grid{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"vq" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"vh" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 1 }, /turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"vr" = ( -/obj/structure/dresser{ - dir = 8 +"vi" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/item/clothing/under/dress/skirt/color{ - pixel_x = -2; - pixel_y = 12 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"vk" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/turf/open/floor/plasteel/dark, +/area/outpost/storage) +"vl" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -25; + pixel_x = -7 }, -/obj/item/clothing/under/dress/skirt/color/blue{ - pixel_y = 5; - pixel_x = 3 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/light/dim/directional/south, -/obj/item/clothing/shoes/sandal{ - pixel_x = -6; - pixel_y = 2 +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"vn" = ( +/obj/item/stack/tile/carpet, +/obj/structure/rack, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"vs" = ( +/obj/structure/rack, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/turf/open/floor/plasteel/dark, +/area/outpost/vacant_rooms) +"vu" = ( +/obj/structure/rack, +/obj/effect/spawner/random/clothing/bowler_or_that, +/obj/effect/spawner/random/maintenance/three, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 4 }, -/turf/open/floor/carpet, +/turf/open/floor/plasteel/dark, +/area/outpost/storage) +"vw" = ( +/turf/open/floor/plating, /area/outpost/maintenance/starboard) -"vz" = ( -/obj/structure/table/wood, +"vD" = ( +/obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/platform/wood_two/corner{ - dir = 8 +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"vF" = ( +/obj/machinery/door/firedoor/heavy, +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_y = 5; - pixel_x = -7 +/turf/open/floor/plating, +/area/outpost/vacant_rooms/office) +"vG" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 }, -/obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) -"vB" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/crew/bar) "vH" = ( /obj/machinery/conveyor/auto{ dir = 6; @@ -4363,32 +4374,37 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"vK" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/medical) -"vR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +"vJ" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Bar" + }, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/hallway/central) -"vS" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/stack/tile/carpet{ - pixel_y = 3; - pixel_x = -8 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/item/cigbutt/roach{ - pixel_y = 4; - pixel_x = 9 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/decal/cleanable/generic, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/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/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/outpost/crew/bar) "vT" = ( /obj/structure/rack, /mob/living/simple_animal/pet/mothroach{ @@ -4400,37 +4416,24 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/asteroid, /area/outpost/maintenance/central) -"vV" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, +"vU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/cable/yellow{ - icon_state = "6-8" + icon_state = "1-2" }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plating, /area/outpost/maintenance/central) -"vX" = ( -/obj/item/decal_painter, -/obj/item/floor_painter{ - pixel_y = 6; - pixel_x = 5 - }, -/obj/structure/rack, -/obj/item/stack/tile/carpet{ - pixel_x = 6; - pixel_y = -4; - amount = 27 +"vY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 }, -/obj/effect/turf_decal/siding/wood, +/mob/living/simple_animal/hostile/cockroach, /turf/open/floor/plasteel/grimy, /area/outpost/maintenance/starboard) "vZ" = ( @@ -4449,11 +4452,21 @@ /obj/effect/decal/cleanable/confetti, /turf/open/floor/wood, /area/outpost/crew/library) -"we" = ( -/obj/structure/grille/indestructable, -/obj/structure/window/reinforced/fulltile/indestructable, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) +"wd" = ( +/obj/structure/table, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) +"wh" = ( +/obj/structure/table, +/obj/item/radio/intercom/table{ + dir = 8; + layer = 2.99; + pixel_x = -6 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/grimy, +/area/outpost/security) "wi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 @@ -4465,6 +4478,19 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/central) +"wj" = ( +/obj/item/stack/tile/carpet{ + pixel_x = -7; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor5" + }, +/mob/living/simple_animal/mouse/white, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "wk" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -4475,41 +4501,47 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"wp" = ( -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +"wl" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, +/obj/machinery/computer/cryopod/retro/directional/west, +/turf/open/floor/plasteel/patterned, +/area/outpost/crew/cryo) +"wo" = ( +/obj/machinery/vending/coffee, +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "wq" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"wr" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 +"ws" = ( +/obj/structure/sink{ + dir = 8; + pixel_y = 0; + pixel_x = 14 }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"wu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/mirror{ + pixel_x = 25 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/light/small/directional/south, +/obj/machinery/button/door{ + pixel_y = -21; + dir = 1; + pixel_x = -9; + name = "door lock"; + id = "b2"; + specialfunctions = 4; + normaldoorcontrol = 1 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/outpost/hallway/port) -"wv" = ( -/turf/open/floor/plating, -/area/outpost/crew/bar) +/turf/open/floor/plasteel/mono, +/area/outpost/hallway/central) "ww" = ( /obj/machinery/door/airlock/glass{ name = "Cryogenics" @@ -4529,85 +4561,101 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/crew/cryo) +"wy" = ( +/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 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/crew/cryo) +"wz" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "wA" = ( /obj/effect/decal/cleanable/food/tomato_smudge, /turf/open/floor/wood/mahogany, /area/outpost/crew/bar) -"wC" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +"wB" = ( +/obj/structure/chair/plastic{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"wE" = ( -/obj/structure/closet/secure_closet/armory1, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"wF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"wD" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 10 }, -/obj/structure/disposalpipe/segment, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/outpost/security) +"wG" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating/rust, -/area/outpost/hallway/central) -"wI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 + icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"wH" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 +/obj/item/crowbar{ + pixel_y = 7; + pixel_x = 6 }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) +/obj/item/cigbutt/roach, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) "wK" = ( /turf/closed/indestructible/reinforced, /area/outpost/vacant_rooms/office) "wL" = ( /turf/closed/indestructible/reinforced, /area/outpost/vacant_rooms) -"wN" = ( -/obj/machinery/vending/coffee, -/obj/machinery/light/dim/directional/south, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) "wO" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"wP" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/grille/indestructable, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) "wR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/foamedmetal, /turf/open/floor/plating, /area/outpost/maintenance/central) "wS" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plasteel, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "wT" = ( /obj/machinery/jukebox{ @@ -4630,76 +4678,31 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "wV" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"wW" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/outpost/security) -"wX" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/storage) -"wY" = ( -/obj/machinery/firealarm/directional/north, -/obj/structure/crate_shelf, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/mono{ - dir = 1 - }, -/area/outpost/cargo) -"wZ" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"xc" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ - dir = 1 - }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/light/small/directional/west, /turf/open/floor/plasteel, -/area/outpost/security) -"xf" = ( +/area/outpost/crew/janitor) +"xh" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "2-4" }, /obj/effect/turf_decal/borderfloor{ - dir = 6 + dir = 5 }, /turf/open/floor/plasteel/mono{ dir = 1 }, /area/outpost/cargo) -"xk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +"xi" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, +/area/outpost/hallway/central) +"xl" = ( +/turf/closed/indestructible/reinforced/rust, /area/outpost/vacant_rooms) "xm" = ( /obj/machinery/light/small/directional/south, @@ -4707,58 +4710,69 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"xr" = ( -/obj/structure/chair/sofa/brown/old/directional/east, -/obj/effect/decal/cleanable/blood, -/turf/open/floor/carpet, -/area/outpost/maintenance/starboard) -"xu" = ( -/obj/effect/spawner/random/trash/grille_or_waste, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"xy" = ( -/obj/structure/falsewall/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +"xn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 }, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"xp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, +/obj/structure/disposalpipe/segment, +/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/outpost/maintenance/central) -"xI" = ( -/obj/machinery/cryopod, -/obj/structure/sign/poster/random{ - pixel_y = 30 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"xs" = ( +/obj/structure/falsewall/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/crew/cryo) -"xJ" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/door/window{ - req_access = list("101") +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/door/window{ - req_access = list("101"); +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"xt" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/security) +"xu" = ( +/obj/effect/spawner/random/trash/grille_or_waste, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"xw" = ( +/obj/machinery/newscaster/directional/west, +/obj/structure/disposalpipe/segment{ dir = 1 }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/outpost/security) +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) +"xD" = ( +/obj/machinery/conveyor{ + id = "outpost3"; + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/hallway/central) "xK" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -4772,27 +4786,12 @@ /obj/effect/turf_decal/techfloor, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"xM" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/kitchen/fork{ - pixel_y = 0; - pixel_x = -7 - }, -/obj/item/kitchen/fork{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/reagent_containers/syringe, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) "xN" = ( -/obj/item/stack/sheet/mineral/sandstone{ - pixel_x = 5; - pixel_y = 6 - }, -/turf/open/floor/plating/asteroid, -/area/outpost/maintenance/starboard) +/obj/machinery/washing_machine, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/maintenance/central) "xQ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -4801,11 +4800,26 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"xU" = ( -/obj/structure/chair/bench/beige/directional/south, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) +"xR" = ( +/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/dirt/dust, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/central) +"xT" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "xW" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -4825,36 +4839,40 @@ /obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"xZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/closet/l3closet/janitor, -/obj/effect/turf_decal/steeldecal/steel_decals3, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) +"ya" = ( +/obj/structure/closet/secure_closet/armory1, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, +/area/outpost/security) "yc" = ( /obj/structure/foamedmetal, /turf/open/floor/plating, /area/outpost/maintenance/central) -"yf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 +"yd" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/structure/sign/poster/random{ + pixel_x = -28 }, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"yh" = ( -/obj/structure/reagent_dispensers/beerkeg, -/obj/effect/turf_decal/siding/wood{ +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/crew/bar) +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"yi" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/caution, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "yj" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning{ @@ -4871,10 +4889,18 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/hallway/port) -"yk" = ( -/obj/structure/table, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) +"yn" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/external) +"yo" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "yq" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 @@ -4884,37 +4910,75 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"yv" = ( -/obj/structure/table/reinforced, -/obj/structure/railing/thin, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"yB" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ +"yw" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"yy" = ( +/obj/machinery/vending/wallmed{ + pixel_x = 22 + }, +/obj/structure/table, +/obj/structure/disposalpipe/segment{ dir = 9 }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/outpost/medical) +"yz" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/security) "yE" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/wood, /area/outpost/crew/bar) -"yL" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +"yH" = ( +/obj/structure/railing/wood{ + dir = 2; + color = "#792f27" + }, +/turf/open/floor/plasteel/stairs/wood{ + dir = 4; + color = "#792f27" + }, +/area/outpost/crew/bar) +"yM" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 5 }, -/obj/effect/turf_decal/corner/opaque/white, /turf/open/floor/plasteel, -/area/outpost/hallway/port) -"yN" = ( -/obj/structure/rack, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 4 +/area/outpost/security) +"yO" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 }, /turf/open/floor/plasteel/dark, -/area/outpost/vacant_rooms) +/area/outpost/hallway/central) +"yP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/outpost/hallway/port) "yQ" = ( /obj/structure/chair{ dir = 1 @@ -4926,13 +4990,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/central) -"yR" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) "yS" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -4940,93 +4997,61 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"yU" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"yV" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"yX" = ( -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) -"yY" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"yZ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, +"yT" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/outpost/hallway/central) -"za" = ( -/turf/closed/indestructible/reinforced/rust, /area/outpost/crew/bar) -"zb" = ( -/obj/machinery/newscaster/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +"zd" = ( +/obj/structure/cable/yellow{ + icon_state = "6-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/outpost/hallway/central) -"zg" = ( -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"zo" = ( -/obj/effect/decal/cleanable/glass/strange, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 10 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/central) +"zh" = ( /obj/structure/cable/yellow{ - icon_state = "5-8" + icon_state = "4-8" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/central) -"zp" = ( -/obj/structure/flora/rock, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/asteroid, -/area/outpost/maintenance/starboard) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"zi" = ( +/obj/item/kirbyplants{ + icon_state = "plant-21"; + name = "oxygen reclaimation system" + }, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) +"zl" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"zm" = ( +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "zq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -5035,61 +5060,61 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) -"zr" = ( +"zs" = ( /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 5 + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/storage) -"zv" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"zC" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/computer/hydrogen_exchange{ + dir = 8 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"zD" = ( -/obj/machinery/camera/autoname{ - dir = 4 +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono, +/area/outpost/vacant_rooms/office) +"zt" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -19; + pixel_x = 2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/toy/balloon, +/obj/item/toy/balloon, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"zx" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, -/obj/machinery/light/directional/north, /turf/open/floor/plasteel/dark, -/area/outpost/security) +/area/outpost/hallway/central) "zE" = ( /obj/structure/cable/yellow{ icon_state = "1-8" }, /turf/open/floor/plating/asteroid, /area/outpost/external) +"zF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) "zG" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/structure/rack, +/obj/effect/spawner/random/clothing/kittyears_or_rabbitears, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/turf_decal/corner/opaque/neutral/half{ dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"zI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/comfy/orange/directional/north, -/turf/open/floor/plating, -/area/outpost/crew/bar) -"zL" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/turf/open/floor/plasteel/dark, +/area/outpost/vacant_rooms) "zM" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5114,23 +5139,39 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) -"zR" = ( -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 6 +"zP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"zQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/cable/yellow{ - icon_state = "1-4" + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/corner/opaque/white{ dir = 5 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/fore) +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "zS" = ( /obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/central) +"zU" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "zY" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable/yellow{ @@ -5142,6 +5183,33 @@ /obj/effect/decal/cleanable/generic, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) +"zZ" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/obj/structure/chair/bench/olive/directional/east{ + dir = 2 + }, +/obj/machinery/camera/autoname, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) +"Aa" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 + }, +/obj/structure/table, +/obj/item/reagent_containers/glass/rag{ + pixel_y = 12; + pixel_x = -5 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_y = 6; + pixel_x = 4 + }, +/obj/structure/cable/yellow, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/plasteel, +/area/outpost/medical) "Ab" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -5150,21 +5218,29 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Ac" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/maintenance/starboard) -"Ai" = ( /obj/structure/falsewall/reinforced, -/turf/open/floor/plating, -/area/outpost/hallway/central) +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) +"Ad" = ( +/obj/effect/decal/cleanable/glass/strange, +/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, +/obj/structure/cable/yellow{ + icon_state = "5-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) "Aj" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half, -/obj/structure/chair/bench/olive/directional/north, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/medical) +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "Ak" = ( /obj/machinery/door/airlock/maintenance{ dir = 4 @@ -5180,13 +5256,20 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/maintenance/fore) -"Am" = ( -/obj/effect/spawner/random/vending/cola, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 8 +"Al" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/grille/indestructable, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) "Ao" = ( /obj/item/radio/intercom/directional/north, /obj/item/trash/can/food/beans{ @@ -5206,17 +5289,40 @@ pixel_x = -12; pixel_y = 8 }, -/turf/open/floor/plating/asteroid, -/area/outpost/maintenance/central) -"Ap" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/central) +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/central) +"Ap" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Aq" = ( +/obj/structure/sign/poster/random{ + pixel_y = 30 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Ar" = ( +/obj/structure/chair/comfy/orange/directional/south, +/obj/effect/turf_decal/siding/wood, +/obj/structure/sign/poster/random{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "As" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"At" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -5228,35 +5334,26 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Aw" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/corner/opaque/neutral/half{ +"Az" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/medical) +"AA" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, /turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"Ay" = ( -/obj/structure/window/reinforced/fulltile/indestructable, -/obj/structure/grille/indestructable, -/turf/open/floor/plating, -/area/outpost/crew/bar) +/area/outpost/hallway/central) "AB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/outpost/hallway/central) "AH" = ( @@ -5297,13 +5394,6 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/maintenance/central) -"AL" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/central) "AM" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -5314,23 +5404,6 @@ /obj/effect/decal/cleanable/confetti, /turf/open/floor/wood, /area/outpost/crew/library) -"AN" = ( -/obj/machinery/camera/autoname{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"AO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) "AP" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, @@ -5345,27 +5418,17 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"AS" = ( +"AR" = ( /obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/corner_steel_grid/full, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"AT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/storage) -"AU" = ( -/obj/machinery/light/dim/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white{ dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/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/outpost/hallway/port) "AW" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/railing, @@ -5375,32 +5438,17 @@ }, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) -"Ba" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/kirbyplants/random, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) -"Bc" = ( -/obj/item/radio/intercom/directional/west, +"Bb" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/landmark/ert_outpost_spawn, -/obj/effect/turf_decal/corner/opaque/black{ +/obj/effect/turf_decal/borderfloor{ dir = 6 }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/outpost/security) -"Bd" = ( -/obj/machinery/computer/cryopod/directional/north, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 8 +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/security) +/area/outpost/cargo) "Bf" = ( /obj/structure/table/wood, /obj/machinery/camera/autoname{ @@ -5413,45 +5461,52 @@ }, /turf/open/floor/carpet/green, /area/outpost/crew/bar) -"Bh" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Bj" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"Bg" = ( +/obj/structure/closet/crate/bin{ + pixel_y = 0 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/insectguts, +/obj/item/reagent_containers/syringe{ + pixel_y = -7; + pixel_x = -1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/item/reagent_containers/syringe{ + pixel_y = 1 }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/central) -"Bo" = ( -/obj/item/bedsheet, -/obj/structure/bed/pod, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) -"Bp" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/item/reagent_containers/syringe{ + pixel_y = -6; + pixel_x = 9 }, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"Bh" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/corner_steel_grid{ dir = 10 }, /turf/open/floor/plasteel/dark, /area/outpost/hallway/central) +"Bi" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "guy"; + pixel_y = 20 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 9 + }, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) "Bq" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -5472,25 +5527,21 @@ /obj/structure/grille/indestructable, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Bt" = ( -/obj/structure/grille/indestructable, -/obj/structure/window/reinforced/fulltile/indestructable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"Bu" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/beer/light{ - pixel_y = -2; - pixel_x = 5 +"Bs" = ( +/obj/structure/railing/thin{ + dir = 9 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"By" = ( -/obj/structure/closet/secure_closet/contraband, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/dark, -/area/outpost/security) +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/conveyor_switch{ + id = "outpost3"; + layer = 3.11; + pixel_y = 8; + pixel_x = -9 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) "Bz" = ( /obj/machinery/power/floodlight, /obj/structure/cable/yellow{ @@ -5507,63 +5558,104 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"BJ" = ( -/obj/structure/falsewall/reinforced, -/turf/open/floor/plating/asteroid, +"BC" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"BF" = ( +/obj/machinery/elevator_call_button{ + dir = 2; + pixel_y = 24 + }, +/obj/structure/chair/bench/beige/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) +"BG" = ( +/obj/machinery/microwave, +/obj/structure/table, +/obj/effect/decal/cleanable/sprayweb, +/turf/open/floor/plasteel/grimy, /area/outpost/maintenance/starboard) "BM" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/port) +"BN" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 8 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"BP" = ( +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"BQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing/thin{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"BS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/port) -"BN" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) +"BU" = ( +/obj/machinery/light/dim/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals6{ - dir = 8 + icon_state = "1-4" }, /turf/open/floor/plating, -/area/outpost/maintenance/fore) -"BO" = ( -/obj/structure/table, -/obj/item/radio/intercom/table{ - dir = 8; - layer = 2.99; - pixel_x = -6 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) -"BP" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"BR" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/crayon{ - icon_state = "f"; - pixel_y = 0; - pixel_x = -19 +"BV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "f"; - pixel_y = 0; - pixel_x = -19 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) +/obj/structure/cable/yellow{ + icon_state = "2-9" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) "BX" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/mug{ @@ -5578,30 +5670,29 @@ }, /turf/closed/indestructible/reinforced, /area/outpost/maintenance/fore) -"BZ" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - dir = 1 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - name = "oxygen reclaimation system" +"Cb" = ( +/obj/machinery/light/dim/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"Ca" = ( -/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/patterned, +/area/outpost/crew/cryo) +"Cc" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/crew/bar) +"Ce" = ( /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/dirt/dust, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/central) -"Cc" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/bar) +/obj/effect/turf_decal/steeldecal/steel_decals9, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) "Cf" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -5628,52 +5719,25 @@ }, /turf/open/floor/carpet/green, /area/outpost/crew/bar) -"Ch" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/falsewall/reinforced, -/turf/open/floor/plating, -/area/outpost/crew/bar) -"Ci" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/outpost/hallway/central) "Ck" = ( -/turf/closed/indestructible/reinforced/rust, -/area/outpost/medical) -"Cl" = ( -/obj/structure/platform/wood_two, -/turf/open/floor/plasteel/stairs/wood{ - dir = 8 - }, +/obj/item/stack/tile/carpet, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, /area/outpost/maintenance/starboard) "Cm" = ( /obj/item/toy/sprayoncan, /turf/open/floor/plating/asteroid, /area/outpost/external) -"Cn" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +"Co" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/hallway/central) "Cp" = ( /obj/machinery/camera/autoname, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) -"Cr" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 - }, -/obj/structure/chair/bench/olive/directional/east{ - dir = 2 - }, -/obj/machinery/camera/autoname, -/turf/open/floor/plasteel/dark, -/area/outpost/medical) +"Cs" = ( +/turf/open/floor/wood, +/area/outpost/crew/bar) "Ct" = ( /obj/structure/grille/indestructable, /obj/structure/cable/yellow{ @@ -5693,157 +5757,150 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) -"CB" = ( -/obj/machinery/newscaster/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +"Cx" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/siding/wood/corner{ dir = 4 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"Cy" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/turf/open/floor/plating/rust, +/turf/open/floor/plasteel, /area/outpost/hallway/central) -"CF" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 9 +"CB" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) -"CI" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/structure/curtain/cloth/fancy{ - dir = 8; - open = 0 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"CE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plasteel/stairs{ - dir = 8 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"CK" = ( -/turf/open/floor/wood, -/area/outpost/crew/bar) -"CL" = ( -/obj/machinery/conveyor{ - id = "outpost3"; - dir = 5 +"CH" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel/patterned/grid, +/turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) "CM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/structure/chair/stool/bar{ dir = 4 }, -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "0-2" }, -/turf/open/floor/plating, -/area/outpost/hallway/central) +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) "CN" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 +/obj/structure/chair/bench/beige/directional/south, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) +"CR" = ( +/obj/machinery/power/smes/magical{ + name = "power relay"; + output_level = 200000 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 +/obj/structure/cable/yellow{ + icon_state = "0-4" }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"CT" = ( +/obj/effect/decal/cleanable/glass/strange, +/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/dark, -/area/outpost/hallway/central) -"CP" = ( -/obj/machinery/microwave, -/obj/structure/table, -/obj/effect/decal/cleanable/sprayweb, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) -"CS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) +"CV" = ( /obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"CZ" = ( +/obj/machinery/disposal/deliveryChute{ + name = "fun chute"; + desc = "If it's so fun, what's the harm in it?" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -19; + pixel_x = 2 + }, +/obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/corner_techfloor_gray{ - dir = 10 + dir = 5 }, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"Dc" = ( +/obj/structure/falsewall/reinforced, /turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"CU" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/area/outpost/vacant_rooms) +"Dj" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 4 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"CV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Dk" = ( /obj/structure/cable/yellow{ - icon_state = "2-8" + icon_state = "1-2" }, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"CX" = ( -/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-4" }, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"Df" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half, -/obj/structure/chair/bench/olive/directional/north, /turf/open/floor/plasteel/dark, -/area/outpost/medical) -"Dg" = ( +/area/outpost/hallway/port) +"Dl" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"Di" = ( -/obj/structure/table/reinforced, -/obj/machinery/conveyor_switch{ - id = "outpost1"; - layer = 3.11; - pixel_y = 4; - pixel_x = 5 - }, -/obj/structure/railing/thin, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) "Dm" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"Do" = ( -/obj/effect/turf_decal/corner/opaque/black{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/outpost/security) -"Dp" = ( -/turf/open/floor/plating/asteroid, -/area/outpost/maintenance/starboard) +"Dn" = ( +/obj/structure/grille/indestructable, +/obj/structure/window/reinforced/fulltile/indestructable, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "Dq" = ( /obj/structure/falsewall/reinforced, /obj/structure/cable/yellow{ @@ -5851,42 +5908,106 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"DA" = ( -/obj/structure/barricade/wooden/crude, -/obj/structure/grille/indestructable, -/obj/structure/window/reinforced/fulltile/indestructable, -/turf/open/floor/plating, -/area/outpost/maintenance/central) -"DD" = ( -/turf/open/floor/plasteel/stairs, -/area/outpost/maintenance/starboard) -"DF" = ( +"Dr" = ( +/obj/machinery/newscaster/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/structure/disposalpipe/segment{ +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"Dt" = ( +/obj/structure/chair/sofa/brown/corner/directional/east, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"Dv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"Dw" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/machinery/camera/autoname{ dir = 4 }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, +/area/outpost/crew/cryo) +"Dx" = ( +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Dy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood, +/area/outpost/maintenance/starboard) +"Dz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/crew/bar) +"DB" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/security) +"DC" = ( /obj/structure/cable/yellow{ - icon_state = "1-8" + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/effect/turf_decal/corner_steel_grid{ dir = 10 }, /turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"DH" = ( -/obj/structure/rack, -/obj/effect/spawner/random/clothing/bowler_or_that, -/obj/effect/spawner/random/maintenance/two, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 4 +/area/outpost/hallway/central) +"DE" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/outpost/storage) +/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/patterned, +/area/outpost/crew/cryo) +"DG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/dim/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) "DI" = ( /obj/structure/railing{ dir = 8 @@ -5894,6 +6015,12 @@ /obj/effect/decal/fakelattice, /turf/open/floor/plasteel/elevatorshaft, /area/outpost/security) +"DK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "DL" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -5902,19 +6029,12 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "DO" = ( -/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/door/airlock{ - name = "Laundry Room" +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/turf/open/floor/plasteel/tech, -/area/outpost/maintenance/central) +/obj/effect/turf_decal/corner/opaque/white, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "DP" = ( /obj/structure/railing/corner, /obj/machinery/light/dim/directional/north, @@ -5926,16 +6046,10 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"DS" = ( -/obj/machinery/power/smes/magical{ - name = "power relay"; - output_level = 200000 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, +"DR" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/outpost/maintenance/fore) +/area/outpost/hallway/central) "DV" = ( /obj/structure/falsewall/reinforced, /turf/open/floor/plating, @@ -5948,10 +6062,45 @@ /obj/effect/decal/cleanable/generic, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) -"DZ" = ( -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +"DX" = ( +/obj/effect/spawner/random/vending/snack, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"Ea" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"Ec" = ( +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/crew/library) +"Ed" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/maintenance{ + req_access = list("101") + }, +/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/effect/mapping_helpers/airlock/locked, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "Ef" = ( /obj/effect/turf_decal/corner_techfloor_gray{ dir = 9 @@ -5960,43 +6109,35 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) -"Eg" = ( -/obj/machinery/holopad/emergency/janitor, -/obj/effect/turf_decal/trimline/opaque/purple/filled, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) +"Eh" = ( +/turf/open/floor/plasteel/stairs, +/area/outpost/maintenance/starboard) "Ei" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/spider/stickyweb, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Ej" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +/obj/machinery/computer/helm/viewscreen/directional/north, +/obj/structure/chair/comfy/olive{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 9 +/obj/effect/turf_decal/corner/opaque/black/border{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Eo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Eq" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/turf/open/floor/plasteel/grimy, +/area/outpost/security) +"En" = ( +/obj/machinery/camera/autoname{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "1-8" }, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/outpost/hallway/central) "Et" = ( /obj/machinery/disposal/bin, @@ -6006,44 +6147,43 @@ /obj/effect/turf_decal/box, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) -"Ez" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +"Ev" = ( +/obj/structure/sign/poster/rilena/run{ + pixel_y = 30 }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/structure/table, +/obj/item/modular_computer/laptop/preset/civilian/rilena{ + pixel_y = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock{ - name = "Recycling" +/obj/item/reagent_containers/food/drinks/rilenacup{ + pixel_y = -2; + pixel_x = 7 }, -/turf/open/floor/plasteel/tech, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, /area/outpost/hallway/central) -"EB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 +"Ew" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 8 }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"EC" = ( -/obj/structure/closet/firecloset/wall/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ +"EA" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "ED" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt/dust, @@ -6053,76 +6193,30 @@ }, /turf/open/floor/carpet/green, /area/outpost/crew/bar) -"EG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/purple/filled/line, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) -"EH" = ( -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"EI" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, +"EF" = ( +/obj/structure/falsewall/reinforced, /turf/open/floor/plating, -/area/outpost/hallway/central) -"EK" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/area/outpost/maintenance/starboard) "EP" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"EQ" = ( +/obj/structure/falsewall/reinforced, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/closed/indestructible/reinforced/rust, +/area/outpost/maintenance/fore) "ER" = ( /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/outpost/maintenance/central) -"EU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/grille/indestructable, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/starboard) -"EV" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"EW" = ( -/turf/closed/indestructible/reinforced/rust, -/area/outpost/vacant_rooms) "EX" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"EZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/mouse, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) "Fa" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable/yellow{ @@ -6140,33 +6234,24 @@ }, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) -"Ff" = ( -/obj/machinery/newscaster/directional/west, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Fh" = ( -/obj/machinery/door/firedoor/heavy, -/obj/structure/grille/indestructable, -/obj/structure/window/reinforced/fulltile/indestructable, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +"Fg" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_x = -8 }, -/turf/open/floor/plating, -/area/outpost/vacant_rooms/office) -"Fi" = ( -/obj/structure/disposalpipe/segment{ - dir = 1 +/obj/item/newspaper{ + pixel_x = 7; + pixel_y = 7 }, -/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/grimy, +/area/outpost/crew/bar) +"Fh" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 8 }, /turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) +/area/outpost/security) "Fl" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -6177,23 +6262,23 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Fn" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ +"Fm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, -/area/outpost/crew/janitor) -"Fq" = ( -/obj/structure/window/reinforced/fulltile/indestructable, -/obj/structure/grille/indestructable, -/turf/open/floor/plating, -/area/outpost/crew/library) -"Fr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/vending/boozeomat, -/turf/open/floor/carpet/green, -/area/outpost/crew/bar) +/area/outpost/vacant_rooms) +"Fo" = ( +/obj/machinery/light/dim/directional/north, +/obj/structure/ore_box, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/outpost/cargo) "Fs" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -6206,35 +6291,23 @@ }, /area/outpost/crew/bar) "Ft" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"Fu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/machinery/door/window{ + req_access = list("101") }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/machinery/door/window{ + req_access = list("101"); + dir = 1 }, -/obj/structure/grille/indestructable, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 10 +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/starboard) +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech, +/area/outpost/security) "Fv" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -6242,99 +6315,63 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) -"Fx" = ( -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 - }, -/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/mono, -/area/outpost/vacant_rooms/office) -"FB" = ( -/obj/structure/platform/wood_two/corner, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"FE" = ( -/obj/machinery/mineral/electrolyzer_unloader, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"FF" = ( -/obj/structure/sign/poster/rilena/ri{ - pixel_x = -26 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/crayon{ - icon_state = "guy"; - pixel_y = 20 - }, -/obj/effect/decal/cleanable/garbage{ - pixel_x = -7; - pixel_y = -3 - }, -/obj/item/paper/crumpled{ - pixel_y = -2; - pixel_x = 5 - }, -/obj/item/paper/crumpled{ - pixel_y = 5; - pixel_x = -4 - }, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"FH" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/storage) "FI" = ( /obj/structure/railing, /obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/corner/opaque/brown{ dir = 5 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"FJ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/outpost/crew/library) -"FM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/cigbutt/roach, -/obj/effect/decal/cleanable/ash, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/carpet, -/area/outpost/maintenance/starboard) -"FN" = ( -/obj/structure/urinal{ - dir = 8; - pixel_x = 18 +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"FJ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/outpost/crew/library) +"FK" = ( +/obj/structure/toilet{ + dir = 4; + pixel_y = 0; + pixel_x = -6 + }, +/obj/structure/mirror{ + pixel_y = 30 + }, +/obj/structure/sink{ + pixel_y = 24 }, -/obj/effect/turf_decal/steeldecal/steel_decals6{ - dir = 9 +/turf/open/floor/plasteel, +/area/outpost/crew/bar) +"FL" = ( +/turf/open/floor/plating{ + icon_state = "platingdmg3" }, -/turf/open/floor/plasteel/mono, -/area/outpost/hallway/central) -"FQ" = ( +/area/outpost/maintenance/central) +"FP" = ( /obj/structure/disposalpipe/segment{ - dir = 6 + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/patterned, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) "FS" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"FW" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "FY" = ( /obj/effect/decal/cleanable/crayon{ icon_state = "electricdanger"; @@ -6344,6 +6381,21 @@ /obj/effect/turf_decal/steeldecal/steel_decals10, /turf/open/floor/plating, /area/outpost/maintenance/central) +"FZ" = ( +/obj/item/radio/intercom/wideband/table{ + dir = 8; + pixel_y = 19; + pixel_x = -6 + }, +/obj/machinery/computer/security{ + dir = 4; + layer = 3.1; + pixel_y = 5; + pixel_x = -5 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/grimy, +/area/outpost/security) "Gb" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -6351,6 +6403,31 @@ /obj/structure/foamedmetal, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Gd" = ( +/obj/machinery/conveyor{ + id = "outpost3"; + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/hallway/central) +"Ge" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Gg" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/closet/l3closet/janitor, +/obj/effect/turf_decal/steeldecal/steel_decals3, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) "Gi" = ( /obj/machinery/atmospherics/components/unary/hydrogen_pump, /obj/effect/turf_decal/industrial/outline/yellow, @@ -6376,12 +6453,6 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Gl" = ( -/obj/structure/bed/pod, -/obj/item/bedsheet, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) "Gm" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -6393,111 +6464,88 @@ /obj/effect/spawner/random/clothing/bowler_or_that, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Go" = ( +/obj/structure/chair/sofa/brown/old/corner/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) "Gr" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) +"Gs" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, /area/outpost/hallway/central) "Gt" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/crayon{ + icon_state = "f"; + pixel_y = 0; + pixel_x = -19 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "f"; + pixel_y = 0; + pixel_x = -19 + }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"Gw" = ( +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plating/asteroid, /area/outpost/maintenance/starboard) -"Gu" = ( -/obj/machinery/firealarm/directional/south, -/obj/structure/janitorialcart, -/obj/item/mop, -/obj/item/clothing/gloves/color/purple, -/obj/item/clothing/head/beanie/purple, -/obj/item/clothing/neck/tie/purple, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) -"Gv" = ( -/obj/structure/table, -/obj/effect/turf_decal/floordetail/tiled, -/obj/machinery/fax/admin/outpost{ - pixel_y = 5 +"Gx" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "GC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/generic, -/obj/effect/decal/cleanable/confetti, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner_techfloor_gray, /turf/open/floor/plating, /area/outpost/maintenance/starboard) -"GE" = ( -/obj/structure/chair/comfy/orange/directional/south, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"GK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, +"GJ" = ( +/obj/item/kirbyplants/random, /turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) +/area/outpost/hallway/central) "GL" = ( /obj/effect/landmark/outpost/elevator{ shaft = "1" }, /turf/open/floor/plasteel/elevatorshaft, /area/outpost/hallway/central) -"GM" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/caution{ - dir = 8 - }, -/obj/structure/railing/thin, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"GO" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +"GN" = ( +/obj/structure/closet/secure_closet/armory3, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, +/area/outpost/security) +"GR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"GQ" = ( -/obj/structure/window/reinforced/fulltile, -/obj/structure/grille/indestructable, -/turf/open/floor/plating, -/area/outpost/cargo/office) +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "GS" = ( /obj/machinery/modular_computer/console/preset/civilian, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) -"GT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) -"GU" = ( -/obj/structure/cable/yellow{ - icon_state = "6-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/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 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/central) "GW" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt/dust, @@ -6529,103 +6577,66 @@ /turf/open/floor/plating/asteroid, /area/outpost/external) "Hc" = ( -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"He" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"Hh" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"Hi" = ( -/obj/machinery/door/airlock{ - dir = 4; - name = "Bar" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) +"Hd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/newscaster/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-2" }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"Hf" = ( /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/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 + dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/bar) -"Hk" = ( -/obj/structure/rack, -/obj/effect/spawner/random/clothing/beret_or_rabbitears, -/obj/machinery/light/dim/directional/west, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, /turf/open/floor/plasteel/dark, -/area/outpost/storage) +/area/outpost/hallway/central) "Hl" = ( /mob/living/simple_animal/mouse/brown, /obj/effect/turf_decal/steeldecal/steel_decals6, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Hn" = ( -/obj/structure/chair/stool/bar{ +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, -/mob/living/simple_animal/hostile/cockroach, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"Hp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/cigbutt/roach{ - pixel_x = -5; - pixel_y = -4 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "Hs" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/outpost/hallway/central) "Ht" = ( /obj/effect/turf_decal/industrial/warning{ @@ -6661,45 +6672,50 @@ /obj/structure/grille/indestructable, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Hz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +"Hw" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 6 +/obj/structure/chair/bench/olive/directional/east{ + dir = 2 }, +/obj/machinery/light/dim/directional/east, /turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"HB" = ( -/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 +/area/outpost/medical) +"Hx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/item/folder{ - pixel_x = -5; - pixel_y = 2 +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) +"HA" = ( +/obj/machinery/cryopod, +/obj/structure/sign/poster/random{ + pixel_y = 30 }, -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, /area/outpost/crew/cryo) -"HC" = ( -/turf/closed/indestructible/reinforced/rust, -/area/outpost/external) "HD" = ( /turf/closed/indestructible/rock, /area/outpost/external) -"HF" = ( -/obj/structure/table/wood, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) +"HE" = ( +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "HG" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning{ @@ -6717,34 +6733,66 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech, /area/outpost/hallway/central) -"HJ" = ( -/obj/structure/ore_box, -/turf/open/floor/plasteel/mono{ - dir = 1 - }, -/area/outpost/cargo) "HL" = ( /obj/structure/easel, /obj/effect/decal/cleanable/dirt/dust, /obj/item/canvas/nineteenXnineteen, /turf/open/floor/wood, /area/outpost/crew/library) -"HO" = ( -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "1" +"HM" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "!"; + pixel_x = 9 }, -/obj/machinery/door/airlock/hatch{ - dir = 4 +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -19; + pixel_x = 2 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -25; + pixel_x = -7 }, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = 11; + pixel_x = -14 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "arrow"; + pixel_y = -19; + pixel_x = 2 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "f"; + pixel_y = 0; + pixel_x = -19 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "n" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "u"; + pixel_y = -5; + pixel_x = -10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"HN" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ dir = 8 }, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"HQ" = ( +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) +"HO" = ( /obj/structure/disposalpipe/junction/flip{ dir = 1 }, @@ -6754,17 +6802,21 @@ }, /turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"HR" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +"HU" = ( +/obj/structure/urinal{ + dir = 8; + pixel_x = 18 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 6 }, +/turf/open/floor/plasteel/mono, +/area/outpost/hallway/central) +"HV" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-2" }, /turf/open/floor/plating, /area/outpost/hallway/central) @@ -6786,45 +6838,15 @@ }, /turf/open/floor/plating, /area/outpost/crew/bar) -"HZ" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction/yjunction{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"Ia" = ( -/obj/item/radio/intercom/wideband/table{ - dir = 8; - pixel_y = 19; - pixel_x = -6 - }, -/obj/machinery/computer/security{ - dir = 4; - layer = 3.1; - pixel_y = 5; - pixel_x = -5 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) "Ic" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/storage) +"Ie" = ( +/obj/structure/chair/bench/beige/directional/north, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) "If" = ( /obj/effect/turf_decal/corner_techfloor_gray{ dir = 9 @@ -6832,28 +6854,38 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) -"Ip" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/decal/cleanable/ash{ - pixel_y = 14; - pixel_x = -7 +"Ih" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/starboard) -"Is" = ( -/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/opaque/purple/filled/line, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) +"Ij" = ( +/obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/storage) -"It" = ( -/obj/structure/flora/rock, -/turf/open/floor/plating/asteroid, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"In" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt/roach{ + pixel_x = -5; + pixel_y = -4 + }, +/turf/open/floor/plating, /area/outpost/maintenance/starboard) "Iu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -6868,11 +6900,29 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/central) -"Ix" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/crew/bar) +"Iw" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/window{ + req_access = list("101"); + dir = 8 + }, +/obj/machinery/door/window{ + req_access = list("101"); + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/outpost/security) "Iz" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -6886,99 +6936,19 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) -"IB" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/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/outpost/hallway/port) "ID" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) +/turf/closed/indestructible/rock, +/area/outpost/maintenance/starboard) "IE" = ( /obj/structure/chair/wood, /turf/open/floor/wood, /area/outpost/crew/bar) -"IH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) "IJ" = ( /obj/structure/table, /obj/item/trash/can/food/beans, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/central) -"IL" = ( -/obj/effect/turf_decal/corner/opaque/black, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"IM" = ( -/obj/structure/cable/yellow{ - icon_state = "4-10" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"IN" = ( -/obj/effect/decal/cleanable/crayon{ - icon_state = "arrow"; - pixel_y = -25; - pixel_x = -7 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"IS" = ( -/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/patterned, -/area/outpost/crew/cryo) -"IT" = ( -/obj/machinery/camera/autoname, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) "IU" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -6997,36 +6967,41 @@ "IW" = ( /turf/closed/indestructible/rock, /area/outpost/maintenance/central) -"Ja" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +"Jc" = ( +/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, /obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/west, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" }, -/turf/open/floor/plating, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) -"Jh" = ( +"Je" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ - icon_state = "2-8" + icon_state = "1-8" }, /obj/structure/cable/yellow{ - icon_state = "2-4" + icon_state = "1-4" }, /turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"Jo" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/crayon{ - icon_state = "peace"; - pixel_y = -26 - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, /area/outpost/hallway/central) +"Jk" = ( +/obj/item/bedsheet, +/obj/structure/bed/pod, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/grimy, +/area/outpost/security) "Jp" = ( /obj/machinery/door/airlock/public, /obj/effect/turf_decal/industrial/warning, @@ -7047,39 +7022,6 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms) -"Jq" = ( -/obj/structure/chair/sofa/brown/corner/directional/east, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"Jr" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating/rust, -/area/outpost/hallway/central) -"Jt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/firealarm/directional/south, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"Jx" = ( -/obj/item/stack/tile/carpet, -/obj/structure/rack, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) "JA" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/disposal/bin, @@ -7089,21 +7031,16 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/wood, /area/outpost/crew/bar) -"JE" = ( -/obj/machinery/shower{ - dir = 4; - desc = "An old shower. It looks rusted." - }, -/obj/structure/toilet{ - pixel_y = 13; - pixel_x = 9 +"JB" = ( +/obj/machinery/camera/autoname{ + dir = 8 }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/effect/turf_decal/steeldecal/steel_decals6, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) +/obj/effect/turf_decal/corner/opaque/white, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "JF" = ( /obj/effect/decal/cleanable/crayon{ icon_state = "electricdanger"; @@ -7112,23 +7049,38 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"JM" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/beer/light{ - pixel_x = -8 +"JO" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/item/newspaper{ - pixel_x = 7; - pixel_y = 7 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"JP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "JS" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"JT" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/siding/wood/corner, +/obj/item/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 18; + pixel_x = -11 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "JU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7142,35 +7094,22 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) -"JV" = ( -/obj/structure/rack, -/obj/effect/spawner/random/clothing/pirate_or_bandana, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/outpost/storage) "JW" = ( /obj/machinery/vending/games, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"JX" = ( -/obj/machinery/conveyor{ - id = "outpost3"; - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/central) -"Kb" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_y = 11; - pixel_x = 8 +"Kc" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/maintenance/starboard) +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) "Kd" = ( /obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -7185,55 +7124,75 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/central) -"Kh" = ( -/obj/machinery/light/dim/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +"Kj" = ( +/obj/item/decal_painter, +/obj/item/floor_painter{ + pixel_y = 6; + pixel_x = 5 }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/structure/rack, +/obj/item/stack/tile/carpet{ + pixel_x = 6; + pixel_y = -4; + amount = 27 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"Kk" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"Kl" = ( -/obj/machinery/vending/wallmed{ - pixel_x = 22 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/structure/table, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/machinery/door/airlock/maintenance{ + dir = 4 }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, /obj/structure/cable/yellow{ - icon_state = "2-8" + icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/outpost/medical) -"Ko" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/port) +"Km" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/vacant_rooms/office) +"Kp" = ( +/obj/structure/chair/stool/bar{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/outpost/medical) +/mob/living/simple_animal/hostile/cockroach, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "Kr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/spider/stickyweb, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Ks" = ( -/obj/structure/chair/bench/beige/directional/north, +"Kt" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) +/area/outpost/crew/bar) "Kv" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/corner/opaque/neutral/half, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) +/obj/structure/grille, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"Kw" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) "Kx" = ( /turf/closed/indestructible/reinforced, /area/outpost/storage) @@ -7253,16 +7212,6 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/hallway/port) -"Kz" = ( -/obj/structure/falsewall/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/closed/indestructible/reinforced/rust, -/area/outpost/maintenance/central) "KC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7273,6 +7222,17 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) +"KE" = ( +/obj/machinery/mineral/unloading_machine{ + input_dir = 2; + output_dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/platform/ship_two{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) "KF" = ( /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -7301,15 +7261,11 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/crew/janitor) -"KG" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 6 - }, +"KH" = ( +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/structure/grille/indestructable, /turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/area/outpost/medical) "KI" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -7324,23 +7280,28 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/outpost/maintenance/central) -"KK" = ( -/obj/machinery/button/door{ - dir = 8; - pixel_x = 22; - pixel_y = 9; - id = "out3"; - normaldoorcontrol = 1; - specialfunctions = 4 +"KM" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 1 }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters, /turf/open/floor/plasteel, -/area/outpost/crew/bar) -"KS" = ( -/obj/structure/railing/thin{ +/area/outpost/security) +"KN" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) +"KQ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/hallway/central) "KV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7351,25 +7312,11 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) -"KW" = ( -/obj/effect/spawner/random/vending/cola, -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/library) -"KY" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/borderfloor{ - dir = 5 - }, -/turf/open/floor/plasteel/mono{ - dir = 1 - }, -/area/outpost/cargo) +"KX" = ( +/obj/structure/window/reinforced/fulltile/indestructable, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/crew/bar) "KZ" = ( /obj/machinery/door/airlock/maintenance{ dir = 4; @@ -7396,23 +7343,22 @@ /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plasteel/tech, /area/outpost/cargo) -"Le" = ( +"Lb" = ( /obj/structure/cable/yellow{ - icon_state = "2-4" + icon_state = "2-9" }, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/corner/opaque/black, -/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"Lf" = ( +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/outpost/security) -"Lg" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/outpost/hallway/port) +/area/outpost/hallway/central) "Lh" = ( /turf/closed/indestructible/reinforced, /area/outpost/security) @@ -7420,11 +7366,41 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/green, /area/outpost/crew/bar) -"Lm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plating/rust, +"Lk" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) +"Ln" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Lo" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/outpost/cargo) +"Lp" = ( +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, /area/outpost/maintenance/starboard) +"Lr" = ( +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "Ls" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -7441,50 +7417,88 @@ /obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 9 }, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 6 +/obj/effect/turf_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/central) +"Lz" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"LB" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/outpost/storage) +"LE" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/mahogany, +/area/outpost/crew/bar) +"LF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"LG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/sign/directions/service{ + dir = 8; + pixel_x = -28 + }, +/obj/structure/sign/directions/supply{ + pixel_y = -6; + pixel_x = -28; + dir = 4 + }, +/obj/structure/sign/directions/security{ + dir = 4; + pixel_y = 6; + pixel_x = -28 + }, +/obj/structure/sign/directions/medical{ + pixel_y = -12; + pixel_x = -28; + dir = 2 }, -/turf/open/floor/plating, -/area/outpost/maintenance/central) -"Lu" = ( -/obj/machinery/light/dim/directional/north, -/obj/structure/ore_box, -/turf/open/floor/plasteel/mono{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/area/outpost/cargo) -"LB" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/storage) -"LE" = ( -/obj/item/radio/intercom/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/mahogany, -/area/outpost/crew/bar) +/turf/open/floor/plating, +/area/outpost/hallway/central) "LH" = ( /obj/structure/spider/stickyweb, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"LJ" = ( -/obj/machinery/computer/helm/viewscreen/directional/north, -/obj/structure/chair/comfy/olive{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) -"LK" = ( -/obj/structure/window/reinforced/fulltile/indestructable, -/obj/structure/grille/indestructable, -/turf/open/floor/plating, -/area/outpost/medical) "LL" = ( /turf/closed/indestructible/reinforced, /area/outpost/hallway/port) +"LN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/reinforced, +/obj/structure/railing/thin{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "LP" = ( /obj/machinery/door/airlock, /turf/open/floor/wood, @@ -7495,40 +7509,34 @@ /obj/structure/rack, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"LS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, +"LU" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/storage) +"LZ" = ( /obj/effect/turf_decal/siding/thinplating/dark, /obj/effect/turf_decal/corner/opaque/white{ - dir = 5 + dir = 4 }, /turf/open/floor/plasteel, /area/outpost/hallway/port) -"LU" = ( -/obj/structure/falsewall/reinforced, -/turf/open/floor/plating, -/area/outpost/storage) -"LX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 +"Ma" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/modglass{ + pixel_y = 1; + pixel_x = -6 }, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) -"LY" = ( -/obj/structure/bed, -/obj/item/bedsheet/black, -/obj/item/toy/plush/rilena, -/obj/item/toy/plush/tali{ - pixel_x = 10; - pixel_y = -6 +/obj/item/reagent_containers/food/drinks/modglass{ + pixel_y = 5; + pixel_x = 5 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/steeldecal/steel_decals_central2, -/turf/open/floor/plating, -/area/outpost/hallway/central) +/turf/open/floor/wood, +/area/outpost/crew/bar) +"Mb" = ( +/obj/structure/chair/sofa/brown/old/right/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/outpost/maintenance/starboard) "Md" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -7542,24 +7550,17 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Me" = ( -/turf/open/floor/plasteel/grimy, -/area/outpost/security) -"Mk" = ( -/obj/machinery/newscaster/directional/south, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) -"Ml" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 8 +"Mg" = ( +/obj/structure/sign/poster/official/miners{ + pixel_x = 26 }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, -/area/outpost/storage) +/area/outpost/hallway/port) +"Mh" = ( +/obj/structure/closet/crate/trashcart/laundry, +/turf/open/floor/plasteel/patterned, +/area/outpost/maintenance/central) "Mm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -7611,6 +7612,28 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Mx" = ( +/obj/structure/chair/comfy/orange/directional/south, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"My" = ( +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/donut/jelly, +/obj/effect/turf_decal/floordetail/tiled, +/turf/open/floor/plasteel/grimy, +/area/outpost/security) +"MA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) "MB" = ( /obj/effect/turf_decal/corner/opaque/orange{ dir = 10 @@ -7638,16 +7661,12 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"MI" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +"MH" = ( +/obj/structure/chair/bench/beige/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) "MK" = ( /obj/structure/table/wood, @@ -7671,63 +7690,46 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"MO" = ( -/obj/structure/sign/poster/rilena/run{ - pixel_y = 30 - }, -/obj/structure/table, -/obj/item/modular_computer/laptop/preset/civilian/rilena{ - pixel_y = 9 - }, -/obj/item/reagent_containers/food/drinks/rilenacup{ - pixel_y = -2; - pixel_x = 7 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"MP" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/closet/crate/trashcart, -/turf/open/floor/plasteel/patterned, -/area/outpost/hallway/central) -"MQ" = ( -/obj/machinery/cryopod{ - dir = 1 +"MT" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/full, +/turf/open/floor/plasteel, +/area/outpost/security) +"MU" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/mineral/electrolyzer{ + output_dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 4 +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) +"MV" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/crew/cryo) -"MU" = ( -/turf/closed/indestructible/reinforced/rust, -/area/outpost/vacant_rooms/office) -"MW" = ( -/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/rust, /area/outpost/maintenance/fore) +"MX" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance/five, +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/vacant_rooms) "MZ" = ( -/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/rack, +/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Nc" = ( +/obj/effect/spawner/random/clothing/gloves, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/outpost/storage) +"Na" = ( /obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 + dir = 8 }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"Nd" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) "Ne" = ( /obj/item/radio/intercom/directional/north, /obj/structure/disposalpipe/segment{ @@ -7738,7 +7740,12 @@ /turf/open/floor/wood, /area/outpost/crew/library) "Nf" = ( +/obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, /turf/open/floor/plasteel, @@ -7758,62 +7765,52 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) -"Nn" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"No" = ( +"Nl" = ( /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donut/jelly, -/obj/effect/turf_decal/floordetail/tiled, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) -"Nu" = ( -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"Nv" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/kitchen/fork{ + pixel_y = 0; + pixel_x = -7 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/item/kitchen/fork{ + pixel_x = 8; + pixel_y = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/reagent_containers/syringe, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"Nn" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille/indestructable, +/turf/open/floor/plating, +/area/outpost/cargo/office) +"Nw" = ( +/obj/structure/urinal{ + dir = 8; + pixel_x = 18 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 9 }, -/obj/machinery/door/airlock/medical/glass{ - dir = 4 +/turf/open/floor/plasteel/mono, +/area/outpost/hallway/central) +"Ny" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" }, +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/tech, -/area/outpost/medical) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"ND" = ( +/obj/structure/falsewall/reinforced, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "NF" = ( /obj/structure/cable/yellow{ icon_state = "6-8" @@ -7828,15 +7825,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space) -"NI" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/steeldecal/steel_decals_central6, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable/yellow, -/turf/open/floor/plasteel, -/area/outpost/cargo) "NK" = ( /turf/closed/indestructible/reinforced, /area/outpost/maintenance/fore) @@ -7847,6 +7835,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"NP" = ( +/obj/structure/grille/indestructable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/window/reinforced/fulltile/indestructable, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) "NQ" = ( /obj/structure/disposalpipe/trunk/multiz/down{ dir = 8 @@ -7865,30 +7861,61 @@ /obj/item/stack/wrapping_paper, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms) -"Oa" = ( -/obj/structure/sink/kitchen{ - dir = 1; - name = "big sink" +"NW" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"NZ" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 }, -/obj/structure/mirror{ - pixel_y = -25 +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"Oc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/turf/open/floor/plasteel/patterned, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Od" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_y = -2; + pixel_x = 5 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) +"Oe" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) +"Of" = ( +/obj/structure/railing/thin{ + dir = 4 + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"Og" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/storage) "Oh" = ( /obj/structure/chair/sofa/brown/directional/north, /turf/open/floor/carpet/royalblack, /area/outpost/crew/bar) -"Oi" = ( -/obj/effect/turf_decal/siding/thinplating/dark/end{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) "On" = ( /obj/machinery/conveyor/auto{ id = "outpost3"; @@ -7897,20 +7924,38 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Op" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, /turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Oq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) "Or" = ( /obj/structure/chair/sofa/brown/corner/directional/north, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/royalblack, /area/outpost/crew/bar) +"Ou" = ( +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/crew/bar) +"Ox" = ( +/obj/structure/falsewall/reinforced, +/turf/closed/indestructible/reinforced/rust, +/area/outpost/cargo/office) "Oy" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/bottle/wine{ @@ -7926,26 +7971,33 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) -"OC" = ( -/obj/structure/falsewall/reinforced, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"OF" = ( +"OD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/disposalpipe/segment, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) -"OG" = ( -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 +"OE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plasteel/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, /area/outpost/hallway/central) "OH" = ( /obj/machinery/door/firedoor, @@ -7971,33 +8023,29 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) -"OK" = ( -/turf/open/floor/plasteel/patterned, -/area/outpost/maintenance/central) -"OM" = ( +"OJ" = ( /obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/corner/opaque/black, +/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/turf/open/floor/plasteel, +/area/outpost/security) +"OL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/central) -"OO" = ( -/obj/structure/platform/wood_two{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"OP" = ( +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"ON" = ( /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 5 @@ -8007,7 +8055,18 @@ }, /turf/open/floor/plasteel, /area/outpost/hallway/port) -"OS" = ( +"OU" = ( +/obj/machinery/light/dim/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/outpost/hallway/central) +"OV" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, @@ -8017,63 +8076,65 @@ }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"OT" = ( -/turf/closed/indestructible/reinforced/rust, -/area/outpost/maintenance/central) -"OY" = ( -/obj/structure/grille/indestructable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/central) -"OZ" = ( -/obj/item/reagent_containers/syringe{ - pixel_y = -4; - pixel_x = 8 +"OW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 }, -/obj/effect/decal/cleanable/ash, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, +/turf/open/floor/plasteel/grimy, /area/outpost/maintenance/starboard) -"Pc" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +"Pb" = ( +/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, /obj/effect/turf_decal/corner/opaque/white{ - dir = 6 + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, /turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/hallway/port) +"Pc" = ( +/obj/effect/spawner/random/vending/cola, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/crew/library) "Pe" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Ph" = ( -/obj/structure/falsewall/reinforced, -/turf/open/floor/plating, -/area/outpost/cargo) "Pi" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/outpost/hallway/port) +"Pk" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"Pl" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner_steel_grid{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"Pl" = ( -/obj/structure/rack, -/obj/item/storage/cans/sixbeer{ - pixel_x = -2; - pixel_y = -3 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) "Pm" = ( /obj/structure/chair{ dir = 8 @@ -8081,7 +8142,7 @@ /obj/item/toy/figure/captain, /turf/open/floor/plating, /area/outpost/maintenance/central) -"Po" = ( +"Pn" = ( /obj/effect/landmark/outpost/elevator_machine{ shaft = "1" }, @@ -8089,25 +8150,18 @@ dir = 4 }, /obj/effect/turf_decal/industrial/warning{ - dir = 8 + dir = 4 }, /obj/effect/turf_decal/industrial/warning{ - dir = 4 + dir = 8 }, /turf/open/floor/plating, /area/outpost/hallway/central) -"Pt" = ( -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 10 - }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, +"Pq" = ( +/obj/structure/platform/wood_two/corner, +/obj/machinery/light/small/directional/north, /turf/open/floor/plating, -/area/outpost/maintenance/fore) +/area/outpost/maintenance/starboard) "Pw" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/industrial/outline/yellow, @@ -8124,28 +8178,26 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Py" = ( -/obj/structure/falsewall/reinforced, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Pz" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/closed/indestructible/reinforced/rust, -/area/outpost/maintenance/fore) -"PA" = ( -/obj/structure/window/reinforced/fulltile, -/obj/structure/grille/indestructable, -/turf/open/floor/plating, -/area/outpost/crew/cryo) +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) "PD" = ( /obj/structure/chair/sofa/brown/right/directional/west, /turf/open/floor/carpet/royalblack, /area/outpost/crew/bar) -"PE" = ( -/obj/item/kirbyplants{ - icon_state = "plant-21"; - name = "oxygen reclaimation system" - }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) "PF" = ( /obj/structure/grille/indestructable, /obj/structure/cable/yellow{ @@ -8162,32 +8214,35 @@ /obj/effect/turf_decal/steeldecal/steel_decals_central7, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"PG" = ( +"PH" = ( /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/structure/sign/warning/nosmoking/burnt{ - pixel_y = -28 + icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 9 +/obj/structure/disposalpipe/junction/flip{ + dir = 1 }, -/obj/effect/turf_decal/siding/thinplating/dark{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/port) -"PI" = ( -/turf/closed/indestructible/reinforced, +"PK" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/crew/bar) +"PL" = ( +/obj/structure/rack, +/obj/item/storage/cans/sixbeer{ + pixel_x = -2; + pixel_y = -3 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"PN" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating/asteroid, /area/outpost/maintenance/starboard) "PO" = ( /obj/structure/chair/wood{ @@ -8195,16 +8250,23 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) -"PQ" = ( -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 +"PP" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, /turf/open/floor/plasteel/patterned, -/area/outpost/crew/cryo) +/area/outpost/hallway/central) +"PR" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/structure/chair/bench/olive/directional/north, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) "PS" = ( /obj/structure/falsewall/reinforced, /obj/structure/cable/yellow{ @@ -8220,25 +8282,27 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"PV" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) "PW" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 6 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"PY" = ( -/obj/machinery/door/airlock/security/brig{ - req_access = list("101") +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"PX" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/mono{ + dir = 1 }, +/area/outpost/cargo) +"PY" = ( /obj/effect/turf_decal/industrial/warning, /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -8247,108 +8311,126 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, +/obj/machinery/door/airlock/outpost{ + icon = 'icons/obj/doors/airlocks/station/security.dmi'; + name = "brig"; + overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' + }, /turf/open/floor/plasteel/tech, /area/outpost/security) -"Qg" = ( +"Qe" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, +/obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "2-9" +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/central) -"Qi" = ( -/obj/structure/chair/sofa/brown/old/directional/north, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"Qj" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/blood, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/carpet, -/area/outpost/maintenance/starboard) -"Qk" = ( -/turf/open/floor/engine/air, -/area/outpost/engineering/atmospherics) -"Qn" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"Ql" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/outpost/hallway/central) +"Qp" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-4" }, -/obj/structure/holosign/barrier/infinite{ - max_integrity = 500 +/obj/item/trash/semki, +/turf/open/floor/plating/asteroid, +/area/outpost/external) +"Qq" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) +"QB" = ( +/obj/structure/sign/poster/random{ + pixel_x = 28 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white, /obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, /turf/open/floor/plasteel, /area/outpost/hallway/port) -"Qp" = ( +"QD" = ( +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"QE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ - icon_state = "1-4" + icon_state = "1-2" }, -/obj/item/trash/semki, -/turf/open/floor/plating/asteroid, -/area/outpost/external) -"Qr" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ +/turf/open/floor/plating, +/area/outpost/hallway/central) +"QF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/outpost/hallway/central) +"QI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Qv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Qx" = ( -/obj/structure/rack, -/obj/effect/spawner/random/clothing/bowler_or_that, -/obj/effect/spawner/random/maintenance/three, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/turf/open/floor/plasteel/dark, -/area/outpost/storage) -"QA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/crew/cryo) +"QJ" = ( +/obj/structure/closet/crate, +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/obj/effect/turf_decal/industrial/warning{ +/area/outpost/cargo) +"QK" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/obj/machinery/door/airlock/maintenance{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/welded, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/port) -"QF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + icon_state = "1-2" }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/hallway/central) "QL" = ( @@ -8366,6 +8448,35 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) +"QM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"QN" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) +"QP" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "QR" = ( /obj/machinery/newscaster/directional/north, /obj/structure/filingcabinet/double, @@ -8373,41 +8484,43 @@ /area/outpost/cargo/office) "QS" = ( /obj/structure/table, +/obj/machinery/light/small/directional/west, +/obj/item/clothing/under/shorts/cookjorts{ + pixel_y = 12; + pixel_x = 9 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plasteel/patterned/grid, /area/outpost/maintenance/central) -"QT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating/rust, -/area/outpost/hallway/central) -"QY" = ( -/obj/machinery/light/dim/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +"QU" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"QV" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"QZ" = ( -/obj/structure/chair{ - dir = 8 +/turf/open/floor/plasteel/dark, +/area/outpost/medical) +"QW" = ( +/obj/structure/railing/wood{ + dir = 9 }, -/obj/structure/extinguisher_cabinet/directional/east{ - pixel_y = -7 +/turf/open/floor/wood, +/area/outpost/maintenance/starboard) +"QX" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/firealarm/directional/east{ - pixel_y = 6 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/crew/cryo) +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "Ra" = ( /obj/machinery/door/airlock{ dir = 4; @@ -8424,19 +8537,6 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/crew/bar) -"Rb" = ( -/obj/structure/falsewall/reinforced, -/turf/closed/indestructible/reinforced/rust, -/area/outpost/vacant_rooms/office) -"Rc" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/outpost/hallway/port) "Rf" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable/yellow{ @@ -8475,31 +8575,25 @@ /obj/item/trash/semki, /turf/open/floor/plating/asteroid, /area/outpost/external) -"Rn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"Rk" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 +/obj/structure/sign/poster/rilena/tali{ + pixel_y = -30 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/outpost/hallway/central) -"Ro" = ( -/turf/closed/indestructible/reinforced/rust, -/area/outpost/maintenance/fore) -"Rr" = ( +"Rn" = ( +/obj/machinery/light/small/directional/east, +/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{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/storage) +/turf/open/floor/plating/rust, +/area/outpost/maintenance/central) "Rs" = ( /obj/structure/cable/yellow{ icon_state = "6-8" @@ -8516,13 +8610,6 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Rt" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) "Ru" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -8532,19 +8619,28 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"Rv" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/outpost/maintenance/central) "Rw" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/turf/open/floor/plasteel/tech, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/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/outpost/hallway/central) +"Rx" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, +/area/outpost/crew/cryo) "RA" = ( /obj/structure/railing/wood{ dir = 10; @@ -8565,7 +8661,7 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) -"RD" = ( +"RC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, @@ -8573,10 +8669,6 @@ dir = 4 }, /obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/airalarm/directional/south, /turf/open/floor/plating, /area/outpost/hallway/central) "RG" = ( @@ -8610,76 +8702,21 @@ /obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"RJ" = ( -/obj/machinery/button/door{ - specialfunctions = 4; - normaldoorcontrol = 1; - id = "out1"; - dir = 1; - pixel_y = -21; - pixel_x = -8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/storage) -"RL" = ( -/obj/structure/grille/indestructable, -/obj/structure/cable/yellow, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"RM" = ( -/obj/effect/landmark/ert_outpost_spawn, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/outpost/security) -"RO" = ( -/obj/effect/decal/cleanable/crayon{ - icon_state = "arrow"; - pixel_y = -19; - pixel_x = 2 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/toy/balloon, -/obj/item/toy/balloon, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"RR" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner_techfloor_gray, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) +"RK" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) +"RP" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/closet/crate/trashcart, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) "RS" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "4-10" }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"RT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/grille, /turf/open/floor/plating, -/area/outpost/maintenance/starboard) -"RU" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/corner/opaque/neutral/half, -/turf/open/floor/plasteel/dark, -/area/outpost/storage) +/area/outpost/maintenance/fore) "RV" = ( /obj/effect/decal/cleanable/crayon{ icon_state = "safe"; @@ -8711,23 +8748,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/central) -"RY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"Sb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/item/radio/intercom/directional/west, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-2" +"RZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, -/turf/open/floor/plating/rust, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) +"Sa" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) "Sd" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -8735,32 +8768,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Si" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/patterned, -/area/outpost/hallway/central) -"Sk" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +"Se" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Sf" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 +/obj/effect/turf_decal/steeldecal/steel_decals9, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"Sg" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"Sl" = ( -/obj/structure/sign/poster/official/miners{ - pixel_x = 26 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/outpost/hallway/port) +/area/outpost/hallway/central) "Sn" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -8782,17 +8810,6 @@ /obj/effect/turf_decal/steeldecal/steel_decals1, /turf/open/floor/plating, /area/outpost/maintenance/central) -"Sq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) "Sr" = ( /obj/structure/sign/painting/library_private{ pixel_y = -26 @@ -8801,30 +8818,49 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"Ss" = ( -/obj/structure/reagent_dispensers/beerkeg, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/crew/bar) -"SC" = ( -/obj/machinery/light/dim/directional/west, -/obj/structure/disposalpipe/segment{ +"Su" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Sv" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Sw" = ( +/obj/structure/disposalpipe/junction{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) +"Sy" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"SF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/west, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"SE" = ( -/obj/structure/chair/bench/beige/directional/south, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/plating, /area/outpost/hallway/central) "SG" = ( /obj/structure/cable/yellow{ @@ -8840,6 +8876,19 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) +"SJ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/turf/open/floor/plasteel/dark, +/area/outpost/storage) +"SK" = ( +/obj/structure/platform/ship_two{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) "SL" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -8852,38 +8901,16 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) -"SO" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"SS" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/grimy, -/area/outpost/security) -"SV" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ +"SP" = ( +/obj/structure/ore_box, +/turf/open/floor/plasteel/mono{ dir = 1 }, -/obj/item/kirbyplants/random, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/dark, -/area/outpost/medical) -"SW" = ( -/obj/structure/rack, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/obj/effect/spawner/random/maintenance/two, -/obj/effect/turf_decal/corner/opaque/neutral/half, -/turf/open/floor/plasteel/dark, -/area/outpost/vacant_rooms) +/area/outpost/cargo) +"SQ" = ( +/obj/structure/table, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/maintenance/central) "SY" = ( /obj/machinery/light/small/directional/east, /obj/structure/spider/stickyweb, @@ -8895,142 +8922,62 @@ /obj/effect/turf_decal/steeldecal/steel_decals9, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Tb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on/layer2{ - dir = 8 - }, -/turf/open/floor/engine/air, -/area/outpost/engineering/atmospherics) "Td" = ( /obj/structure/bookcase/random, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"Te" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Tg" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half, -/turf/open/floor/plasteel/dark, -/area/outpost/medical) "Th" = ( /turf/closed/indestructible/reinforced, /area/outpost/cargo/office) -"Tk" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"Tp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/plating, +"Tm" = ( +/obj/item/kirbyplants/random, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plasteel/grimy, /area/outpost/hallway/central) -"Tq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +"To" = ( +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ dir = 4 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"Tr" = ( -/obj/machinery/conveyor_switch{ - id = "outpost2"; - layer = 3.11; - pixel_y = 9; - pixel_x = -2 - }, -/obj/structure/railing/thin{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"Ts" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 6 +/turf/open/floor/plasteel/dark, +/area/outpost/security) +"Tt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "Tw" = ( -/turf/closed/indestructible/reinforced/rust, -/area/outpost/storage) -"Tx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/newscaster/directional/south, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating/rust, -/area/outpost/hallway/central) -"TA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/airlock{ - dir = 4; - name = "Restroom" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 10 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) +"Tz" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ 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/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) +"TB" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "outpost2" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/platform/ship_two, +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) "TD" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -9045,32 +8992,27 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/wood, /area/outpost/crew/bar) -"TE" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) -"TG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, +"TH" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 10 + icon_state = "2-4" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/maintenance/fore) -"TL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/dim/directional/west, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/effect/decal/cleanable/ash{ + pixel_y = 14; + pixel_x = -7 }, /turf/open/floor/plating/rust, +/area/outpost/maintenance/starboard) +"TJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/hallway/central) +"TK" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "danger" + }, +/turf/open/floor/plasteel, /area/outpost/hallway/central) "TM" = ( /obj/effect/turf_decal/industrial/warning{ @@ -9079,25 +9021,58 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"TT" = ( +"TP" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 + }, +/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/mono, +/area/outpost/vacant_rooms/office) +"TQ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/closet/crate/trashcart, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) +"TS" = ( /obj/structure/cable/yellow{ icon_state = "1-8" }, /turf/open/floor/plating, -/area/outpost/maintenance/fore) -"TU" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/engineering/atmospherics) -"TY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/item/radio/intercom/directional/west, -/obj/structure/catwalk/over/plated_catwalk/dark, +/area/outpost/maintenance/starboard) +"TT" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "1-8" }, /turf/open/floor/plating, +/area/outpost/maintenance/fore) +"TV" = ( +/obj/structure/chair/stool/bar, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"TW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) +"TX" = ( +/obj/structure/railing/wood{ + dir = 8 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/outpost/maintenance/starboard) "TZ" = ( /obj/effect/turf_decal/corner_techfloor_gray{ dir = 9 @@ -9106,34 +9081,59 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) -"Ua" = ( -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"Ui" = ( -/obj/machinery/disposal/deliveryChute{ - name = "fun chute"; - desc = "If it's so fun, what's the harm in it?" +"Ue" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, -/obj/effect/decal/cleanable/crayon{ - icon_state = "arrow"; - pixel_y = -19; - pixel_x = 2 +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"Ug" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) +"Uh" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 5 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/steeldecal/steel_decals_central2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Ul" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/cockroach, -/turf/open/floor/wood{ - icon_state = "wood-broken6" +/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 }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) +"Uj" = ( +/obj/item/reagent_containers/syringe{ + pixel_y = -4; + pixel_x = 8 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, /area/outpost/maintenance/starboard) +"Ul" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/crew/bar) "Um" = ( /obj/structure/chair{ dir = 1 @@ -9144,13 +9144,21 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) -"Uq" = ( -/obj/effect/spawner/random/vending/snack, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 8 +"Up" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/outpost/medical) "Us" = ( /obj/structure/cable/yellow{ icon_state = "4-9" @@ -9168,25 +9176,6 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) -"Ut" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/outpost/hallway/central) "Uv" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating, @@ -9194,34 +9183,13 @@ "Uw" = ( /turf/closed/indestructible/reinforced, /area/outpost/cargo) -"UB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) -"UC" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "outpost2" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/platform/ship_two{ +"Uy" = ( +/obj/machinery/camera/autoname{ dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/cargo) -"UE" = ( -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/computer/hydrogen_exchange{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/mono, -/area/outpost/vacant_rooms/office) +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/outpost/security) "UG" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -9229,18 +9197,46 @@ /obj/effect/turf_decal/corner_techfloor_gray{ dir = 8 }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 1 +/obj/effect/turf_decal/corner_steel_grid{ + dir = 1 + }, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"UJ" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/outpost/hallway/port) +"UM" = ( +/obj/item/stack/sheet/mineral/sandstone{ + pixel_x = 5; + pixel_y = 6 + }, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) +"UN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/sign/directions/medical{ + pixel_x = 28; + dir = 2; + pixel_y = -10 }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"UI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/turf/open/floor/plasteel, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) "UO" = ( /obj/machinery/firealarm/directional/south, @@ -9266,13 +9262,16 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "UR" = ( -/obj/machinery/light/dim/directional/west, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/structure/table/reinforced, +/obj/machinery/conveyor_switch{ + id = "outpost1"; + layer = 3.11; + pixel_y = 4; + pixel_x = 5 }, -/turf/open/floor/plating, -/area/outpost/hallway/central) +/obj/structure/railing/thin, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "UT" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -9292,12 +9291,12 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) -"UV" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 +"UW" = ( +/obj/structure/platform/wood_two, +/turf/open/floor/plasteel/stairs/wood{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) +/area/outpost/maintenance/starboard) "UZ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -9314,6 +9313,16 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) +"Va" = ( +/obj/machinery/firealarm/directional/north, +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/outpost/cargo) "Vc" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -9322,6 +9331,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"Vd" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/outpost/maintenance/starboard) +"Ve" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "Vf" = ( /obj/structure/cable/yellow{ icon_state = "6-9" @@ -9331,23 +9349,30 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Vm" = ( -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 1 +"Vn" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/item/kirbyplants/random, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"Vp" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, /area/outpost/hallway/central) +"Vo" = ( +/obj/machinery/vending/boozeomat{ + pixel_y = 1; + dir = 8; + pixel_x = 7 + }, +/turf/open/floor/plasteel/grimy, +/area/outpost/maintenance/starboard) "Vq" = ( /obj/structure/bed/double/maint{ dir = 4 @@ -9361,32 +9386,29 @@ }, /turf/open/floor/plating/asteroid, /area/outpost/maintenance/central) -"Vr" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) "Vt" = ( +/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/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 = 9 }, /turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) +/area/outpost/hallway/port) "Vx" = ( /obj/structure/railing{ dir = 9 }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Vy" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"VC" = ( +"VA" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/corner_steel_grid{ @@ -9394,60 +9416,54 @@ }, /turf/open/floor/plasteel/dark, /area/outpost/hallway/central) -"VG" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ +"VC" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end{ dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel, /area/outpost/hallway/central) +"VD" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/starboard) "VH" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/outpost/medical) -"VJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 5 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/turf/open/floor/plasteel, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating/rust, /area/outpost/hallway/central) -"VN" = ( -/obj/structure/falsewall/reinforced, -/turf/open/floor/plating, -/area/outpost/crew/bar) -"VO" = ( -/obj/structure/disposalpipe/segment{ +"VI" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"VJ" = ( +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ - icon_state = "2-8" + icon_state = "1-8" }, /turf/open/floor/plating, -/area/outpost/hallway/central) +/area/outpost/maintenance/fore) "VP" = ( /obj/structure/grille/indestructable, /obj/structure/cable/yellow{ @@ -9455,12 +9471,6 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"VQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned, -/area/outpost/cargo) "VT" = ( /obj/effect/decal/cleanable/crayon{ icon_state = "med"; @@ -9470,21 +9480,31 @@ /obj/effect/decal/cleanable/chem_pile, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"VW" = ( -/obj/structure/chair/sofa/brown/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) -"VZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 1 - }, +"VV" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 +/obj/structure/curtain/cloth/fancy{ + dir = 8; + open = 0 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/outpost/hallway/central) +"VY" = ( +/obj/machinery/shower{ + dir = 4; + desc = "An old shower. It looks rusted." + }, +/obj/structure/toilet{ + pixel_y = 13; + pixel_x = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6, +/turf/open/floor/plasteel/showroomfloor, /area/outpost/hallway/central) "Wa" = ( /obj/effect/spawner/random/trash/decal, @@ -9493,12 +9513,10 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Wb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 6 - }, +/obj/structure/closet/secure_closet/contraband, +/obj/effect/turf_decal/box, /turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) +/area/outpost/security) "Wc" = ( /obj/machinery/recycler, /obj/machinery/conveyor/auto{ @@ -9514,11 +9532,29 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/bar) -"Wf" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) +"Wg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/outpost/engineering/atmospherics) +"Wh" = ( +/obj/effect/spawner/random/vending/cola, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) +"Wk" = ( +/obj/structure/sink/kitchen{ + dir = 1; + name = "big sink" + }, +/obj/structure/mirror{ + pixel_y = -25 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) "Wl" = ( /obj/structure/grille/indestructable, /obj/structure/cable/yellow{ @@ -9528,36 +9564,20 @@ dir = 1 }, /obj/effect/turf_decal/industrial/warning/dust, -/obj/effect/turf_decal/steeldecal/steel_decals_central7, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Wt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"Ww" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"Wz" = ( -/obj/structure/sign/poster/random{ - pixel_x = 28 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Wo" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid, +/area/outpost/maintenance/starboard) +"WA" = ( +/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"WB" = ( -/turf/closed/indestructible/reinforced/rust, -/area/outpost/crew/library) +/obj/item/kirbyplants/random, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "WC" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/binary/volume_pump, @@ -9566,6 +9586,24 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) +"WD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"WE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/starboard) +"WG" = ( +/obj/machinery/vending/cigarette, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/central) "WH" = ( /obj/structure/cable/yellow, /obj/machinery/power/apc/auto_name/directional/west, @@ -9580,23 +9618,53 @@ dir = 1 }, /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/security/brig{ - req_access = list("101") +/obj/machinery/door/airlock/outpost{ + icon = 'icons/obj/doors/airlocks/station/security.dmi'; + name = "brig"; + overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' }, /turf/open/floor/plasteel/tech, /area/outpost/security) +"WL" = ( +/turf/open/floor/plasteel/patterned, +/area/outpost/hallway/central) +"WN" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/hallway/port) "WO" = ( /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"WR" = ( +"WP" = ( +/obj/structure/cable/yellow{ + icon_state = "6-9" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/fore) +"WQ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/effect/turf_decal/industrial/caution, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "WS" = ( @@ -9608,6 +9676,27 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "WU" = ( +/obj/structure/railing/thin, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"WX" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/landmark/ert_outpost_spawn, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/outpost/security) +"WY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, @@ -9620,59 +9709,22 @@ }, /turf/open/floor/plasteel, /area/outpost/hallway/central) -"WV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, +"Xa" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"WW" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half, -/obj/item/kirbyplants/random, -/obj/item/radio/intercom/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/medical) -"WZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/bottle/hooch{ - pixel_y = 8; - pixel_x = -3 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/projectile/bullet/dart/syringe{ - pixel_y = 12; - pixel_x = 4 + icon_state = "0-8" }, /turf/open/floor/plating, -/area/outpost/crew/bar) -"Xb" = ( -/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/structure/cable/yellow{ - icon_state = "4-8" +/area/outpost/engineering/atmospherics) +"Xc" = ( +/obj/effect/turf_decal/corner/opaque/black, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/outpost/medical) +/area/outpost/hallway/central) "Xd" = ( /obj/effect/decal/cleanable/ash, /turf/open/floor/plating/asteroid, @@ -9684,34 +9736,37 @@ }, /turf/open/floor/wood/mahogany, /area/outpost/crew/bar) -"Xg" = ( -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Xl" = ( +"Xh" = ( +/obj/structure/platform/wood_two{ + dir = 4 + }, +/obj/structure/chair/stool/bar, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"Xk" = ( +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable/yellow{ - icon_state = "1-4" + icon_state = "0-8" }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, /obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Xm" = ( -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 9 + icon_state = "6-8" }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/storage) +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/central) +"Xp" = ( +/obj/structure/bed/pod, +/obj/item/bedsheet, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/grimy, +/area/outpost/security) "Xq" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -9732,6 +9787,11 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) +"Xt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/comfy/orange/directional/north, +/turf/open/floor/plating, +/area/outpost/crew/bar) "Xv" = ( /obj/structure/railing/corner{ dir = 4 @@ -9741,18 +9801,6 @@ }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"Xy" = ( -/obj/machinery/disposal/bin, -/obj/machinery/newscaster/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/library) "Xz" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning, @@ -9767,68 +9815,47 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/tech, /area/outpost/hallway/port) -"XA" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/five, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/vacant_rooms) -"XD" = ( -/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 +"XB" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/dark, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/outpost/hallway/port) -"XE" = ( -/obj/machinery/conveyor{ - id = "outpost3"; - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/central) -"XF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"XI" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ +"XC" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/outpost/crew/janitor) -"XM" = ( +/turf/open/floor/plasteel/dark, +/area/outpost/security) +"XG" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/outpost/hallway/central) +"XN" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/janitorialcart, +/obj/item/mop, +/obj/item/clothing/gloves/color/purple, +/obj/item/clothing/head/beanie/purple, +/obj/item/clothing/neck/tie/purple, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) +"XO" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rust, +/area/outpost/maintenance/starboard) "XP" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -9845,49 +9872,38 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) -"XQ" = ( -/obj/structure/sign/poster/official/no_erp{ - pixel_y = 30 +"XV" = ( +/obj/structure/railing{ + dir = 8 }, -/obj/structure/disposalpipe/segment{ +/obj/effect/decal/fakelattice, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/elevatorshaft, +/area/outpost/security) +"XY" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/hallway/central) -"XR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/plasteel/patterned, -/area/outpost/hallway/central) -"XS" = ( -/obj/structure/flippedtable{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/door/airlock/medical/glass{ dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plating, -/area/outpost/maintenance/central) -"XV" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/fakelattice, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/security) +/turf/open/floor/plasteel/tech, +/area/outpost/medical) "XZ" = ( /obj/structure/sign/painting/library{ pixel_y = -26 @@ -9897,74 +9913,57 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) +"Yc" = ( +/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/crew/janitor) "Yd" = ( /turf/closed/indestructible/reinforced, /area/outpost/hallway/central) "Yh" = ( -/obj/structure/disposalpipe/junction/flip{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/sign/poster/rilena/ri{ + pixel_x = -26 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/crayon{ + icon_state = "guy"; + pixel_y = 20 }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 +/obj/effect/decal/cleanable/garbage{ + pixel_x = -7; + pixel_y = -3 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/item/paper/crumpled{ + pixel_y = -2; + pixel_x = 5 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"Yj" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 +/obj/item/paper/crumpled{ + pixel_y = 5; + pixel_x = -4 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/outpost/hallway/central) "Yl" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Yn" = ( -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"Yq" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"Ys" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +"Yo" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/storage) +"Yp" = ( +/obj/structure/platform/ship_two{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 6 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/effect/turf_decal/industrial/caution{ + dir = 8 }, -/turf/open/floor/plating, -/area/outpost/hallway/central) +/turf/open/floor/plasteel/patterned/grid, +/area/outpost/cargo) "Yt" = ( /obj/structure/railing{ dir = 4 @@ -9983,20 +9982,22 @@ /obj/effect/turf_decal/steeldecal/steel_decals_central6, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) -"Yv" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/port) -"Yw" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/mono{ - dir = 1 +"Yx" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/item/kirbyplants/random, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) +"YA" = ( +/obj/item/reagent_containers/syringe{ + pixel_y = -2; + pixel_x = 4 }, -/area/outpost/cargo) +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) "YC" = ( /obj/effect/spawner/random/trash/decal, /obj/structure/rack, @@ -10005,119 +10006,91 @@ }, /turf/open/floor/plating, /area/outpost/maintenance/central) -"YD" = ( -/obj/item/reagent_containers/pill/floorpill, -/obj/structure/chair/sofa/brown/old/directional/east, -/turf/open/floor/carpet, -/area/outpost/maintenance/starboard) -"YE" = ( -/obj/machinery/newscaster/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) "YF" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"YH" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel, +/area/outpost/medical) "YI" = ( /obj/structure/spider/stickyweb, /obj/effect/decal/cleanable/insectguts, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"YK" = ( -/obj/item/kirbyplants/random, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/plasteel/grimy, -/area/outpost/hallway/central) "YL" = ( /obj/structure/falsewall/reinforced, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"YN" = ( -/obj/structure/chair/sofa/brown/old/corner/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet, -/area/outpost/maintenance/starboard) -"YP" = ( -/obj/machinery/light/dim/directional/east, +"YO" = ( +/turf/closed/indestructible/reinforced/rust, +/area/outpost/maintenance/fore) +"YT" = ( /obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/outpost/hallway/central) -"YQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +/area/outpost/hallway/port) +"YW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/bottle/hooch{ + pixel_y = 8; + pixel_x = -3 }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 6 +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 6; + pixel_y = 3 }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) -"YV" = ( -/obj/machinery/camera/autoname{ - dir = 8 +/obj/projectile/bullet/dart/syringe{ + pixel_y = 12; + pixel_x = 4 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +/turf/open/floor/plating, +/area/outpost/crew/bar) +"YZ" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 }, /obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/central) -"YX" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/camera/autoname{ - dir = 10 + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/outpost/hallway/port) -"YY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "4-8" + dir = 5 }, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"Ze" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/maintenance/fore) +"Zb" = ( +/obj/structure/railing/thin{ + dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) -"Zh" = ( -/obj/structure/disposalpipe/segment{ +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) +"Zd" = ( +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "Zk" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -10127,58 +10100,43 @@ /obj/machinery/light/dim/directional/west, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) -"Zl" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/corner/opaque/black{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/outpost/security) -"Zm" = ( -/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/turf_decal/steeldecal/steel_decals9, -/obj/effect/turf_decal/steeldecal/steel_decals9{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/port) "Zo" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/decal/cleanable/insectguts, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"Zs" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Zt" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning{ +"Zp" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/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 }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/central) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/outpost/medical) +"Zr" = ( +/obj/structure/rack, +/obj/effect/spawner/random/clothing/beret_or_rabbitears, +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/outpost/storage) +"Zs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plating, +/area/outpost/maintenance/fore) +"Zt" = ( +/turf/closed/indestructible/reinforced, +/area/outpost/maintenance/starboard) "Zu" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -10198,42 +10156,79 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/storage) -"Zx" = ( -/obj/structure/falsewall/reinforced, -/turf/closed/indestructible/reinforced/rust, -/area/outpost/cargo/office) -"ZE" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +"Zw" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"ZF" = ( -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 8 +"Zz" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/security) -"ZG" = ( -/obj/structure/cable/yellow{ - icon_state = "6-9" +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 10 }, +/turf/open/floor/plasteel, +/area/outpost/security) +"ZB" = ( +/obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) +/turf/open/floor/plating, +/area/outpost/maintenance/starboard) +"ZC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/outpost/hallway/central) +"ZH" = ( +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/patterned, +/area/outpost/cargo) "ZI" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/sign/directions/supply{ + pixel_y = 26; dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 +/obj/structure/sign/directions/security{ + dir = 4; + pixel_y = 32 }, -/turf/open/floor/plasteel/dark, +/obj/structure/sign/directions/medical{ + pixel_y = 38; + dir = 2 + }, +/obj/structure/sign/directions/service{ + pixel_y = 20; + dir = 8 + }, +/turf/open/floor/plasteel/tech, /area/outpost/hallway/central) "ZJ" = ( /obj/structure/cable/yellow{ @@ -10256,40 +10251,37 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/green, /area/outpost/crew/bar) -"ZM" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/crew/bar) -"ZN" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/corner/opaque/neutral/half, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/central) +"ZL" = ( +/obj/structure/barricade/wooden/crude, +/turf/closed/indestructible/rock, +/area/outpost/external) "ZP" = ( /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) +"ZT" = ( +/obj/machinery/light/dim/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/outpost/vacant_rooms) "ZU" = ( /obj/structure/cable/yellow{ icon_state = "2-8" }, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"ZW" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"ZY" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/plasteel/grimy, -/area/outpost/crew/bar) +"ZV" = ( +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/structure/chair/bench/olive/directional/north, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/dark, +/area/outpost/medical) (1,1,1) = {" mC @@ -13909,8 +13901,8 @@ HD HD HD HD -WZ -zI +YW +Xt HD HD HD @@ -14030,19 +14022,19 @@ HD HD HD HD -ZM -wv -wv -wv -wv -wv +PK +my +my +my +my +my HD HD Cc -Ay -Ay -Ay -Ay +KX +KX +KX +KX Cc HD Cc @@ -14153,19 +14145,19 @@ HD HD HD HD -ZM +PK Cc Cc Cc Cc -ZM -ZM -wv +PK +PK +my Cc -lJ -je -je -ZY +JT +tb +tb +Cx Cc Cc Cc @@ -14278,17 +14270,17 @@ HD NK YL Cc -yh -Ss +Ou +fa Cc Cc -ZM -wv -VN -oa +PK +my +jm +Ar tw BX -lw +GR qg Or Cc @@ -14400,22 +14392,22 @@ HD HD NK yq -Ch -ib -sj +Dz +sZ +nO Rf Cc Cc Cc Cc -GE +Mx GY GW -lw +GR rs Oh -VN -ZM +jm +PK HD em rt @@ -14522,23 +14514,23 @@ HD HD HD NK -hj -za -za +hL +fU +fU gE Fs Cc nn LE Cc -EV -bL -ug -Hh +zl +Kt +gL +ve PD ur Cc -ZM +PK HD HD mC @@ -14646,9 +14638,9 @@ mP Zs Iu NN -ir -za -za +Sf +fU +fU HX Cc Xe @@ -14661,7 +14653,7 @@ Cc Cc Cc Cc -wv +my HD HD HD @@ -14752,7 +14744,7 @@ HD HD HD Cm -eE +pf Xd Gm SL @@ -14768,23 +14760,23 @@ NK NK NK cS -gZ +yw VT Cc JA zO uf RA -sl +yH OI SM no th Cc -uL +FK Cc -ZM -Ix +PK +yT HD HD mC @@ -14904,9 +14896,9 @@ GX tu zq xW -KK +lW Cc -VN +jm Cc Cc Cc @@ -15005,13 +14997,13 @@ Ha hq HD NK -rQ -wV +Bi +oD Fl Ab bV NK -DS +CR NK NU ue @@ -15029,10 +15021,10 @@ UO Cc Cc Cc -zC -Jq -sk -Ay +vG +Dt +ty +KX mC mC mC @@ -15140,7 +15132,7 @@ NK NK NK Cc -Fr +lg id dQ pb @@ -15151,11 +15143,11 @@ ii bz Cc sb -CK -PV -VW -JM -Ay +Cs +Ul +hT +Fg +KX mC mC mC @@ -15250,7 +15242,7 @@ HD HD hq HD -Ro +YO YF NK NK @@ -15274,11 +15266,11 @@ dw sF jI Wd -CK -PV -VW -Bu -Ay +Cs +Ul +hT +Od +KX mC mC mC @@ -15370,7 +15362,7 @@ hq hq HD HD -Ro +YO YL NK NK @@ -15380,7 +15372,7 @@ NK Rs LH bn -Ro +YO bS eU VP @@ -15397,11 +15389,11 @@ hS PO Cc Oy -iY -GK -rN -HF -Ay +Ma +As +qn +qf +KX mC mC mC @@ -15492,37 +15484,37 @@ hq hq hq HD -Ro -Ro -BR -ho +YO +YO +Gt +xT NK eD Mq NK fw -ZG -Xg -Ro -Ro +WP +Aj +YO +YO Ak NK -Ro -za -za -za +YO +fU +fU +fU Cc Cc Cc -Hi +vJ Cc Cc Cc Cc Cc -za -za -za +fU +fU +fU Cc Cc HD @@ -15614,39 +15606,39 @@ HD hq hq hq -Ro -Ro -Ui -gC -ho +YO +YO +CZ +HM +xT NK zY -rW +iL NK qb -Qv -tG +Oc +Lb aE gA cR -zR +YZ NK NK -Tp -TL -TY -py -yf -Ut -lO -Ja -As -jD -rV -py -Sb -be -Ys +gj +jl +tR +At +lR +qC +LG +SF +QE +Hd +QF +At +ma +DG +hu em HD HD @@ -15736,40 +15728,40 @@ HD NK NK YL -Ro -Ro -Ro -RO -IN +YO +YO +YO +zt +vl ip NK -IM +RS NK NK -Pt -ZE +oI +qV NK NK NK -sG -TG +Ea +QM NK -au -CM -ei -wZ -VC -OF -pL -VZ -fM -Hc -Hc -vq -rZ -rZ -AS -RD +xi +Rw +Ew +NZ +VA +aT +jG +zx +Hf +pe +pe +kD +QP +QP +aF +fB em HD HD @@ -15868,8 +15860,8 @@ NK NK YF hz -Xl -kR +Zw +VJ xu NK Ef @@ -15877,26 +15869,26 @@ TZ If at lq -aX -dS -cL -vB -oh -iK -Ww -Pc -Pc -Pc -li -Nn -Bh -zL -Hs -Tx -WB +Gs +Je +XG +dy +lV +ek +BC +lQ +lQ +lQ +pa +lD +Lz +Sg +oX +jp +sw aI aI -WB +sw em HD HD @@ -15995,28 +15987,28 @@ UG NK NK NK -Tw -Tw -Tw +Yo +Yo +Yo Kx Kx Kx -YY -kL -aQ +lu +Qe +fc Yd Yd Yd -Po -Po -Po +lm +lm +lm Yd Yd Yd -zv -Hs -Jt -WB +oE +oX +kG +sw uv wa tr @@ -16109,25 +16101,25 @@ xm NK NK NK -Ro +YO Yl Hv FS -Ro +YO ZU -te +MV oU Hv -Tw -jg -DH -Qx -Hk -Tw -CB -cL -AO -Ks +Yo +ef +en +vu +Zr +Yo +Dr +XG +bg +MH Yd ks ks @@ -16135,16 +16127,16 @@ ks ks GL Yd -oN -GT -Hs -YY -WB +dE +al +oX +lu +sw JW km Td -WB -WB +sw +sw aI aI mC @@ -16232,25 +16224,25 @@ uE NK EX tS -Ro -Ro -Ro +YO +YO +YO NK -Ro -hP -MW +YO +QD +fS Rg Kx -Tw -Xm -Ml -Ml -aw -Tw -mx -cL -tl -ai +Yo +kW +aY +aY +Lk +Yo +Jc +XG +TJ +GJ Yd ks ks @@ -16258,20 +16250,20 @@ ks ks ks Yd -YK -TE +Tm +RK +oX Hs -bh -WB -WB +sw +sw AM sB iw rS Zu aI -Fq -Fq +Ec +Ec em HD HD @@ -16364,16 +16356,16 @@ Ta fq WS LU -RU -jM -ta -JV -AT +vk +KN +MZ +uF +zF Kx -jf -cL -tl -pC +ah +XG +TJ +Ie Yd ks ks @@ -16381,12 +16373,12 @@ ks ks ks Yd -fs -TE -dj -Ft -Xy -WB +CN +RK +cy +oe +lL +sw Ne pt et @@ -16472,31 +16464,31 @@ mC HD HD HD -Ro +YO it JF NK Rg NK -Ro -Ro -Ro +YO +YO +YO PS NK NK NK WS Kx -cm -FH -Is -Rr -wX +SJ +Og +bF +qE +Dl oK -wF -Vp -tl -ai +xp +yO +TJ +GJ Yd ks ks @@ -16504,12 +16496,12 @@ ks ks ks Yd -ai -TE -Hs -WV -nL -WB +GJ +RK +oX +nJ +bH +sw lk rg jU @@ -16518,7 +16510,7 @@ nT aI HL Sr -HC +yn HD HD HD @@ -16595,7 +16587,7 @@ mC HD HD HD -Ro +YO aB KI PF @@ -16603,23 +16595,23 @@ TT NK mU Gn -Ro +YO Rg Hv hk -Ro +YO Rg Kx Kx -zr -pl -pj -RJ +Kw +oi +Hc +hV Kx -Oi -iL -LX -jd +Pz +aN +RZ +oR Yd ks ks @@ -16627,11 +16619,11 @@ ks ks ks Yd -to -uW -Zh -hI -KW +BF +ec +CE +OD +Pc aI fk SG @@ -16641,7 +16633,7 @@ sV LP ar XZ -HC +yn HD HD mC @@ -16739,31 +16731,31 @@ Zv LB LB Kx -dM -BP -UV -Yd -fj -fj -HO -HO -HO +VC +Qj +CB Yd +Co +Co +Pn +Pn +Pn Yd Yd -MZ -wI -oM +Yd +nB +Bh +LF aI aI sO aI aI -WB -WB -WB +sw +sw +sw aI -WB +sw em HD HD @@ -16856,39 +16848,39 @@ kM NK wq LH -Tw +Yo mm Ic ua iH Kx -Vm -iL -cl -jJ -WU -sw -Ej -OS -OS -sq -kl -zG -IL -Rn -mZ -qM -oZ -VO -sS -UR -ZW -il -sS -jC -EI -pm -lh +WA +aN +Dj +VI +WY +Nf +sI +OV +OV +fp +ZC +mc +Xc +FP +VH +OE +uP +sa +zP +dS +aa +HV +zP +BU +DR +qr +ZL HD HD mC @@ -16973,45 +16965,45 @@ NK ds ci NK -Py -Ro -Ro -Ro +EQ +YO +YO +YO NK NK Kx -Tw -Tw +Yo +Yo Kx Kx -Tw -Kv -jE -Wb -Wb -Hz -Wb -Wb -YQ -yR -yR -qk -yR -PW -HQ -HR -yX -cg -Yh -Gr -Vt -Vt -wr -CN -Tk -OG -OG -lh +Yo +gN +vh +iR +iR +Dv +iR +iR +fj +jP +jP +QX +jP +Oe +HO +nw +Kc +Sw +jb +Pl +na +na +AA +EA +jY +hv +hv +ZL HD HD HD @@ -17105,37 +17097,37 @@ Mw NK Yl Yd -JE -bc -fj -fj -tC -fY -jb -Dg -yY -yY -EB -Eq -py -jz -py -yZ -hd -gu -Rw -XM -YV -wp -YP -Nf -Op -ad -AB -ly -ly -gz -lh +VY +oj +Co +Co +sS +fe +ud +vi +ut +ut +ij +QK +At +tz +At +tW +kk +UN +Ql +bG +En +Cy +Lf +Na +eg +Ge +lj +JO +JO +TK +ZL HD HD mC @@ -17222,42 +17214,42 @@ NK uu NK nb -Vr -XF +cN +vD rC NK Au -fj +Co Yd -hW +jF Yd -fj -TA +Co +iT Yd -fj -fj +Co +Co Yd -jL +ZI HG -Zt +Vn Yd cq cq AI cq cq -OT +bk KF gq gq gq -rv -LK -LK -Nv -LK -LK -rv +Az +KH +KH +XY +KH +KH +Az HD HD HD @@ -17346,41 +17338,41 @@ cI NK xK NK -ve -ve +cn +cn LH YI -fj -ZN -od -Si -FQ -Pi -sL -fj -xU -TE -Nc -Bp -Tq -wN +Co +nA +WL +pM +Gr +PP +Wk +Co +sN +RK +hQ +DC +RC +wo cq yc bs cq dl -OT -XI -la -Rt +bk +oG +ts +wV gq gq -Cr -is -Xb -Ko -Df -rv +zZ +im +Zp +Gx +PR +Az HD HD HD @@ -17473,37 +17465,37 @@ NK LH NK nZ -fj +Co Yd -tH +eC Yd -XQ -vR -Oa +nk +nE +ae Yd -yk -Ba -Eo -ZI -Ci -Yj -OT +wd +ru +os +Tz +TW +WG +bk zS -OM -Ca +xR +Rn Ls -OT -EG -Eg -dD -Gu +bk +Ih +px +Yc +XN gq -SV -vK -ty -VH -WW -Ck +Qq +wz +Up +QV +Yx +if HD HD HD @@ -17596,37 +17588,37 @@ NK NK NK NK -fj -nc -rm +Co +kg +ws Yd -AL -FN -bq +KQ +Nw +HU Yd -SE -TE -zv -VG -QF -OT -OT +sr +RK +oE +cM +hF +bk +bk cq cq sP Mu DV -xZ -fd -Wf -Fn +Gg +HN +mx +fu gq -um -Tg -uD -ti -Aj -Ck +Hw +pq +ko +QN +ZV +if HD HD HD @@ -17720,22 +17712,22 @@ sf Th Th Th -gn -Zx +mH +Ox Th -Ai +pK Yd Yd Yd Yd Yd -bt -VG -QT -OT -sc -mo -aq +Py +cM +jw +bk +xN +mQ +QS cq IU cq @@ -17743,13 +17735,13 @@ cq cq cq cq -OT -OT -nK -Kl -fI -rv -Ck +bk +bk +YH +yy +Aa +Az +if HD HD HD @@ -17846,32 +17838,32 @@ qH Fv rU Th -Jo +oO Yd -CL -XE -cG +oJ +Gd +RP Yd -ms -VG -ov -DO -OK -sW -jT +AB +cM +MA +iy +lK +oA +uR cq -GU -Bj +zd +lO zS cq iQ jx vT cq -rv -rv -rv -rv +Az +Az +Az +Az hq qp HD @@ -17951,9 +17943,9 @@ HD HD HD HD -PI -PI -BJ +Zt +Zt +Ac Uw Uw Uw @@ -17969,19 +17961,19 @@ MB KV Th Th -CI +VV Yd -JX -ls -po -Ez -VJ -su -Jr +xD +Bs +nX +eA +rw +gB +tx cq -ga -sW -QS +Mh +oA +SQ cq Mt Us @@ -18074,9 +18066,9 @@ mC HD HD HD -PI -cA -Dp +Zt +PN +lU Uw DP dg @@ -18091,20 +18083,20 @@ uQ MB Xr Th -FF -ph +Yh +bD Yd -JX -nU -XR +xD +aD +Oq Yd -AU -VG -uy +Dx +cM +OU cq cq -OT -OT +bk +bk cq ER XP @@ -18198,36 +18190,36 @@ mC HD HD HD -It -eX +nW +Gw Uw kT -cc -UC -UC -UC -tA -oS +hr +iX +iX +iX +KE +Sa hb -GQ +Nn GS nd ie Th -LY -or +kc +Rk Yd -JX -nU -MP +xD +aD +TQ Yd -UI -Sk -zb +Ue +wS +fb cq gR sn -lB +rJ om sR Rh @@ -18235,14 +18227,14 @@ gR cq DV cq -TU -TU -OC -TU -TU -TU -TU -TU +jA +jA +ND +jA +jA +jA +jA +jA mC mC mC @@ -18321,51 +18313,51 @@ HD HD HD HD -Dp -Dp +lU +lU Uw FI -qW -Tr -tT -tT -jK +TB +qc +ap +ap +BQ qq md -GQ +Nn rR Ni JU Th -MO -rK +Ev +wB Yd -qN -rr -od +dz +CH +WL Yd -wS -Bp -MI -OT +eK +DC +qO +bk sn wR -OY -hs +jV +ub FY XP Mt -OT -sm -rb -lM -IH -kx -lA -Bt -BZ -PE -TU +bk +Ij +vU +Ed +Hx +jS +Wg +zm +ez +zi +jA mC mC mC @@ -18442,21 +18434,21 @@ mC mC mC HD -CP -xM -bN -Dp +BG +Nl +Tw +lU Uw fR -qW -KS -cK -uz -uz -Yw +TB +Zb +Lo +dc +dc +mF UT -GQ -GQ +Nn +Nn Th ag Th @@ -18464,31 +18456,31 @@ Yd Yd Yd Yd -fj -fj -fj +Co +Co +Co sH iI OH -OT +bk sn cq -OT -OT -OT +bk +bk +bk Ct -OT -OT -XS -tv -TU -tZ -cV -Ua -we -PE -PE -TU +bk +bk +qe +of +jA +Xa +rx +pO +Dn +zi +zi +jA mC mC mC @@ -18565,35 +18557,35 @@ mC mC HD HD -qh -EZ -aR -zg +iO +dk +ka +vw Uw jo -qW -KS -KY -eG -eG -xf -nq +TB +Zb +xh +PX +PX +Bb +Ny TM vZ uj -tU -mq -dW -hJ -QY -EH -br -mq -ID -eg -nt -hA -OT +Pb +Ln +FW +yd +HE +Zd +Hn +Ln +gn +Sv +WN +sd +bk sn cq lX @@ -18602,16 +18594,16 @@ cq Sn nM cq -xy +xs cq -TU -TU -qT -we -TU -TU -TU -TU +jA +jA +NP +Dn +jA +jA +jA +jA HD mC mC @@ -18688,50 +18680,50 @@ mC mC HD HD -fE -jS -de -zg +pi +bb +DK +vw Uw Ms -yB -cr +uY +oh yS -on -tN -VQ -CV -op -WR +JP +gp +mZ +gI +WQ +yi Xz -fi -qA -Zm -yV -rM -Ze -IB -rM -rM -Ze -HZ -YX +PH +ui +Ce +Sy +wG +hd +mn +wG +wG +hd +hG +UJ cq -Rv +FL cq lx Mt cq -vV +Xk rD Mm -zo +Ad np sn -TU -Tb -Qk -TU +jA +cx +rI +jA HD HD HD @@ -18812,49 +18804,49 @@ mC mC HD HD -aU -bI -zg +QU +OW +vw Uw Yu Dm Dm -eQ -mN -dZ -GM -DZ -gf -CU +ql +qY +Yp +ly +ZH +qF +pY uj -kA -sr -sr -EC -Kh -He -tm -Wz -cB -eg -nt -hA +sM +yo +yo +pV +Op +zU +hh +QB +ot +Sv +WN +sd cq sn ER zS Mt -OT +bk bJ -Qg -mp +BV +CT wi np hY -TU -Qk -Qk -TU +jA +rI +rI +jA HD HD mC @@ -18935,28 +18927,28 @@ mC mC mC HD -vX -Lm -yU +Kj +WE +hf Uw -Lu -uw -js -UB -qv -gT -FE +Fo +ss +Lr +Su +WU +SK +tq Uw -oT -NI +iN +us LL LL -Uq -Aw +DX +mL LL lG -mg -mg +ce +ce lG lG BM @@ -18964,20 +18956,20 @@ Ky yj wK wK -MU -MU -Rb -OT +Km +Km +cH +bk cq -Kz -OT -OT +iK +bk +bk cq cq -TU -TU -TU -TU +jA +jA +jA +jA HD HD mC @@ -19059,36 +19051,36 @@ mC mC HD HD -pM -yU +ay +hf Uw -cs -hM -js -EK -yv -gT -gO +hp +QJ +Lr +CV +kp +SK +pc Uw -QA +Kk LL LL LL LL LL LL -mg -xI -kh -MQ -PA -GO -nt -wu -iV +ce +HA +wl +Dw +aJ +YT +WN +yP +eV Gi WC -Fx +TP Zk wK KJ @@ -19182,33 +19174,33 @@ HD mC HD HD -pM -pM +ay +ay Uw -wY -hM -EK -EK -Di -gT -gO +Va +QJ +CV +CV +UR +SK +pc Uw -CX -ou +ct +WD LL -Pl -PI -rB -dc -mg -aM -PQ -nz -PA -wC -nt -wu -iV +PL +Zt +VD +tf +ce +fC +wy +Rx +aJ +LZ +WN +yP +eV ZP tj pF @@ -19298,43 +19290,43 @@ mC mC mC mC -rG -rG +cF +cF em HD HD HD -PI -yU -yU +Zt +hf +hf Uw -HJ -uw -EK -tI -dO -gT -rk +SP +ss +CV +dJ +LN +SK +MU Uw -CX -hf +ct +bB LL -Ip -RL -pB -pB -mg -HB -IS -vd +TH +nN +XO +XO +ce +lv +QI +DE ww -LS -DF -Lg -iV +zQ +oC +Pi +eV Pw AW -UE +zs UZ wK RW @@ -19421,42 +19413,42 @@ mC mC mC mC -rG -uX -xr -YD -YN +cF +bN +gm +rV +Go HD -PI -mG -zg +Zt +Bg +vw Uw -cs -hM -js -hM -ca +hp +QJ +Lr +QJ +eB Uw Uw Uw -Jh -RR -KG -Ts -RL -wP -EW +PW +GC +hy +iB +nN +lz +xl lG -ic -kQ -QZ +uK +Cb +qz lG -go -nt -jO +hx +WN +XB wK -Fh -iV +vF +eV wK Ht wK @@ -19543,51 +19535,51 @@ mC mC mC mC -rG -rG -FM -ed -bv -Qi -vr -PI -PI -zg +cF +cF +sg +rF +pI +kZ +kf +Zt +Zt +vw Uw -cs -hM -js -hM -ca +hp +QJ +Lr +QJ +eB Uw -iN -Fu -wO -CS -PI -PI +CM +Al +TS +eX +Zt +Zt wL -bi -EW -EW +Dc +xl +xl wL wL wL wL -Sq -Yq -Rc -OP -RS -RS -Nu -PG +OL +zh +tO +ON +ht +ht +lZ +Uh cq cq -DA -DA -DA -DA +fM +fM +fM +fM cq cq HD @@ -19666,52 +19658,52 @@ mC mC mC mC -rG -RT -vS -fT -oY -hX -kV -qe -PI -qD +cF +ri +br +wj +wH +Mb +nS +Of +Zt +EF Uw Uw Uw -Ph +ft Uw Uw Uw -EU -kK -kN -ll -CF -ab +sL +jQ +jW +fL +xn +vY wL dP bA -fN -YE -SC -di +bP +xw +ZT +lI Jp -Fi -vp -kb -XD -Ze -Ze -aS -pn +AR +ho +Vt +uS +hd +hd +Dk +du ey -RY -Wt -Wt -Wt -Wt -Yv +Tt +Ve +Ve +Ve +Ve +Se RG HD HD @@ -19789,52 +19781,52 @@ mC mC mC mC -rG -RT -ex -Hp -qR -qR -qR -DD -qD -yU -eY -yU -yU -eY -zp -zg -qD -Hn -yU -yU -bP -Kb -oL +cF +ri +li +In +ZB +ZB +ZB +Eh +EF +hf +Wo +hf +hf +Wo +dq +vw +EF +Kp +hf +hf +TV +ul +NW wL Cp NV -fG -yN -XA -xk +wO +iZ +MX +av wL -uk -yL -AN -eq -uU -Yn -aP -Qn +Aq +DO +JB +nr +qt +BP +fA +qI mB -RY -Cn -Sl -Wt -Cn -Yv +Tt +eM +Mg +Ve +eM +Se RG HD HD @@ -19912,40 +19904,40 @@ mC mC mC mC -rG -mA -hw -tz -oy -Jx +cF +Kv +YA +Ck +Lp +vn HD HD em HD -Dp -iG -iG -xN -eY -zg -PI -FB -OO -OO -qs -vz -oL +lU +ID +ID +UM +Wo +vw +Zt +Pq +gc +gc +Xh +dC +NW wL pg pg -fG -mv -SW -ev +wO +zG +vs +fJ wL -pS -Am -pO +aO +Wh +xt Lh Lh Lh @@ -20035,11 +20027,11 @@ mC mC mC mC -rG -rG -rG -OZ -GC +cF +cF +cF +Uj +Pk HD HD HD @@ -20051,36 +20043,36 @@ HD HD em HD -PI -Cl -gc -Ac -ol -PI -qJ +Zt +UW +QW +qh +TX +Zt +Vo wL wL wL -fG -rp -gt -lb +wO +mw +uM +mG wL -pO -pO -pO -Le -uI -Bc -mW -xc +xt +xt +xt +OJ +kI +WX +lP +ja Lh -BO -Ia +wh +FZ Lh -zD -Ff -By +Uy +To +Wb Lh HD HD @@ -20160,9 +20152,9 @@ mC mC mC mC -rG -rG -rG +cF +cF +cF em HD HD @@ -20174,36 +20166,36 @@ mC mC rt mC -PI -fS -pr -uN -Gt -PI -PI -PI +Zt +Vd +uO +nl +qJ +Zt +Zt +Zt HD wL -rP -uA -sz -tt +BS +Fm +gY +Ug wL -lY -uJ +ln +dI Lh -Zl -fZ -Gv -SS -bW +tY +ng +mt +fr +Zz Lh -LJ -Mk +Ej +ch Lh -cu -Vy -By +Fh +yz +Wb Lh HD HD @@ -20297,12 +20289,12 @@ NH NH NH NH -PI -PI -Ul -mf -Gt -PI +Zt +Zt +pU +Dy +qJ +Zt HD HD HD @@ -20312,20 +20304,20 @@ bY wL wL wL -Bd -ZF +dp +kt PY -wW -fZ -No -SS -cX +yM +ng +My +fr +wD WJ -qw -qw -oW -Qr -bb +MT +MT +PY +cJ +fl Lh Lh em @@ -20421,11 +20413,11 @@ mC mC mC mC -PI -PI -PI -PI -PI +Zt +Zt +Zt +Zt +Zt HD HD HD @@ -20438,19 +20430,19 @@ wL DI XV Lh -gg -Do -RM -Do -qC -pO -dL -wE +cj +kB +sW +kB +KM +xt +GN +ya Lh -oQ -ob -lt -Bo +aC +DB +nP +Jk Lh HD HD @@ -20562,19 +20554,19 @@ Lh Lh Lh Lh -lt -lt -lt -pO -pO -pO +nP +nP +nP +xt +xt +xt Lh Lh -IT -ob -lt -Me -lt +eu +DB +nP +iC +nP mC mC mC @@ -20693,11 +20685,11 @@ HD HD HD Lh -SO -Te -xJ -Nd -lt +jv +XC +Ft +jT +nP mC mC mC @@ -20816,8 +20808,8 @@ HD HD HD Lh -ry -lt +Iw +nP Lh Lh Lh @@ -20939,8 +20931,8 @@ HD HD HD Lh -gU -Gl +ox +Xp Lh HD HD @@ -21062,8 +21054,8 @@ HD HD HD Lh -lt -lt +nP +nP Lh HD HD diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 4f88daa0c164..2239212c7440 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -420,6 +420,9 @@ if(G.siemens_coefficient)//not insulated new /datum/hallucination/shock(H) return + else + if(aiControlDisabled == AI_WIRE_DISABLED) + return if (cyclelinkedairlock) if (!shuttledocked && !emergency && !cyclelinkedairlock.shuttledocked && !cyclelinkedairlock.emergency && allowed(user)) if(cyclelinkedairlock.operating) @@ -1518,6 +1521,8 @@ /obj/machinery/door/airlock/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) if(RCD_DECONSTRUCT) + if(resistance_flags & INDESTRUCTIBLE) + return FALSE if(seal) to_chat(user, "[src]'s seal needs to be removed first.") return FALSE @@ -1530,6 +1535,8 @@ /obj/machinery/door/airlock/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) + if(resistance_flags & INDESTRUCTIBLE) + return FALSE to_chat(user, "You deconstruct the airlock.") qdel(src) return TRUE diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index f6e6840f552b..f10f86d0b0ba 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -487,12 +487,20 @@ /obj/machinery/door/airlock/outpost //secure anti-tiding airlock icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' overlays_file = 'icons/obj/doors/airlocks/centcom/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_centcom //all of the above needs to be changed if editing the icon + assemblytype = /obj/structure/door_assembly/door_assembly_centcom //all of the above needs to be changed if editing the icon //yes im worried about changing the ASSEMBLY for DECONSTRUCTING an INDESTRUCTIBLE ADMIN AIRLOCK desc = "It opens and closes. Effectively impervious to conventional methods of destruction." normal_integrity = INFINITY explosion_block = INFINITY + flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 | HTML_USE_INITAL_ICON_1 | NODECONSTRUCT_1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF has_hatch = FALSE req_one_access_txt = "101" //109 for command areas + aiControlDisabled = AI_WIRE_DISABLED + hackProof = TRUE + +/obj/machinery/door/airlock/outpost/ComponentInitialize() + . = ..() + AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_WIRES) /obj/machinery/door/airlock/outpost/attackby(obj/item/C, mob/user, params) //maintenance panel cannot be opened if(C.tool_behaviour == TOOL_SCREWDRIVER) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 363a83d965a3..d7841041a79b 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -241,6 +241,8 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e ///the obj is deconstructed into pieces, whether through careful disassembly or when destroyed. /obj/proc/deconstruct(disassembled = TRUE) + if(resistance_flags & INDESTRUCTIBLE) //really sod off + return SEND_SIGNAL(src, COMSIG_OBJ_DECONSTRUCT, disassembled) qdel(src) @@ -250,6 +252,8 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e ///what happens when the obj's integrity reaches zero. /obj/proc/obj_destruction(damage_flag) + if(resistance_flags & INDESTRUCTIBLE) //sod off + return if(damage_flag == "acid") acid_melt() else if(damage_flag == "fire") diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index b1897ee661d4..bec5e5bf452b 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -55,6 +55,8 @@ /obj/structure/grille/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) if(RCD_DECONSTRUCT) + if(resistance_flags & INDESTRUCTIBLE) + return FALSE return list("mode" = RCD_DECONSTRUCT, "delay" = 20, "cost" = 5) if(RCD_WINDOWGRILLE) if(the_rcd.window_type == /obj/structure/window/reinforced/fulltile) @@ -66,6 +68,8 @@ /obj/structure/grille/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) + if(resistance_flags & INDESTRUCTIBLE) + return FALSE to_chat(user, "You deconstruct the grille.") qdel(src) return TRUE diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 308d5e120f71..3f4ffc747ca9 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -85,12 +85,16 @@ /obj/structure/window/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) if(RCD_DECONSTRUCT) + if(resistance_flags & INDESTRUCTIBLE) + return FALSE return list("mode" = RCD_DECONSTRUCT, "delay" = 20, "cost" = 5) return FALSE /obj/structure/window/rcd_act(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) if(RCD_DECONSTRUCT) + if(resistance_flags & INDESTRUCTIBLE) + return FALSE to_chat(user, "You deconstruct the window.") qdel(src) return TRUE From 087d82aa85b2c517a92c77bdaa4f5067fbaae692 Mon Sep 17 00:00:00 2001 From: Ical <86125936+Ical92@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:16:24 -0500 Subject: [PATCH 075/330] Gathering now checks if the item can be reached (#4002) ## About The Pull Request You can no longer gather (e.g. with a plant bag or trash bag) from any distance/through walls/through cameras/boundless thievery. ## Why It's Good For The Game Unfortunately it is funny but I think you shouldn't be able to steal things by looking at it through a camera. ## Changelog :cl: fix: gathering no longer has infinite reach /:cl: --------- Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/datums/components/storage/storage.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 268802e14dce..523585460fe5 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -262,6 +262,8 @@ if(!len) to_chat(M, "You failed to pick up anything with [parent]!") return + if(!M.CanReach(I, src, TRUE)) // You can't steal things you can't see or reach + return if(I.anchored) to_chat(M, "\The [I] is stuck to the ground and cannot be picked up by [parent]!") return From 6c423ed9402c44a16cc02f47db48c4211d2b95f2 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 18 Jan 2025 23:26:37 -0600 Subject: [PATCH 076/330] Automatic changelog generation for PR #4002 [ci skip] --- html/changelogs/AutoChangeLog-pr-4002.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4002.yml diff --git a/html/changelogs/AutoChangeLog-pr-4002.yml b/html/changelogs/AutoChangeLog-pr-4002.yml new file mode 100644 index 000000000000..9886d37a65e2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4002.yml @@ -0,0 +1,4 @@ +author: Ical92 +changes: + - {bugfix: gathering no longer has infinite reach} +delete-after: true From 591727c9cc5e071a00860845d4ab54984d8c34b3 Mon Sep 17 00:00:00 2001 From: rye-rice <58402542+rye-rice@users.noreply.github.com> Date: Sun, 19 Jan 2025 09:28:17 -0800 Subject: [PATCH 077/330] Re:Eoehoma Firearms (#3944) ## About The Pull Request Redoes Eoehoma sprites to match my new style Reduces the E-11's spread by 20 ## Why It's Good For The Game Eoehoma was done way before i adopted my new style, and only got around to adding them as i was adopting said new style, so they looked very ancient. This should make them look better Tag yourself ![image](https://github.com/user-attachments/assets/b68afd14-bdae-494a-a2ed-e264417ecf37) ![image](https://github.com/user-attachments/assets/8117a360-7b78-4efb-ad87-4005e54ef7c6) ![image](https://github.com/user-attachments/assets/3852186a-7683-4558-826c-d8bd080f9d56) (Was done in a previous PR but pretend it's here) ![image](https://github.com/user-attachments/assets/fdc3ca12-7456-456b-b3c6-3e9c45989644) ## Changelog :cl: add: Resprites everything eoehoma related! add: E-11 is more accurate. This isn't saying much. fix: E-60's charge overlay should now work /:cl: Co-authored-by: retlaw34 <58402542+retlaw34@users.noreply.github.com> --- .../boxes_magazines/external/rifle.dm | 9 - .../projectiles/guns/ballistic/assault.dm | 210 ----------------- .../projectiles/guns/energy/energy_gun.dm | 19 -- code/modules/projectiles/guns/energy/laser.dm | 51 ---- code/modules/projectiles/guns/energy/stun.dm | 10 - .../guns/manufacturer/eoehoma/ballistics.dm | 218 ++++++++++++++++++ .../guns/manufacturer/eoehoma/lasers.dm | 84 +++++++ icons/obj/guns/manufacturer/eoehoma/48x32.dmi | Bin 7384 -> 2933 bytes .../guns/manufacturer/eoehoma/lefthand.dmi | Bin 1109 -> 1891 bytes icons/obj/guns/manufacturer/eoehoma/onmob.dmi | Bin 1133 -> 1154 bytes .../guns/manufacturer/eoehoma/righthand.dmi | Bin 1078 -> 1839 bytes .../manufacturer/frontier_import/48x32.dmi | Bin 9192 -> 5011 bytes shiptest.dme | 2 + 13 files changed, 304 insertions(+), 299 deletions(-) create mode 100644 code/modules/projectiles/guns/manufacturer/eoehoma/ballistics.dm create mode 100644 code/modules/projectiles/guns/manufacturer/eoehoma/lasers.dm diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index 533f5d171a3f..7e2b72741125 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -92,15 +92,6 @@ max_ammo = 30 multiple_sprites = AMMO_BOX_FULL_EMPTY -/obj/item/ammo_box/magazine/e40 - 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 - caliber = ".299 caseless" - max_ammo = 30 - multiple_sprites = AMMO_BOX_FULL_EMPTY - // 8x50mmR En Bloc Clip (Illestren Hunting Rifle) /obj/item/ammo_box/magazine/illestren_a850r //this is a magazine codewise do nothing breaks diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 8a933179de2a..55c67c633d39 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -141,213 +141,3 @@ /obj/item/gun/ballistic/automatic/assault/swiss_cheese/process_other(atom/target, mob/living/user, message = TRUE, flag, params = null, zone_override = "", bonus_spread = 0) to_chat(user, "You hear a strange sound from the DMA unit. It doesn't appear to be operational.") - -/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 .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" - 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.1 SECONDS - recoil_unwielded = 3 - - gun_firenames = list(FIREMODE_FULLAUTO = "full auto ballistic", FIREMODE_OTHER = "full auto laser") - gun_firemodes = list(FIREMODE_FULLAUTO, FIREMODE_OTHER) - default_firemode = FIREMODE_OTHER - - weapon_weight = WEAPON_MEDIUM - slot_flags = ITEM_SLOT_BACK - - show_magazine_on_sprite = TRUE - empty_indicator = TRUE - fire_sound = 'sound/weapons/gun/laser/e40_bal.ogg' - manufacturer = MANUFACTURER_EOEHOMA - -/obj/item/gun/ballistic/automatic/assault/e40/Initialize() - . = ..() - secondary = new /obj/item/gun/energy/laser/e40_laser_secondary(src) - RegisterSignal(secondary, COMSIG_ATOM_UPDATE_ICON, PROC_REF(secondary_update_icon)) - SEND_SIGNAL(secondary, COMSIG_GUN_DISABLE_AUTOFIRE) - update_appearance() - -/obj/item/gun/ballistic/automatic/assault/e40/ComponentInitialize() - . = ..() - AddComponent(/datum/component/ammo_hud/eoehoma) // at long last... the ammo counter on the side of the sprite is functional... - -/obj/item/gun/ballistic/automatic/assault/e40/do_autofire(datum/source, atom/target, mob/living/shooter, params) - var/current_firemode = gun_firemodes[firemode_index] - if(current_firemode != FIREMODE_OTHER) - return ..() - return secondary.do_autofire(source, target, shooter, params) - -/obj/item/gun/ballistic/automatic/assault/e40/do_autofire_shot(datum/source, atom/target, mob/living/shooter, params) - var/current_firemode = gun_firemodes[firemode_index] - if(current_firemode != FIREMODE_OTHER) - return ..() - return secondary.do_autofire_shot(source, target, shooter, params) - -/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) - -/obj/item/gun/ballistic/automatic/assault/e40/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/e40/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/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) - 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/AltClick(mob/living/user) - var/current_firemode = gun_firemodes[firemode_index] - 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 ..() - -/obj/item/gun/ballistic/automatic/assault/e40/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/e40/do_wield(mob/user) - . = ..() - secondary.wielded_fully = wielded_fully - -/// triggered on unwield of two handed item -/obj/item/gun/ballistic/automatic/assault/e40/on_unwield(obj/item/source, mob/user) - . = ..() - secondary.wielded_fully = FALSE - secondary.wielded = FALSE - - -/obj/item/gun/ballistic/automatic/assault/e40/proc/secondary_update_icon() - update_appearance() - SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) - -/obj/item/gun/ballistic/automatic/assault/e40/process_other(atom/target, mob/living/user, message = TRUE, flag, params = null, zone_override = "", bonus_spread = 0) - secondary.pre_fire(target, user, message, flag, params, zone_override, bonus_spread) - - -/obj/item/gun/ballistic/automatic/assault/e40/get_cell() - return secondary.get_cell() - -/obj/item/gun/ballistic/automatic/assault/e40/update_overlays() - . = ..() - //handle laser gunn overlays - if(!secondary) - return - var/ratio = secondary.get_charge_ratio() - if(ratio == 0) - . += "[icon_state]_chargeempty" - else - . += "[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) - . = ..() - secondary.toggle_safety(user, silent=TRUE) - -/obj/item/gun/ballistic/automatic/assault/e40/fire_select(mob/living/carbon/human/user) - . = ..() - var/current_firemode = gun_firemodes[firemode_index] - if(current_firemode == FIREMODE_OTHER) - SEND_SIGNAL(src, COMSIG_GUN_ENABLE_AUTOFIRE) - SEND_SIGNAL(src, COMSIG_GUN_SET_AUTOFIRE_SPEED, secondary.fire_delay) - else - 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 - name = "secondary e40 laser gun" - desc = "The laser component of a E-40 Hybrid Rifle. You probably shouldn't see this. If you can though, you should probably know lorewise, this is primary, the ballistic compontent in universe is secondary. Unfortunately, we cannot simulate this, So codewise this is secondary." - fire_sound = 'sound/weapons/gun/laser/e40_las.ogg' - w_class = WEIGHT_CLASS_NORMAL - ammo_type = list(/obj/item/ammo_casing/energy/laser/assault) - fire_delay = 0.2 SECONDS - gun_firemodes = list(FIREMODE_FULLAUTO) - default_firemode = FIREMODE_FULLAUTO - latch_toggle_delay = 1.2 SECONDS - valid_attachments = list() - - spread_unwielded = 20 diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 6084e28cf4ab..0e7af1fcb26d 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -251,22 +251,3 @@ w_class = WEIGHT_CLASS_BULKY var/obj/item/modular_computer/integratedNTOS var/NTOS_type = /obj/item/modular_computer/internal - -/obj/item/gun/energy/e_gun/e11 - name = "E-11 hybrid energy rifle" - desc = "A hybrid energy gun fondly remembered as one of the worst weapons ever made. It hurts, but that's only if it manages to hit its target." - 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 = "e11" - ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser/eoehoma) - ammo_x_offset = 0 - 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/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 44b8d4eaf8d7..1da484f5de96 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -219,54 +219,3 @@ . += "You examine [src] closer. Under the grip is a small inscription: \"NT CN SVALINN 462\"." else . += "You try to examine [src] closer, but you're too far away." - -/obj/item/gun/energy/laser/e10 - name = "E-10 laser pistol" - desc = "A very old laser weapon. Despite the extreme age of some of these weapons, they are sometimes preferred to newer, mass-produced Nanotrasen laser weapons." - 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 = "e10" - item_state = "gun" - w_class = WEIGHT_CLASS_SMALL - - wield_delay = 0.2 SECONDS - wield_slowdown = LASER_PISTOL_SLOWDOWN - - spread = 2 - spread_unwielded = 5 - - ammo_type = list(/obj/item/ammo_casing/energy/lasergun/eoehoma) - manufacturer = MANUFACTURER_EOEHOMA - -/obj/item/gun/energy/laser/e50 - name = "E-50 energy emitter" - desc = "A heavy and extremely powerful laser. Sets targets on fire and kicks ass, but it uses a massive amount of energy per shot and is generally awkward to handle." - - 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 = "e50" - item_state = "e50" - - 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 = LASER_SNIPER_SLOWDOWN - spread_unwielded = 20 - - shaded_charge = FALSE - ammo_x_offset = 4 - charge_sections = 2 - slot_flags = 0 - - diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index e70c46cc76f6..fdb3770b7c89 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -44,13 +44,3 @@ desc = "An integrated disabler that draws from a cyborg's power cell. This weapon contains a limiter to prevent the cyborg's power cell from overheating." can_charge = FALSE use_cyborg_cell = TRUE - -/obj/item/gun/energy/disabler/e60 - name = "E-60" - desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." - 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 = "e60" - manufacturer = MANUFACTURER_EOEHOMA diff --git a/code/modules/projectiles/guns/manufacturer/eoehoma/ballistics.dm b/code/modules/projectiles/guns/manufacturer/eoehoma/ballistics.dm new file mode 100644 index 000000000000..da315f224fee --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/eoehoma/ballistics.dm @@ -0,0 +1,218 @@ +/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 .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" + 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.1 SECONDS + recoil_unwielded = 3 + + gun_firenames = list(FIREMODE_FULLAUTO = "full auto ballistic", FIREMODE_OTHER = "full auto laser") + gun_firemodes = list(FIREMODE_FULLAUTO, FIREMODE_OTHER) + default_firemode = FIREMODE_OTHER + + weapon_weight = WEAPON_MEDIUM + slot_flags = ITEM_SLOT_BACK + + show_magazine_on_sprite = TRUE + empty_indicator = TRUE + fire_sound = 'sound/weapons/gun/laser/e40_bal.ogg' + manufacturer = MANUFACTURER_EOEHOMA + +/obj/item/gun/ballistic/automatic/assault/e40/Initialize() + . = ..() + secondary = new /obj/item/gun/energy/laser/e40_laser_secondary(src) + RegisterSignal(secondary, COMSIG_ATOM_UPDATE_ICON, PROC_REF(secondary_update_icon)) + SEND_SIGNAL(secondary, COMSIG_GUN_DISABLE_AUTOFIRE) + update_appearance() + +/obj/item/gun/ballistic/automatic/assault/e40/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/eoehoma) // at long last... the ammo counter on the side of the sprite is functional... + +/obj/item/gun/ballistic/automatic/assault/e40/do_autofire(datum/source, atom/target, mob/living/shooter, params) + var/current_firemode = gun_firemodes[firemode_index] + if(current_firemode != FIREMODE_OTHER) + return ..() + return secondary.do_autofire(source, target, shooter, params) + +/obj/item/gun/ballistic/automatic/assault/e40/do_autofire_shot(datum/source, atom/target, mob/living/shooter, params) + var/current_firemode = gun_firemodes[firemode_index] + if(current_firemode != FIREMODE_OTHER) + return ..() + return secondary.do_autofire_shot(source, target, shooter, params) + +/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) + +/obj/item/gun/ballistic/automatic/assault/e40/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/e40/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/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) + 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/AltClick(mob/living/user) + var/current_firemode = gun_firemodes[firemode_index] + 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 ..() + +/obj/item/gun/ballistic/automatic/assault/e40/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/e40/do_wield(mob/user) + . = ..() + secondary.wielded_fully = wielded_fully + +/// triggered on unwield of two handed item +/obj/item/gun/ballistic/automatic/assault/e40/on_unwield(obj/item/source, mob/user) + . = ..() + secondary.wielded_fully = FALSE + secondary.wielded = FALSE + + +/obj/item/gun/ballistic/automatic/assault/e40/proc/secondary_update_icon() + update_appearance() + SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) + +/obj/item/gun/ballistic/automatic/assault/e40/process_other(atom/target, mob/living/user, message = TRUE, flag, params = null, zone_override = "", bonus_spread = 0) + secondary.pre_fire(target, user, message, flag, params, zone_override, bonus_spread) + + +/obj/item/gun/ballistic/automatic/assault/e40/get_cell() + return secondary.get_cell() + +/obj/item/gun/ballistic/automatic/assault/e40/update_overlays() + . = ..() + //handle laser gunn overlays + if(!secondary) + return + var/ratio = secondary.get_charge_ratio() + if(ratio == 0) + . += "[icon_state]_chargeempty" + else + . += "[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) + . = ..() + secondary.toggle_safety(user, silent=TRUE) + +/obj/item/gun/ballistic/automatic/assault/e40/fire_select(mob/living/carbon/human/user) + . = ..() + var/current_firemode = gun_firemodes[firemode_index] + if(current_firemode == FIREMODE_OTHER) + SEND_SIGNAL(src, COMSIG_GUN_ENABLE_AUTOFIRE) + SEND_SIGNAL(src, COMSIG_GUN_SET_AUTOFIRE_SPEED, secondary.fire_delay) + else + 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!") + +/obj/item/ammo_box/magazine/e40 + 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 + caliber = ".299 caseless" + max_ammo = 30 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +//laser + +/obj/item/gun/energy/laser/e40_laser_secondary + name = "secondary e40 laser gun" + desc = "The laser component of a E-40 Hybrid Rifle. You probably shouldn't see this. If you can though, you should probably know lorewise, this is primary, the ballistic compontent in universe is secondary. Unfortunately, we cannot simulate this, So codewise this is secondary." + fire_sound = 'sound/weapons/gun/laser/e40_las.ogg' + w_class = WEIGHT_CLASS_NORMAL + ammo_type = list(/obj/item/ammo_casing/energy/laser/assault) + fire_delay = 0.2 SECONDS + gun_firemodes = list(FIREMODE_FULLAUTO) + default_firemode = FIREMODE_FULLAUTO + latch_toggle_delay = 1.2 SECONDS + valid_attachments = list() + + spread_unwielded = 20 diff --git a/code/modules/projectiles/guns/manufacturer/eoehoma/lasers.dm b/code/modules/projectiles/guns/manufacturer/eoehoma/lasers.dm new file mode 100644 index 000000000000..9b5f9777b0b9 --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/eoehoma/lasers.dm @@ -0,0 +1,84 @@ +/obj/item/gun/energy/laser/e10 + name = "E-10 laser pistol" + desc = "A very old laser weapon. Despite the extreme age of some of these weapons, they are sometimes preferred to newer, mass-produced Nanotrasen laser weapons." + 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 = "e10" + item_state = "e_generickill4" + w_class = WEIGHT_CLASS_SMALL + + wield_delay = 0.2 SECONDS + wield_slowdown = LASER_PISTOL_SLOWDOWN + + spread = 2 + spread_unwielded = 5 + + ammo_type = list(/obj/item/ammo_casing/energy/lasergun/eoehoma) + manufacturer = MANUFACTURER_EOEHOMA + + +/obj/item/gun/energy/e_gun/e11 + name = "E-11 hybrid energy rifle" + desc = "A hybrid energy gun fondly remembered as one of the worst weapons ever made. It hurts, but that's only if it manages to hit its target." + 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 = "e11" + item_state = "e_generickill4" + + ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser/eoehoma) + ammo_x_offset = 0 + spread = 60 + spread_unwielded = 100 + dual_wield_spread = 100 + shaded_charge = TRUE + manufacturer = MANUFACTURER_EOEHOMA + +/obj/item/gun/energy/e_gun/e11/empty_cell + spawn_no_ammo = TRUE + + +/obj/item/gun/energy/laser/e50 + name = "E-50 energy emitter" + desc = "A heavy and extremely powerful laser. Sets targets on fire and kicks ass, but it uses a massive amount of energy per shot and is generally awkward to handle." + + 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 = "e50" + item_state = "e50" + + 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 = LASER_SNIPER_SLOWDOWN + spread_unwielded = 20 + + shaded_charge = FALSE + ammo_x_offset = 4 + charge_sections = 2 + slot_flags = 0 + +/obj/item/gun/energy/disabler/e60 + name = "E-60" + desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." + 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 = "e60" + item_state = "e_genericdisable4" + + shaded_charge = TRUE + manufacturer = MANUFACTURER_EOEHOMA diff --git a/icons/obj/guns/manufacturer/eoehoma/48x32.dmi b/icons/obj/guns/manufacturer/eoehoma/48x32.dmi index 5ab3ee4a0cb0e6db6f96f03e37395b0530b93c40..09dfd9622e17d8e0dcaeb1f4cc9b4a891ccab4d9 100644 GIT binary patch literal 2933 zcmYk62{aU38^?!iGhsxCBr-+~W1?&k6NZ#!Y>6gWXEb)%m&TAR*=65l7b0WJR;aOM zEoCfu?J}=*tl{(ae(yOw=iGaL_nzn6|GEErpBs+W)no(lg8%>ko7Qc00|0k+b2cIg!C+OU%xH>iJGR4oUHsMVF+5!fQOsc-rl~Xs<(f9 zKI-hHp9Bqk@TE~X?p*F$moXjCxXC-;e=Jji>z`d!g^IYLU|fUC`i(A4nlG~@81xI`Z`9QzU{X}=V7gt7(Ae+hfTcV&>dH-2G)4?D?52|km}B&;1Ab)Nk1s-V@t#*K zL(pLi2M@~<$YwIYlrKJIC}Qin6qTIa7j&8Z070H3~s-#vv zRjE8p+q~M6mcy)+@e6aVg-)Gluqx=`bpZeX3TUa{GV;!#W}fzYb@}Y`W*g-AV|-EO zM5b=tL_p!@@$p~ulSqB}@Q%AJqfmW6$Sxy0RACwt9y)?^Sw#wgImo9NHULDW-xzF? zQ!`zP>#DfnYmC*yEX5mecMITWw;~)vx;C9`g+cD!n}|mr6%my`#xRtibBGAl@-Ty6 z>$I}VpwDIz?B*|RO(h;3oOdY)!y1%4L{TDWQ&{IqfdaZwuhS-nvf7#6cAsFVSI>$c zL}6UpY~RA7ML0TXXZN>6KR8IyBrA@^w&Js`MvjpWVZcfDDcfeX$^5A#V=M_dXVVn~tbK;8PVp9$T)EIu1GcL8EJ7Q+&}Ud0 z+vm_2!1#(GV#j=bEJm?jjY*OQ#Pbcg5TOvwZY#P>v9NWYSoEld@MvEn@L>S4ykc%g z6dhl$2@lPj{vb(^_OSJJ6i#@35dN3+tNV*Ru4i`1U;en8-*{4z0GBBvMFc?~rs>$P z2vd;;FKo`tcrQ40GXn$?HrrczVpKi;&RkIVa9iNrFEV-gJjwis!77@XEF@Np*bcRKTr8?|3WO4JG0YDxCa_y8-) zKi}C&v{_lWiOMbgIJ1=>o(pEcYn3NrzgjO25B^NpR;Il zwdx+NMAWs|D^z~G8iIY7_PMx_5&w4Wf{Bn}_%^JOk`j0g%E;NEn+rWK>FTs(ObN zn0uN_?Xw@_jmIV0y*4)`Z@;HG0NX z){;=&Qs3*AeV9N)S#obE;_ynJYggWmN3zTNFqZa~+=wrFb1}$p#i*B`GkT(Mz?S}8>MJ_c{IU1Dlai$>EO2)bs}0uj<;H3g*z-!_A(aC#|$TKl&=_EtcR& zou__^)`o%2+*8w}x9fhMv^d<$HUPTE^0ulsh(V(-?e5E8+NP!C`>L3n) zn`1ZkbJh;FV*+LDMw!=%9F0zOh(%sNa4C>xZ1z0dY9w7VFn7K@Gm;jIz5ac0%Lqq( zsU31B?qf*ZiwWR8&+FGT`5RtbNVuUgb_mfF8Lr8GrxmS%>d$NMoH&`kI%F#xOx0LS zO}U!aPfShu^H^~{f=~Nb_9lJow~aKe^fXNcgQ5Gel&SIO=SfAe`EzUtQ~I&W?!Vm-5A^4-t)*+<-iezd234=`7avCB&gqLy4AR9|2rVt8yG zhHI*G6$>{a|5W_V9NjV7>!c|f{`hBMO+xGJVUs)+uUuQG7FFqU=ySu?Nw;z{R6{sD zmGzTKBATUUH?6KtPUd?=0^zyg-nj6p^R_xiBqiN`6v0khm+|F4b2FD^rlF~);fHqV zrL>UaT?HSBFN*rq&5mhTp7aQqM2m)2Y|~Gk_MRq*IUT(z!=ya(Z!wQA)b@n*d21RXH9y}0xGGJOI3F0VkgYr!d9k%FwXT88~E%1^i7DN_j# zHJ34&H?8jO`yXZPO>yeQrilr-eIBY9#*JGfz{Bep3SnWD0p>nRbF-NgWXSq{(w%#@LNxz2Z2w7X_t^Ga7PpuV3 za}?@bty=)!8Hcy)dk-xx+7+9O>_5kB!Q#zg55`;`(Z_*7Eog_V4|_EuxCyS=I{q2X zX!ro5^Sw~U6_e~YrC|Sq0N0oWC7op~74H}dB<7p}00Jo+Dlah@s2X97@Q;I9C|&gm IRg0ki0WHvOqyPW_ literal 7384 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 I`eNGu03sHVxc~qF delta 1052 zcmV+%1mpYT4%G;MiBL{Q4GJ0x0000DNk~Le0001h0001B2m=5B0OF*IdjJ3ceo#zQ zMZmzoDk&)-ARu>lcOoJpz`(#QEiFk&Nnl`L|3_3F9U;#xErO4ZDJw1*7aF#^%+K8B zp%p^irf6KNhF0);DW4E!;cCcHR*e$j;LhXJ0J6&&#qXcv+T=C;Qvf0G9Kje<;iRe#yRA zn(rSfzRx+Y_%F308&|{u1NQjj+KS(i&L}F*^F6N~_W6?CL!x?9b*4G)m1J;q)0Xw6viplOv3IsPAQ7U{}=6&G_$A~M4nl~BqXl$OI*-d`5 z2bL$5Qd`5L25`p`A4b@Ke@QU4JbPNPqnjlgC?C}>qsBDJTm!674Xk{GHe=*ysve_n zZL;gkWcPV4%V)qY!91%Pxxr^!pflr0o0jaLgOlBZ*%t(fIsFn>8nBtUDP>Q5LIgn& z1VIo4L3{@e>QL*WJssltwLAXhp^gH+KUrTlM<0OZRQuDXrfH6Te?e1+^(ug8rw9YS zUsX4uA6{NwUjhKyvp0Wk+oQS}l)yZoZce=VfzXfF$2RbT=nO*I0YK*^&aJ&^QKL=- z>)RqkPO>Gx$pszMhpzAXzL#Bp=<#1-jTFKx*$FikvY+B=bZ}cZ25Tr#pe66=Ki}IK1L9p!<@Os`JCnudfF&`8Dq!or{{vu9d1&r3ZI%$KY3_p0zz=yBOEUa|rJlsg9i0SFwE`_0PBx8jFq2}_7ep0|M(4z Wb7RB(Q3y)_0000Dp2>wiW!HaLwGBG26B zsj@_Qb#Ev@268im zTNmKN(OQVW+T(#i>yp4ZEWU(tu0-J6W^8NRk*T%E9~eu-M`tXj)@=gI%pTl8=e_mf zZ`TCDx=CQH_iP#3f@G4!SK=8?t$&*Y5#DZlEO8P)|5%b)YwH-SAvsP;vQx1x2{tpB zg_7MC2)GfU%ASOhnk!l12n`r2-2<_1FOkjR8<1?XlLJoDB-RQ+?VkmLcnXvf)QTjY z57z2JGK`UXz?rp15bhYa-5++Y6W7ibG!Pr9A3D(*(DSrr@G##HU za+Oxpk@sE_2yW4x*-CSNtXWw%mq^h`QK0Xe?(D6LD>$`ouOTVx6H4&m?TOe^!MeSO z<%NcpS@g}0tr;PEq-|I#b^fyTCwe$Dw3KXkpZWBnMe8;}`hu!~xa3aN2;_|bB(OF( zrx}e_Fv1&e{1bqq!cO3$!hc?fl>J=-BAce@lP^8Edhq>)KdUYx_0zuf#r+6{ANzsF zp1-P2GAg74k%$Jc8(zPgzHwAIB}NkCfDqgU5e4;ki;N1n4y3yJUlFivyu5rtMG-nb z06UO6Ef9e5`#{jzfyk)cH+h5zxT?kLxD7tn94YEzzePapd7~)yL4VGWBGY1^5&?FT z1Hst$4TAMe)Qxa)2PPll)&$lZ76gQSWr*mX1oeZEX0&KULHEG~<1 z%&_OA@ZE*!{>ubi{T96O#%=^vkNRGE59#0q9;zPo?nfTLap8ri>QQGA9p6`7d`uHR z5l4lao}j7fUj(v)Jp|jo!KB!+gD979_do!bM8v2kP*zb;^?$fG`5kAV`3-?-*CFHH z`^r?2)Nx;#;@O3B9{OF00{s|MNUMnLSTaaTk13b delta 994 zcmV<810DQ=3GE1wB!6a5OjJd{z`!0IAt@^^p%p>TEiEc4Dn?077#AA$*1(m z75cM_;)hJBG+zHG(_^Ysb`YMd3IVdyIVhOgiVaccQzoqJuS}i8fILZPfLtk&I{=eS z1jZWRkPrdN^uZdUe<5rBFql9P2vQw$cPvd-jx|CA3P7d?pxmtdD)MIpnc-kaVFNHb z)mjf1G8HHnN9NK(9>X3l6{?4}W$JARX2wu#QLU&&~mo(*t)j{MiM8ypDypss8L9d+hOF#T#4-qO{b- z1>WMi<@NCnMMWxK6(v*!yhn!GP>e;qIYsMi6#!^fjNcL17JKhgs+Tp9|krVSw0FAQL{2Vb|g%#UP~VMP@J zOs+uYDfx=F<5ucsZ4pg(D&FAs954V4G_eJN<}kC}VNz28P=Ce<_~y)5yS-v~~IH=_M#Rv#be}u|U@^uE#)Lk|#Q!_+b2LZUB zAFF5-^ClS^wGI%L2{a=F4RM&RB}%b&pabZG-51>*h{JTffrfiXfiDFY04*7SN>qmc zO1ZBQGN8J|0n*oljyeZLhjY-yZZxNU(*+wfkG6rfi=IX{0GgJnZ9BtY0x&wVvSnyD zMSK5Ye?Su41$*qVJ&dcTYA=N*`QTX$uAZtcDkzE1g(-ShPZgv6|G4t%Q(XNN{Zrw_ z2ZUVx5`aC}0;tK}WJ3>nyF`~80C`FDQSkxHRb*T}UESynbHKSpq1iOaboI7n${5sY z+cKrA|I%g393u8I{ozUOT|HHd{=ej&rg2yQSO|P7z>N*)O*c*3OPPSt)iVGW<|GfU zo~Fg80(87pnvAZV2xu8*{sAzqo+icW9Us7P_1G4EeU7W|?ppvHSI?0C24eCwd*)2x QjsO4v07*qoM6N<$g2sBiGXMYp diff --git a/icons/obj/guns/manufacturer/eoehoma/righthand.dmi b/icons/obj/guns/manufacturer/eoehoma/righthand.dmi index c1f9ccab3ff02738695c75122e6754503b841d1b..902c174836e9b38073dddc0f894a624a4b548aea 100644 GIT binary patch delta 1788 zcmY*Y2~d++5)KZm0wXHOxv0QEf`bR)%5Vk+V?YV_83Y*+AuzD3Tq^NLR%ICmL%4?s zSqG3i@u&dG6Hv^?m*I>u%gfR{=6TaOd|c z=_tWqu>CGrXD=8`PEU4V`@WIg7=Faxl{tTpi$3R=Os0XpAjO}diCvlDu5 zp24064A64>&#CAq?${I1tF_GKNR)b)Ro5eSvBd(W;yB9C?S)*@f@6{^0r#U(PBblCK0RQwDnbJR zU#Q5PAy%uXo`u!^GS5IH}Up9S;N@}_#ISt6}8cbm42utB12ot8Znbx|5?}fn> zx?G&k_@q1p_@!A%6q|$RjMT#<*!PCR>>s4iTB}Z2NTdAy1+CT9>H6Vshjg{>vVBVx zT;*g{f3aUMf87+DVxUcZ$&Jg>E}frx`zIoT+0k~i+a2ED_zN|$PzYZ1Kd z(ds_ux%HKEmpN`=NQzFLAxqI}pL{_o(q;rq>;lv>w{OPYm!J+*aGp$JB&gXGYHtr8 zPqMKIJMxy)CANsGVv5&&5wF)2u%h$J4RAU2@jS!Jb9KZ@+ESc_1nru_fG zdH*^Em^ZbTaDeAgM9U5+vS0KnSBh?#ejOz(nvT1e3V4K1fYh;~x1!VZFex?_8{Q96 zr+LoOvE6>`wJcnPZcMlhbMEyz8$0;!PU}~@t$AG>Ur0kYL6Nhf&mr}Sngm5&T62Ei zrgH&+#$^HwCvbx#yCsC`+V5I7!NFZgJQly>h7a*G5b!5l8vc0##5$4^0kPz77eH5k z!7-pRkU|~pnB5@hVA_E?XvYZ+f%F!8sCqUMq}*zScn?@;0;8D>EgoHiUM_8r{sjBt zADhW4iz9CFBxt0pt0(+ACeaJhQ1^LATd3f66B<+70RY-Zh3r&lEN=&(2|h>9cL0IH z*H33UAq5aPr}nL3>PCmKc8ABm2833$X=7(l!g#XE82Rzq){-x@)4EraGx;=2UTUH! zCNaFGta!wxGgtK^T0-b(;Z?=aA;ZGU9dW|ufh@4i(8klR#=UgP&RrGQo-}J1u8p9wc1JlLfuaw?*y}~p(k>p(O8Aw_sBScak7vZ zKiX%;4urrx6V9XE4Q}-s^&@_-6-Scf_{tG@`+DS%Nwlg~;IuMg(CajQ?iThAS3ctv z?^eRdGybB$BqO^W;BXwAikOH8M%7L)qmzmEt`+&b-b1%7w|g4RB?VVe9%qJT#bU_E zl)V1g>XL&!^qrzrO`+op6SVsb!Q`DrX{*tPURQW>!@J3*G^%}&Xc9{$bdDedLQ+7w zlu}Sv9A#qgzA}3I*eQ>dlSp`Sa$rf^#rNRyX#PCB6n6j!w_0(PUx#{)nxDLuBjCpPOPf?}^MFvt?iBL{Q4GJ0x0000DNk~Le0001h0001B2m=5B0OF*IdjJ3ceo#zQ zMZmzoDk&*todX?Ia%e*&MBxXto1C~k9QG65(tTmSCb9b^hE?lJ)=kr%r! zu6zRv_$lr)p=4mT#KYrN)sJ|5xIFO15(EN)Kp+qZ1j4_@vgG4oKJUj|EGIEK_zd}p zSKTn9H_kW@x)>!G%Sn{Wms%`KA!?T&ktMf%)zG7?Yxt9%z$6J-9Bv83P{Iy3 zCjk=}BWOirSQ{)3zc~Pw1V|1zXc==L(=XIYRPJhNiIKwHpdzwwK;R^i`a1Ja90W}8 ztO0HxW=^7d#U9+?V=}V2f9sxMT-I-?hZ0=}8vs(+0NBEbrzPZDEs^PRLNd@RcNX^a zF6H|L1DI%Df*(&Q3F{jvC*(=QU2oje3^I?zzmk+h;QLITKp+qZ1OkCTAbbl}_D{p6 zuhn^c&J&sm0c$j?3;{yxma$EUwuuwk(Au8#kNaj1AIRxD z_-WQb1M$Mx9xq}Bf24W=a5#;Wz`C(6XbuvpH-2NfH07)Tcy?bFz^rpV r8{8APtO0HFzbN3c&iDiZ;oI;B;>Tn|$5Ky<00000NkvXXu0mjfWNWQO diff --git a/icons/obj/guns/manufacturer/frontier_import/48x32.dmi b/icons/obj/guns/manufacturer/frontier_import/48x32.dmi index be95cfa90c14fe5b1763ae8e11da0c600ce28dab..f6638f71a293863fbe1fa8e4dc4bf59d182def3a 100644 GIT binary patch literal 5011 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 TfAQ__qzOk|MMt?o(K_N^uNQ4= literal 9192 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 diff --git a/shiptest.dme b/shiptest.dme index 29f325abe2d6..c55f536641d8 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -3112,6 +3112,8 @@ #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\eoehoma\ballistics.dm" +#include "code\modules\projectiles\guns\manufacturer\eoehoma\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" From 062704d19c8eaeac016f2283cf0f3bc0a2dc21e3 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 19 Jan 2025 11:39:24 -0600 Subject: [PATCH 078/330] Automatic changelog generation for PR #3944 [ci skip] --- html/changelogs/AutoChangeLog-pr-3944.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3944.yml diff --git a/html/changelogs/AutoChangeLog-pr-3944.yml b/html/changelogs/AutoChangeLog-pr-3944.yml new file mode 100644 index 000000000000..a084ea8bda58 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3944.yml @@ -0,0 +1,6 @@ +author: rye-rice +changes: + - {rscadd: Resprites everything eoehoma related!} + - {rscadd: E-11 is more accurate. This isn't saying much.} + - {bugfix: E-60's charge overlay should now work} +delete-after: true From d0821092585857794ec499c34fb7b5d298879384 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Sun, 19 Jan 2025 11:49:18 -0800 Subject: [PATCH 079/330] .45-70 now comes in 24-round boxes (#3986) ## About The Pull Request .45-70 now comes in 24 round boxes. Price reduced to 300 credits. .45-70 match reduced to 400 credits. 800 credits is a scam. ## Why It's Good For The Game For only being used in two guns, these rounds are prohibitively expensive and it's simply just economically better to run literally any other gun. This should make it a little bit more reasonable to purchase, and at the very least you can properly load an Ashhand 4 times with a .45-70 box. It did not divide nicely beforehand. ## Changelog :cl: balance: .45-70 comes in 24 round boxes. balance: .45-70 is cheaper. /:cl: --- code/modules/cargo/packs/ammo.dm | 8 ++++---- .../ammo_stacks/prefab_stacks/premade_pistol_stacks.dm | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index d3b87bb2aed9..077d5f49a683 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -246,15 +246,15 @@ /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." + desc = "Contains a 24-round box containing devastatingly powerful .45-70 caliber ammunition." contains = list(/obj/item/storage/box/ammo/a4570) - cost = 400 + cost = 300 /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." + desc = "Contains a 24-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 + cost = 400 /* 7.62 */ 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 index 5a783652a7e3..2f1c9cf07659 100644 --- 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 @@ -323,7 +323,7 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570 ammo_type = /obj/item/ammo_casing/a4570 - max_ammo = 5 + max_ammo = 6 /obj/item/storage/box/ammo/a4570 name = "box of .45-70 ammo" From 4f8f8dc329540321b6d47ac95ffa0704615fd857 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Sun, 19 Jan 2025 14:04:36 -0600 Subject: [PATCH 080/330] Removes Floor tiles under catwalks on the Mudskipper (#4019) ## About The Pull Request ## Why It's Good For The Game Accidentally did this and Forgot to fix it ## Changelog :cl: fix: Fixes plating under some catwalks that aren't supposed to be there on the Mudskipper /:cl: --------- Co-authored-by: github-actions --- _maps/shuttles/independent/independent_mudskipper.dmm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_maps/shuttles/independent/independent_mudskipper.dmm b/_maps/shuttles/independent/independent_mudskipper.dmm index 57ef51218970..6bad14323e84 100644 --- a/_maps/shuttles/independent/independent_mudskipper.dmm +++ b/_maps/shuttles/independent/independent_mudskipper.dmm @@ -228,7 +228,7 @@ dir = 10 }, /obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/ship/engineering/engine) "eu" = ( /obj/structure/railing{ @@ -710,7 +710,7 @@ icon_state = "2-5" }, /obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/ship/engineering/engine) "qN" = ( /obj/machinery/cryopod{ @@ -1460,7 +1460,7 @@ icon_state = "2-4" }, /obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/ship/engineering/engine) "Id" = ( /obj/effect/decal/cleanable/dirt/dust, From c018f28fef62ec68b617540faa8422c2f4d93c6f Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 19 Jan 2025 14:15:57 -0600 Subject: [PATCH 081/330] Automatic changelog generation for PR #4019 [ci skip] --- html/changelogs/AutoChangeLog-pr-4019.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4019.yml diff --git a/html/changelogs/AutoChangeLog-pr-4019.yml b/html/changelogs/AutoChangeLog-pr-4019.yml new file mode 100644 index 000000000000..cf0abcdc26fe --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4019.yml @@ -0,0 +1,5 @@ +author: generalthrax +changes: + - {bugfix: Fixes plating under some catwalks that aren't supposed to be there on + the Mudskipper} +delete-after: true From 503de75441a7a8bc62758f738076cdf5d22ba5bc Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:05:14 -0500 Subject: [PATCH 082/330] fix tile indie space (#4038) #4034 --- _maps/outpost/indie_space.dmm | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/_maps/outpost/indie_space.dmm b/_maps/outpost/indie_space.dmm index dfcb6d1d37f5..b06d006927b6 100644 --- a/_maps/outpost/indie_space.dmm +++ b/_maps/outpost/indie_space.dmm @@ -5567,10 +5567,6 @@ /turf/open/floor/plasteel, /area/outpost/hallway/central) "BF" = ( -/obj/machinery/elevator_call_button{ - dir = 2; - pixel_y = 24 - }, /obj/structure/chair/bench/beige/directional/south, /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -6201,13 +6197,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) -"EQ" = ( -/obj/structure/falsewall/reinforced, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/closed/indestructible/reinforced/rust, -/area/outpost/maintenance/fore) "ER" = ( /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, @@ -16965,7 +16954,7 @@ NK ds ci NK -EQ +PS YO YO YO From dfa52df158e9d785110fd690a88e3e094746c6ba Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Sun, 19 Jan 2025 12:05:26 -0800 Subject: [PATCH 083/330] You can use a multitool for mechanical brain surgery on the fix brain step. (#3988) ## About The Pull Request Title. ## Why It's Good For The Game I noticed some people getting confused what tool to use for robotic brain surgery, so I added multitool as an intuitive option for the fix brain step. ## Changelog :cl: add: You can use a multitool for mechanical brain surgery on the fix brain step. /:cl: --- code/modules/surgery/mechanical.dm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/code/modules/surgery/mechanical.dm b/code/modules/surgery/mechanical.dm index 30755a6f3f6c..c58c142e2a5a 100644 --- a/code/modules/surgery/mechanical.dm +++ b/code/modules/surgery/mechanical.dm @@ -7,13 +7,21 @@ /datum/surgery_step/mechanic_open, /datum/surgery_step/open_hatch, /datum/surgery_step/prepare_electronics, - /datum/surgery_step/fix_brain, + /datum/surgery_step/fix_brain/mechanic, /datum/surgery_step/close_hatch, /datum/surgery_step/mechanic_close ) lying_required = FALSE self_operable = TRUE +/datum/surgery_step/fix_brain/mechanic + implements = list( + TOOL_MULTITOOL = 85, + TOOL_HEMOSTAT = 85, + TOOL_SCREWDRIVER = 40, + /obj/item/pen = 5 + ) + /datum/surgery/healing/mechanic name = "Repair machinery" requires_bodypart_type = BODYTYPE_ROBOTIC From cb019dbfc7e89cec0fba75b7123771319eab9b9a Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 19 Jan 2025 14:31:12 -0600 Subject: [PATCH 084/330] Automatic changelog generation for PR #3988 [ci skip] --- html/changelogs/AutoChangeLog-pr-3988.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3988.yml diff --git a/html/changelogs/AutoChangeLog-pr-3988.yml b/html/changelogs/AutoChangeLog-pr-3988.yml new file mode 100644 index 000000000000..d3e8a31d338d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3988.yml @@ -0,0 +1,5 @@ +author: Gristlebee +changes: + - {rscadd: You can use a multitool for mechanical brain surgery on the fix brain + step.} +delete-after: true From 28c4dd541d31dce56466d013c4379023cd152503 Mon Sep 17 00:00:00 2001 From: HelmCrab <90987989+Thera-Pissed@users.noreply.github.com> Date: Sun, 19 Jan 2025 14:06:01 -0600 Subject: [PATCH 085/330] Ghost HUD Respawn Button (#4037) ## About The Pull Request Replaces the Jump To Mob HUD button with a respawn button. ![image](https://github.com/user-attachments/assets/d5adc2be-893f-4a06-97e3-4a513c597a7e) Thanks @meikiato from the discord for the above text. I am not wordy. ![image](https://github.com/user-attachments/assets/23c53a46-4f17-40ad-b383-377ad41c8319) The respawn button confirms your choice if you have a body to return to, otherwise this confirmation will not appear. ## Why It's Good For The Game Respawning is an important part of shiptest, whether you're checking ships before the round or respawning after an unfortunate death. This makes it a more accessible and obvious option for new players, and requires less mucking about in the verb menu. ## Changelog :cl: add: Replaced Jump To Mob on ghost HUD with a respawn option. /:cl: --- code/_onclick/hud/_defines.dm | 2 +- code/_onclick/hud/ghost.dm | 14 ++++++++++++-- code/modules/mob/dead/observer/observer.dm | 7 +++++++ icons/hud/screen_ghost.dmi | Bin 23032 -> 21382 bytes 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm index dc6dfd37cea7..c996c0f8b294 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/_onclick/hud/_defines.dm @@ -160,7 +160,7 @@ #define ui_pai_view_images "SOUTH:6,WEST+13" //Ghosts -#define ui_ghost_jumptomob "SOUTH:6,CENTER-3:24" +#define ui_ghost_respawn "SOUTH:6,CENTER-3:24" #define ui_ghost_orbit "SOUTH:6,CENTER-2:24" #define ui_ghost_reenter_corpse "SOUTH:6,CENTER-1:24" #define ui_ghost_teleport "SOUTH:6,CENTER:24" diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm index 9c96a3f5cf18..d1c7cb81ca7d 100644 --- a/code/_onclick/hud/ghost.dm +++ b/code/_onclick/hud/ghost.dm @@ -5,6 +5,7 @@ . = ..() flick(icon_state + "_anim", src) +/* /atom/movable/screen/ghost/jumptomob name = "Jump to mob" icon_state = "jumptomob" @@ -12,6 +13,15 @@ /atom/movable/screen/ghost/jumptomob/Click() var/mob/dead/observer/G = usr G.jumptomob() +*/ + +/atom/movable/screen/ghost/respawn + name = "Respawn" + icon_state = "respawn" + +/atom/movable/screen/ghost/respawn/Click() + var/mob/dead/observer/G = usr + G.respawn() /atom/movable/screen/ghost/orbit name = "Orbit" @@ -58,8 +68,8 @@ ..() var/atom/movable/screen/using - using = new /atom/movable/screen/ghost/jumptomob() - using.screen_loc = ui_ghost_jumptomob + using = new /atom/movable/screen/ghost/respawn() + using.screen_loc = ui_ghost_respawn using.hud = src static_inventory += using diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index e79427f2381d..bf6c63790cb1 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -520,6 +520,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp else to_chat(A, "This mob is not located in the game world.") +/mob/dead/observer/verb/respawn() + if(can_reenter_corpse && client?.holder) + var/poll_client = tgui_alert(usr, "Returning to the title screen will forfeit any possible revival. Are you sure?", "Confirmation", list("Yes", "No")) + if(poll_client == "No") + return + abandon_mob() + /mob/dead/observer/verb/change_view_range() set category = "Ghost" set name = "View Range" diff --git a/icons/hud/screen_ghost.dmi b/icons/hud/screen_ghost.dmi index 663cf91e3622d9b02ff902e61e79944a558a6ae6..1bd2be6e41444a336afac2c52ac6a2ff4604f93a 100644 GIT binary patch literal 21382 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 Date: Sun, 19 Jan 2025 14:43:03 -0600 Subject: [PATCH 086/330] Automatic changelog generation for PR #4037 [ci skip] --- html/changelogs/AutoChangeLog-pr-4037.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4037.yml diff --git a/html/changelogs/AutoChangeLog-pr-4037.yml b/html/changelogs/AutoChangeLog-pr-4037.yml new file mode 100644 index 000000000000..9a858987a24f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4037.yml @@ -0,0 +1,4 @@ +author: Thera-Pissed +changes: + - {rscadd: Replaced Jump To Mob on ghost HUD with a respawn option.} +delete-after: true From 451703fd637e7ab048c88c876f7a9f8882ff43e2 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Sun, 19 Jan 2025 12:57:53 -0800 Subject: [PATCH 087/330] Makes dogtag retrieval missions take both Ramzi and Frontiersman tags, removes RnD retrieval (#4036) ## About The Pull Request Title. Dogtags retrieval missions now take any dogtag, both frontiersman and ramzi. This was done as dogtag missions were already rare enough and sometimes even for doing these things you could get screwed over by not being able to turn in any of your tags. Anomaly core missions don't ask for specific cores, why should dogtag missions? Both are terrorists. Also removes the RnD retrieval missions. We already culled RnD from nearly everywhere and it exists in scraps on certain ships. Barely any even have a full setup. This clogs the list for other missions that are actually completable. ## Why It's Good For The Game I discussed this with Thrax after seeing the dogtag issue in-game and came up with how the RnD missions are effectively never done since mapcuts removed almost all of the RnD ruins (thank god) and it's otherwise mostly unobtainable. Hopefully this should make the missions easier to complete with more accessible missions and likewise not clog up the list. ## Changelog :cl: del: RnD retrieval missions balance: Dogtag missions take any kind of dogtag, both Frontiersman and Ramzi /:cl: --- .../overmap/missions/acquire_mission.dm | 39 ++----------------- 1 file changed, 3 insertions(+), 36 deletions(-) diff --git a/code/modules/overmap/missions/acquire_mission.dm b/code/modules/overmap/missions/acquire_mission.dm index 71bb5546fe03..d04d494bf4a8 100644 --- a/code/modules/overmap/missions/acquire_mission.dm +++ b/code/modules/overmap/missions/acquire_mission.dm @@ -196,49 +196,16 @@ Acquire: Anomaly 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." + name = "Hunt down Dogtags" + desc = "CLIP has posted several bounties for wanted members of both the Frontiersman and the Clique. Bring back their tags, 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/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 + objective_type = /obj/item/clothing/neck/dogtag 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/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 - 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 */ From 03ed46be7379f238e8fe51ecf82866735ad0cc99 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 19 Jan 2025 15:09:00 -0600 Subject: [PATCH 088/330] Automatic changelog generation for PR #4036 [ci skip] --- html/changelogs/AutoChangeLog-pr-4036.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4036.yml diff --git a/html/changelogs/AutoChangeLog-pr-4036.yml b/html/changelogs/AutoChangeLog-pr-4036.yml new file mode 100644 index 000000000000..1ed66d369091 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4036.yml @@ -0,0 +1,5 @@ +author: firebudgy +changes: + - {rscdel: RnD retrieval missions} + - {balance: 'Dogtag missions take any kind of dogtag, both Frontiersman and Ramzi'} +delete-after: true From a7a2b17a39a78cd809040ee684b88d445d70478d Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Sun, 19 Jan 2025 14:09:53 -0800 Subject: [PATCH 089/330] MP-Gygax, and adds the factional mech conversion kits to cargo (#3918) ## About The Pull Request Adds the NT made MP-Gygax to the game, and a construction kit for it cargo for 8000 credits. A mass produced variant of the base Gygax, it's armor has been stripped down to reduce costs. The leg actuators have been modified to take advantage of the lighter weight, allowing for quick 6 tile range charges. The light weight however does mean it doesn't have the mass to break through walls. Adds the conversion kits for the CLIP Rogue and Paladin, and the Inteq Gygax to cargo for 500, locked to their respective factions. Reduces the cost of the Mk-2 ripley upgrade to 500. Adds some sanity to charging so you can't send yourself off course. MP-Gygax sprites by Rye-Rice. ![image](https://github.com/user-attachments/assets/02c6917b-f00c-49f7-85ff-a03e2474b76b) ## Why It's Good For The Game More mechs are neat, and it makes sense for NT to have their own unique Gygax since it's their own product. Having cheap conversion kits are good since you're already paying out the nose to buy a mech. And factional mechs are nice to have since we have factional cargo to support it now. ## Changelog :cl: Gristle, Rye-Rice add: MP Gygax add: Mech conversion kits to cargo balance: MK-2 ripley upgrade now costs 500. fix: Mech charging sanity. /:cl: --------- Signed-off-by: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/game/mecha/combat/gygax.dm | 37 ++++++++++-- code/game/mecha/equipment/tools/work_tools.dm | 8 ++- code/game/mecha/mecha.dm | 8 ++- code/game/mecha/mecha_construction_paths.dm | 26 ++++++++ code/game/mecha/mecha_parts.dm | 10 ++++ code/modules/cargo/packs/mechs.dm | 56 +++++++++++++++++- icons/mecha/mech_construct.dmi | Bin 31441 -> 34241 bytes icons/mecha/mech_construction.dmi | Bin 19228 -> 19621 bytes icons/mecha/mecha.dmi | Bin 143568 -> 145464 bytes 9 files changed, 136 insertions(+), 9 deletions(-) diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 8a3203c00645..82a9909b130f 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -49,14 +49,39 @@ return cell = new /obj/item/stock_parts/cell/bluespace(src) -/obj/mecha/combat/gygax/inteq - name = "\improper Basenji" - desc = "A light security exosuit originally manufactured by Cybersun Biodynamics, extensively modified by IRMG artificers. The leg actuators have been maxed out, allowing for powerful short ranged charges." - icon_state = "inteqgygax" +/obj/mecha/combat/gygax/charger + name = "\improper Modified 501p" + desc = "A lightweight security exosuit, this one seems to have been modified for short high speed charges instead of enhanced speed." charge_break_walls = TRUE charge_toss_structures = TRUE charge_toss_mobs = TRUE +/obj/mecha/combat/gygax/charger/inteq + name = "\improper Basenji" + desc = "A light security exosuit originally manufactured by Cybersun Biodynamics, extensively modified by IRMG artificers. The leg actuators have been maxed out, allowing for powerful short ranged charges capable of breaking walls and other obstacles." + icon_state = "inteqgygax" + +/obj/mecha/combat/gygax/charger/mp + name = "\improper NT-501p-MP" + desc = "An exosuit model derrived from the Cybersun 501p and modified for mass production. This model has had its armor plating reduced to reduce production costs. The leg actuators have been modified to take advantage of the consequently lighter frame, allowing for swift charges over moderate distances without heavily taxing the power supply." + armor = list("melee" = 25, "bullet" = 30, "laser" = 30, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + icon_state = "mpgygax" + charge_break_walls = FALSE + charge_toss_structures = FALSE + charge_distance = 6 + charge_cooldown = 8 + charge_power_consume = 100 + charge_windup = 0 + +/obj/mecha/combat/gygax/charger/nt/loaded/Initialize() + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/carbine(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/thrusters/ion(src) + ME.attach(src) + /obj/mecha/combat/gygax/GrantActions(mob/living/user, human_occupant = 0) ..() overload_action.Grant(user, src) @@ -66,11 +91,11 @@ ..() overload_action.Remove(user) -/obj/mecha/combat/gygax/inteq/GrantActions(mob/living/user, human_occupant = 0) +/obj/mecha/combat/gygax/charger/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) +/obj/mecha/combat/gygax/charger/RemoveActions(mob/living/user, human_occupant) . = ..() charge_action.Remove(user) diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index de06c5c6742d..dd27c3d87f1e 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -664,5 +664,11 @@ name = "IRMG Basenji Conversion Kit" desc = "An IRMG-custom conversion kit for a 500 Series combat exosuit, to convert it to the specialized Basenji breaching exosuit." source_mech = list(/obj/mecha/combat/gygax,/obj/mecha/combat/gygax/dark) - result_mech = /obj/mecha/combat/gygax/inteq + result_mech = /obj/mecha/combat/gygax/charger/inteq + +/obj/item/mecha_parts/mecha_equipment/conversion_kit/mp_gygax + name = "NT-501p-MP Conversion Kit" + desc = "A NT made conversion kit for a 501p combat exosuit, to convert it to the lightweight NT-501p-MP skirmishing exosuit." + source_mech = list(/obj/mecha/combat/gygax,/obj/mecha/combat/gygax/dark) + result_mech = /obj/mecha/combat/gygax/charger/mp diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 3bbc61961442..11b3b3c5a08f 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -46,6 +46,7 @@ ///Vars for mech charges var/charging = FALSE var/charge_ready = TRUE + var/charge_windup = 0.5 var/charge_cooldown = 50 var/charge_power_consume = 200 var/charge_distance = 5 @@ -610,6 +611,11 @@ occupant_message("Unable to move while in zoom mode!") last_message = world.time return 0 + if(charging) + if(world.time - last_message > 20) + occupant_message(span_warning("You can't change direction while charging!")) + last_message = world.time + return 0 if(!cell) if(world.time - last_message > 20) occupant_message("Missing power cell.") @@ -1277,7 +1283,7 @@ GLOBAL_VAR_INIT(year_integer, text2num(year)) // = 2013??? 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) + addtimer(CALLBACK(src,PROC_REF(handle_charge)), charge_windup SECONDS, TIMER_STOPPABLE) /obj/mecha/proc/handle_charge() var/turf/mecha_loc = get_turf(src) diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 8cfeda9e30d2..e20634680447 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -3,6 +3,9 @@ //////////////////////////////// /datum/component/construction/mecha var/base_icon + // if we need to override the icon for a different one from the base. Step determines when the override occurs. + var/override_icon + var/override_step = list() // Component typepaths. // most must be defined unless @@ -52,6 +55,11 @@ // "[base_icon][index - 1]" // For example, Ripley's step 1 icon_state is "ripley0". var/atom/parent_atom = parent + if(override_icon && ((index-1) in override_step)) + if(!steps[index]["icon_state"] && base_icon) + parent_atom.icon_state = "[override_icon][index - 1]" + return + if(!steps[index]["icon_state"] && base_icon) parent_atom.icon_state = "[base_icon][index - 1]" @@ -420,6 +428,24 @@ outer_plating=/obj/item/mecha_parts/part/gygax_armor outer_plating_amount=1 +/datum/component/construction/unordered/mecha_chassis/mpgygax + result = /datum/component/construction/mecha/gygax/mp + steps = list( + /obj/item/mecha_parts/part/gygax_torso, + /obj/item/mecha_parts/part/gygax_left_arm, + /obj/item/mecha_parts/part/gygax_right_arm, + /obj/item/mecha_parts/part/gygax_left_leg, + /obj/item/mecha_parts/part/gygax_right_leg, + /obj/item/mecha_parts/part/gygax_head + ) + +/datum/component/construction/mecha/gygax/mp + result = /obj/mecha/combat/gygax/charger/mp + + outer_plating = /obj/item/mecha_parts/part/mpgygax_armor + override_icon = "mpgygax" + override_step = list(21,22) + /datum/component/construction/mecha/gygax/action(datum/source, atom/used_atom, mob/user) return INVOKE_ASYNC(src, PROC_REF(check_step), used_atom, user) diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index 43dc8431c809..beef7653d8ff 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -139,6 +139,16 @@ desc = "A set of armor plates designed for the 500 Series. Designed to effectively deflect damage with a lightweight construction." icon_state = "gygax_armor" +/obj/item/mecha_parts/chassis/mp_gygax + name = "\improper MP-Gygax chassis" + construct_type = /datum/component/construction/unordered/mecha_chassis/mpgygax + +/obj/item/mecha_parts/part/mpgygax_armor + gender = PLURAL + name = "\improper MP-Gygax armor plates" + desc = "A set of stripped down armor plates designed for the MP-Gygax. Designed to moderately deflect damage with a lightweight construction." + icon_state = "mpgygax_armor" + //////////// Durand diff --git a/code/modules/cargo/packs/mechs.dm b/code/modules/cargo/packs/mechs.dm index d12c9e4096e8..c35f4bb7ebc2 100644 --- a/code/modules/cargo/packs/mechs.dm +++ b/code/modules/cargo/packs/mechs.dm @@ -73,6 +73,27 @@ Build Your Own Suit ) crate_name = "501p Construction Kit" +/datum/supply_pack/mech/mpgygax_parts + name = "NT-501p-MP construction kit" + desc = "A set of parts for the NT-501p-MP exosuit model, dervived from the original Cybersun designs and modified for mass production. The armor plating was reduced to cut costs for mass production, but the lighter weight allows the NT-501p-MP's modified servos to perform swift moderate distance charges without heavily taxing the power supply. " + cost = 8000 + contains = list( + /obj/item/mecha_parts/chassis/mp_gygax, + /obj/item/mecha_parts/part/gygax_head, + /obj/item/mecha_parts/part/gygax_torso, + /obj/item/mecha_parts/part/gygax_left_arm, + /obj/item/mecha_parts/part/gygax_right_arm, + /obj/item/mecha_parts/part/gygax_left_leg, + /obj/item/mecha_parts/part/gygax_right_leg, + /obj/item/mecha_parts/part/mpgygax_armor, + /obj/item/circuitboard/mecha/gygax/peripherals, + /obj/item/circuitboard/mecha/gygax/main, + /obj/item/circuitboard/mecha/gygax/targeting + ) + crate_name = "NT-501p-MP Construction Kit" + faction = /datum/faction/nt + faction_locked = TRUE + /datum/supply_pack/mech/durand_parts name = "Durand construction kit" desc = "The kit to a bulky suit most frequently used by the CLIP Minutemen, older models tend to find themselves disassembled and sold off." @@ -215,11 +236,44 @@ Mech Equipment /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." - cost = 1500 + cost = 500 contains = list( /obj/item/mecha_parts/mecha_equipment/conversion_kit/ripley ) +/datum/supply_pack/mech/equipment/ripley_upgrade/clip + name = "CLIP Ripley MK-IV upgrade kit" + desc = "Contains a CLIP-custom APLU MK-IV upgrade kit. The upgrade will replace the cockpit with a lightweight spaceworthy canopy, and parts to overclock the leg servos. Maintains the speed of the MK-1, but consumes more power." + cost = 500 + contains = list( + /obj/item/mecha_parts/mecha_equipment/conversion_kit/ripley/clip + ) + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/mech/equipment/paladin_upgrade + name = "CLIP Durand Paladin upgrade kit" + desc = "Contains a CLIP-custom conversion kit for a Durand combat exosuit, to convert it to the specialized Paladin anti-xenofauna exosuit. Features an electrical replusion field that repels any melee attacks, but loses the ability to defend against ranged projectiles." + cost = 500 + contains = list( + /obj/item/mecha_parts/mecha_equipment/conversion_kit/paladin + ) + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/mech/equipment/basenji_upgrade + name = "IRMG Basenji upgrade kit" + desc = "Contains an IRMG-custom conversion kit for a Gygax combat exosuit, to convert it to the specialized Basenji breaching exosuit. The upgrade will overclock the Gygax's leg actuators, allowing for short ranged charges capable of smashing through most obstacles." + cost = 500 + contains = list( + /obj/item/mecha_parts/mecha_equipment/conversion_kit/inteq_gygax + ) + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + /datum/supply_pack/mech/equipment/melee_armor_booster name = "Exosuit CCW armor kit" desc = "A \"close combat weaponry\" module designed to deflect melee attacks." diff --git a/icons/mecha/mech_construct.dmi b/icons/mecha/mech_construct.dmi index 6d48367f2a3be05f745cce2dffe21efced6ae54d..cc5e5356177b665a8c718beafd3bf0b8b156aa82 100644 GIT binary patch literal 34241 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 U%bY9r5CVRr#N<8}i|G3OFP3Y*Q2+n{ literal 31441 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

?}eg7=E~T)4EWSH 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 diff --git a/icons/mecha/mech_construction.dmi b/icons/mecha/mech_construction.dmi index d7f0f3e05487beaa68496e7dd3a8bdcbaba78297..a7e48d9e55927ec388689f90965b48cd74c93dd6 100644 GIT binary patch literal 19621 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 W`^@E|9{@d@WSkvgKQ%ZYQvU-eW*Q{` literal 19228 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 Cf{L*K diff --git a/icons/mecha/mecha.dmi b/icons/mecha/mecha.dmi index 2993487cb85052c902dabb67201c647f64319ba5..9034f08512586fce9c07811c885de523e871c545 100644 GIT binary patch delta 86815 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 IMXSL72XhJBO8@`> delta 84904 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℞Y{d)oa)?v$45|AXtl{y8g>og^r*bX*f@3H@E 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

VMN~@3&Ms2 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 Zh=z<}Ym^M Date: Sun, 19 Jan 2025 16:20:40 -0600 Subject: [PATCH 090/330] Automatic changelog generation for PR #3918 [ci skip] --- html/changelogs/AutoChangeLog-pr-3918.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3918.yml diff --git a/html/changelogs/AutoChangeLog-pr-3918.yml b/html/changelogs/AutoChangeLog-pr-3918.yml new file mode 100644 index 000000000000..5f46880de0aa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3918.yml @@ -0,0 +1,7 @@ +author: Gristle, Rye-Rice +changes: + - {rscadd: MP Gygax} + - {rscadd: Mech conversion kits to cargo} + - {balance: MK-2 ripley upgrade now costs 500.} + - {bugfix: Mech charging sanity.} +delete-after: true From 369feaf7771fb8e52b9e4b1dae30fa2311e82c8c Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:18:00 -0800 Subject: [PATCH 091/330] You can no longer gain deep-rooted traumas from failed brain surgery or natural damage. (#3984) ## About The Pull Request Title ## Why It's Good For The Game The surgery for curing deep rooted traumas is locked behind RND, which is basically non-existent these days, effectively making deep rooted traumas permanent. That honestly doesn't feel great. This makes brain damage a lot more manageable. ## Changelog :cl: balance: You can no longer gain deep-rooted traumas from failed brain surgery or natural damage. /:cl: --- code/modules/mob/living/brain/brain_item.dm | 17 ++++++++++------- code/modules/surgery/brain_surgery.dm | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 5fe96021461b..967efa40d0bb 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -349,14 +349,14 @@ return TRUE //Proc to use when directly adding a trauma to the brain, so extra args can be given -/obj/item/organ/brain/proc/gain_trauma(datum/brain_trauma/trauma, resilience, ...) +/obj/item/organ/brain/proc/gain_trauma(datum/brain_trauma/trauma, resilience, natural_gain = FALSE, ...) var/list/arguments = list() - if(args.len > 2) - arguments = args.Copy(3) - . = brain_gain_trauma(trauma, resilience, arguments) + if(args.len > 3) + arguments = args.Copy(4) + . = brain_gain_trauma(trauma, resilience, natural_gain, arguments) //Direct trauma gaining proc. Necessary to assign a trauma to its brain. Avoid using directly. -/obj/item/organ/brain/proc/brain_gain_trauma(datum/brain_trauma/trauma, resilience, list/arguments) +/obj/item/organ/brain/proc/brain_gain_trauma(datum/brain_trauma/trauma, resilience, list/arguments, natural_gain = FALSE) if(!can_gain_trauma(trauma, resilience)) return @@ -378,7 +378,10 @@ if(owner) actual_trauma.owner = owner actual_trauma.on_gain() - if(resilience) + if(natural_gain) + if(actual_trauma.resilience >= TRAUMA_RESILIENCE_LOBOTOMY) + actual_trauma.resilience = TRAUMA_RESILIENCE_SURGERY + else if(resilience) actual_trauma.resilience = resilience . = actual_trauma if(owner?.client) @@ -396,7 +399,7 @@ return var/trauma_type = pick(possible_traumas) - gain_trauma(trauma_type, resilience) + gain_trauma(trauma_type, resilience, natural_gain) //Cure a random trauma of a certain resilience level /obj/item/organ/brain/proc/cure_trauma_type(brain_trauma_type = /datum/brain_trauma, resilience = TRAUMA_RESILIENCE_BASIC) diff --git a/code/modules/surgery/brain_surgery.dm b/code/modules/surgery/brain_surgery.dm index 0b1d8610889f..7544f683b74a 100644 --- a/code/modules/surgery/brain_surgery.dm +++ b/code/modules/surgery/brain_surgery.dm @@ -55,7 +55,7 @@ "[user] screws up, causing brain damage!", "[user] completes the surgery on [target]'s brain.") target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60) - target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY) + target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_SURGERY) else user.visible_message("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "You suddenly notice that the brain you were working on is not there anymore.") return FALSE From e06d09766d53093cb7a45369a0c6bb380fff8d06 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 19 Jan 2025 17:28:44 -0600 Subject: [PATCH 092/330] Automatic changelog generation for PR #3984 [ci skip] --- html/changelogs/AutoChangeLog-pr-3984.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3984.yml diff --git a/html/changelogs/AutoChangeLog-pr-3984.yml b/html/changelogs/AutoChangeLog-pr-3984.yml new file mode 100644 index 000000000000..368d8354b6e7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3984.yml @@ -0,0 +1,5 @@ +author: Gristlebee +changes: + - {balance: You can no longer gain deep-rooted traumas from failed brain surgery + or natural damage.} +delete-after: true From f7dfacc51ca95e1dd4a69f1a6fc6b90d8069db70 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:18:16 -0800 Subject: [PATCH 093/330] Cargo Implants - Basic Cybernetics (#4004) ## About The Pull Request After seeing a comment (https://github.com/shiptest-ss13/Shiptest/pull/4000#issuecomment-2588818124) about how toolsets should be in cargo, I did exactly that. This adds breathing tubes, the HUDs, and the toolsets to cargo as well as a crate of all 4 cybernetic organs for use with organ failure. Most are priced keeping in mind the requirement for a surgical kit to install them in the first place. ## Why It's Good For The Game Adds an avenue of purchases from cargo to lean into the transhumanism aspect, to be further expanded on with an eventual cybernetics rework. Since R&D has been all but removed these are rarely if ever seen and it properly makes them accessible. You still need the proper supplies to install them however, making it not a straight upgrade. ## Changelog :cl: add: Various implants to cargo /:cl: --------- Signed-off-by: firebudgy <153147550+firebudgy@users.noreply.github.com> Co-authored-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> Co-authored-by: thgvr <81882910+thgvr@users.noreply.github.com> --- code/modules/cargo/packs/cybernetics.dm | 79 +++++++++++++++++++++++++ shiptest.dme | 1 + 2 files changed, 80 insertions(+) create mode 100644 code/modules/cargo/packs/cybernetics.dm diff --git a/code/modules/cargo/packs/cybernetics.dm b/code/modules/cargo/packs/cybernetics.dm new file mode 100644 index 000000000000..37683060f8cc --- /dev/null +++ b/code/modules/cargo/packs/cybernetics.dm @@ -0,0 +1,79 @@ +/datum/supply_pack/cybernetic + group = "Cybernetics" + crate_type = /obj/structure/closet/crate/medical + + +// CYBERNETICS + +/datum/supply_pack/cybernetic/cyberarm_surgset + name = "Integrated Surgical Toolset Kit" + desc = "The latest in advanced medical cybernetics, the Surgical Toolset can be installed in the arms and act as a concealed kit to render surgical aid at striking efficiency." + cost = 4500 + contains = list(/obj/item/organ/cyberimp/arm/surgery) + crate_name = "implant crate" + crate_type = /obj/structure/closet/crate/freezer + faction = /datum/faction/syndicate/cybersun + faction_discount = 50 + +/datum/supply_pack/cybernetic/cyberarm_toolset + name = "Integrated Engineering Toolset Kit" + desc = "A recent innovation in engineering labor, this functions as a concealed toolkit for use in all manner of engineering operations. It is installed in the arms." + cost = 2000 + contains = list(/obj/item/organ/cyberimp/arm/toolset) + crate_name = "implant crate" + crate_type = /obj/structure/closet/crate/freezer + faction = /datum/faction/syndicate/cybersun + faction_discount = 50 + +/datum/supply_pack/cybernetic/cyberhud_sec + name = "Integrated Security HUD" + desc = "A HUD over the user's eyes that allows one to view security and IFF data on the field. Reports of recalls and blindness are merely disinformation by competitors." + cost = 2000 + contains = list(/obj/item/organ/cyberimp/eyes/hud/security) + crate_name = "implant crate" + crate_type = /obj/structure/closet/crate/freezer + faction = /datum/faction/syndicate/cybersun + faction_discount = 50 + +/datum/supply_pack/cybernetic/cyberhud_med + name = "Integrated Medical Analysis HUD" + desc = "A HUD over the user's eyes that allows one to view medical and heart-rate data on the field. Reports of recalls and blindness are merely disinformation by competitors." + cost = 2000 + contains = list(/obj/item/organ/cyberimp/eyes/hud/medical) + crate_name = "implant crate" + crate_type = /obj/structure/closet/crate/freezer + faction = /datum/faction/syndicate/cybersun + faction_discount = 50 + +/datum/supply_pack/cybernetic/cyberhud_diagnostic + name = "Integrated Exosuit Diagnostic HUD" + desc = "A HUD over the user's eyes that allows one to view an uplink of Powered Exoskeleton information. Reports of recalls and blindness are merely disinformation by competitors." + cost = 750 + contains = list(/obj/item/organ/cyberimp/eyes/hud/diagnostic) + crate_name = "implant crate" + crate_type = /obj/structure/closet/crate/freezer + faction = /datum/faction/syndicate/cybersun + faction_discount = 50 + +/datum/supply_pack/cybernetic/cyber_breathing + name = "Integrated Breathing Tube" + desc = "Commonly used for those with medical conditions relating to breathing, this implant provides a port to attach portable oxygen canisters to that pumps air directly into your lungs. Keep port sealed when not in use." + cost = 1000 + contains = list(/obj/item/organ/cyberimp/mouth/breathing_tube) + crate_name = "implant crate" + crate_type = /obj/structure/closet/crate/freezer + faction = /datum/faction/syndicate/cybersun + faction_discount = 50 + +/datum/supply_pack/cybernetic/cyberorgans + name = "Cybernetic Organs Replacement Pack" + desc = "Precision-manufactured replacement organs for those suffering catastrophic organ failure. Keep crate sealed until use, contaminants may cause rejection." + cost = 2000 + contains = list(/obj/item/organ/lungs/cybernetic/tier2, + /obj/item/organ/stomach/cybernetic/tier2, + /obj/item/organ/liver/cybernetic/tier2, + /obj/item/organ/heart/cybernetic/tier2) + crate_name = "organs crate" + crate_type = /obj/structure/closet/crate/freezer + faction = /datum/faction/syndicate/cybersun + faction_discount = 50 diff --git a/shiptest.dme b/shiptest.dme index c55f536641d8..ef4500858dca 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -1967,6 +1967,7 @@ #include "code\modules\cargo\packs\chemistry.dm" #include "code\modules\cargo\packs\civilian.dm" #include "code\modules\cargo\packs\costumes_toys.dm" +#include "code\modules\cargo\packs\cybernetics.dm" #include "code\modules\cargo\packs\emergency.dm" #include "code\modules\cargo\packs\exploration.dm" #include "code\modules\cargo\packs\fishing.dm" From 53c6a1ea6d21843fb590498ded5ea497e95f067a Mon Sep 17 00:00:00 2001 From: Ical <86125936+Ical92@users.noreply.github.com> Date: Sun, 19 Jan 2025 18:18:41 -0500 Subject: [PATCH 094/330] Crate shelvers no longer persist after attempting to spawn (#4035) ## About The Pull Request `mapping_helpers/crate_shelve` now qdels after attempting to shelve a crate, meaning observers won't see leftover helpers. ## Why It's Good For The Game Don't see mapping helpers as a ghost ## Changelog :cl: fix: the outpost's crate shelvers have been trained to leave no evidence /:cl: --- code/modules/mapping/mapping_helpers.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index 4912ccd0dba2..27fb53a7624d 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -503,6 +503,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) log_mapping("[src] failed to find a crate at [AREACOORD(src)]") else shelve(crate) + qdel(src) /obj/effect/mapping_helpers/crate_shelve/proc/shelve(crate) var/obj/structure/crate_shelf/shelf = locate(/obj/structure/crate_shelf) in range(range, crate) From 4c83b172423089b92fe9d40b82d94ba405ebae7a Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 19 Jan 2025 17:42:32 -0600 Subject: [PATCH 095/330] Automatic changelog generation for PR #4035 [ci skip] --- html/changelogs/AutoChangeLog-pr-4035.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4035.yml diff --git a/html/changelogs/AutoChangeLog-pr-4035.yml b/html/changelogs/AutoChangeLog-pr-4035.yml new file mode 100644 index 000000000000..245d6377d797 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4035.yml @@ -0,0 +1,4 @@ +author: Ical92 +changes: + - {bugfix: the outpost's crate shelvers have been trained to leave no evidence} +delete-after: true From 44c6c392b1443e658cef75bcbde8ccd1b6638af6 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 20 Jan 2025 01:02:34 +0000 Subject: [PATCH 096/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3918.yml | 7 ------ html/changelogs/AutoChangeLog-pr-3944.yml | 6 ----- html/changelogs/AutoChangeLog-pr-3984.yml | 5 ---- html/changelogs/AutoChangeLog-pr-3988.yml | 5 ---- html/changelogs/AutoChangeLog-pr-4002.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4016.yml | 6 ----- html/changelogs/AutoChangeLog-pr-4019.yml | 5 ---- html/changelogs/AutoChangeLog-pr-4035.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4036.yml | 5 ---- html/changelogs/AutoChangeLog-pr-4037.yml | 4 ---- html/changelogs/archive/2025-01.yml | 29 +++++++++++++++++++++++ 11 files changed, 29 insertions(+), 51 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3918.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3944.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3984.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3988.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4002.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4016.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4019.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4035.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4036.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4037.yml diff --git a/html/changelogs/AutoChangeLog-pr-3918.yml b/html/changelogs/AutoChangeLog-pr-3918.yml deleted file mode 100644 index 5f46880de0aa..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3918.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Gristle, Rye-Rice -changes: - - {rscadd: MP Gygax} - - {rscadd: Mech conversion kits to cargo} - - {balance: MK-2 ripley upgrade now costs 500.} - - {bugfix: Mech charging sanity.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3944.yml b/html/changelogs/AutoChangeLog-pr-3944.yml deleted file mode 100644 index a084ea8bda58..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3944.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: rye-rice -changes: - - {rscadd: Resprites everything eoehoma related!} - - {rscadd: E-11 is more accurate. This isn't saying much.} - - {bugfix: E-60's charge overlay should now work} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3984.yml b/html/changelogs/AutoChangeLog-pr-3984.yml deleted file mode 100644 index 368d8354b6e7..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3984.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Gristlebee -changes: - - {balance: You can no longer gain deep-rooted traumas from failed brain surgery - or natural damage.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3988.yml b/html/changelogs/AutoChangeLog-pr-3988.yml deleted file mode 100644 index d3e8a31d338d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3988.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Gristlebee -changes: - - {rscadd: You can use a multitool for mechanical brain surgery on the fix brain - step.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4002.yml b/html/changelogs/AutoChangeLog-pr-4002.yml deleted file mode 100644 index 9886d37a65e2..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4002.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Ical92 -changes: - - {bugfix: gathering no longer has infinite reach} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4016.yml b/html/changelogs/AutoChangeLog-pr-4016.yml deleted file mode 100644 index 60f3bd339ac6..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4016.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: generalthrax -changes: - - {rscadd: Glass bottles of the large and small variety added to the autolathe} - - {rscadd: Distiller added to the black market} - - {balance: Beekeeping crates pricing reduced} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4019.yml b/html/changelogs/AutoChangeLog-pr-4019.yml deleted file mode 100644 index cf0abcdc26fe..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4019.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: generalthrax -changes: - - {bugfix: Fixes plating under some catwalks that aren't supposed to be there on - the Mudskipper} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4035.yml b/html/changelogs/AutoChangeLog-pr-4035.yml deleted file mode 100644 index 245d6377d797..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4035.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Ical92 -changes: - - {bugfix: the outpost's crate shelvers have been trained to leave no evidence} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4036.yml b/html/changelogs/AutoChangeLog-pr-4036.yml deleted file mode 100644 index 1ed66d369091..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4036.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: firebudgy -changes: - - {rscdel: RnD retrieval missions} - - {balance: 'Dogtag missions take any kind of dogtag, both Frontiersman and Ramzi'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4037.yml b/html/changelogs/AutoChangeLog-pr-4037.yml deleted file mode 100644 index 9a858987a24f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4037.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Thera-Pissed -changes: - - {rscadd: Replaced Jump To Mob on ghost HUD with a respawn option.} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index 905111cda91e..695358a3bfea 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -157,3 +157,32 @@ and Firestorm Pan Magazine to factional cargo. - rscadd: N+S has deployed a new batch of Shaft Miners to Harrier-class vessels. - rscdel: Janitors have been reassigned from the Harrier for retraining. +2025-01-20: + Gristle, Rye-Rice: + - rscadd: MP Gygax + - rscadd: Mech conversion kits to cargo + - balance: MK-2 ripley upgrade now costs 500. + - bugfix: Mech charging sanity. + Gristlebee: + - rscadd: You can use a multitool for mechanical brain surgery on the fix brain + step. + - balance: You can no longer gain deep-rooted traumas from failed brain surgery + or natural damage. + Ical92: + - bugfix: gathering no longer has infinite reach + - bugfix: the outpost's crate shelvers have been trained to leave no evidence + Thera-Pissed: + - rscadd: Replaced Jump To Mob on ghost HUD with a respawn option. + firebudgy: + - rscdel: RnD retrieval missions + - balance: Dogtag missions take any kind of dogtag, both Frontiersman and Ramzi + generalthrax: + - rscadd: Glass bottles of the large and small variety added to the autolathe + - rscadd: Distiller added to the black market + - balance: Beekeeping crates pricing reduced + - bugfix: Fixes plating under some catwalks that aren't supposed to be there on + the Mudskipper + rye-rice: + - rscadd: Resprites everything eoehoma related! + - rscadd: E-11 is more accurate. This isn't saying much. + - bugfix: E-60's charge overlay should now work From a88e2f637c830dde39ddf841ffa7e0d5225b320f Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Sun, 19 Jan 2025 23:46:11 -0500 Subject: [PATCH 097/330] Adds an electric welding tool to Chief Engineer toolbelts and the ERT utility belt (#3999) ## About The Pull Request This PR adds an electric welding tool to chief engineering belts and ERT utility belts. ## Why It's Good For The Game The chief engineer's belt is currently missing a welding tool, and I felt that it may make sense to use an electric welder here for that. ## Changelog :cl: add: Added electrical welding tools to the populate lists for CE belts and ERT utility belts /:cl: --- code/game/objects/items/storage/belt.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 966fc8899276..de4dcb5684cc 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -94,11 +94,11 @@ /obj/item/storage/belt/utility/chief/full/PopulateContents() new /obj/item/screwdriver/power(src) new /obj/item/crowbar/power(src) + new /obj/item/weldingtool/electric(src) new /obj/item/multitool(src) new /obj/item/stack/cable_coil(src,MAXCOIL,pick("red","yellow","orange")) new /obj/item/extinguisher/mini(src) new /obj/item/analyzer(src) - //much roomier now that we've managed to remove two tools /obj/item/storage/belt/utility/full/PopulateContents() new /obj/item/screwdriver(src) @@ -149,6 +149,7 @@ /obj/item/storage/belt/utility/full/ert/PopulateContents() new /obj/item/screwdriver/power(src) new /obj/item/crowbar/power(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) From 18c692298aee602834a750e15752782be55ede5e Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sun, 19 Jan 2025 23:46:38 -0500 Subject: [PATCH 098/330] Deconstruct Act Respects Invulnerability (#4008) https://github.com/user-attachments/assets/8457df17-6084-4cea-a59f-7490e7e7f769 :cl: fix: you can no longer grind down the outpost /:cl: --------- Signed-off-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/game/atoms.dm | 2 ++ code/game/machinery/constructable_frame.dm | 2 ++ code/game/machinery/deployable.dm | 2 ++ code/game/machinery/doors/airlock.dm | 2 ++ code/game/objects/objs.dm | 6 ++++++ code/game/objects/structures/door_assembly.dm | 2 ++ code/game/objects/structures/dresser.dm | 2 ++ code/game/objects/structures/girders.dm | 2 ++ code/game/objects/structures/grille.dm | 2 ++ code/game/objects/structures/lattice.dm | 2 ++ code/game/objects/structures/platforms.dm | 2 ++ code/game/objects/structures/railings.dm | 2 ++ code/game/objects/structures/salvaging.dm | 2 ++ code/game/objects/structures/tables_racks.dm | 2 ++ code/game/objects/structures/window.dm | 2 ++ code/game/turfs/closed/_closed.dm | 3 +++ code/game/turfs/closed/indestructible.dm | 1 + 17 files changed, 38 insertions(+) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 6f1a0069e5c9..46b08169f829 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1310,6 +1310,8 @@ ///Deconstruct act /atom/proc/deconstruct_act(mob/living/user, obj/item/I) + if(flags_1 & NODECONSTRUCT_1) + return TRUE return SEND_SIGNAL(src, COMSIG_ATOM_DECONSTRUCT_ACT, user, I) ///Generate a tag for this atom diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index a62780aad05a..d41117bdbb62 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -23,6 +23,8 @@ /obj/structure/frame/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE if(I.use_tool(src, user, 3 SECONDS, volume=0)) diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 3dedf5887d0c..24c417793668 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -81,6 +81,8 @@ /obj/structure/barricade/wooden/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE if (I.use_tool(src, user, 2 SECONDS, volume=0)) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 2239212c7440..7e157953e850 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1234,6 +1234,8 @@ /obj/machinery/door/airlock/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE var/decon_time = 5 SECONDS diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 0391de85eb33..bbcaa94f0867 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -387,6 +387,12 @@ return FALSE return TRUE +/obj/deconstruct_act(mob/living/user, obj/item/I) + if(resistance_flags & INDESTRUCTIBLE) + to_chat(user, span_warning("[src] cannot be deconstructed!")) + return FALSE + return ..() + /obj/analyzer_act(mob/living/user, obj/item/I) if(atmosanalyzer_scan(user, src)) return TRUE diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 675a135c493b..bf5ea3b38913 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -347,6 +347,8 @@ /obj/structure/door_assembly/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE if (I.use_tool(src, user, 3 SECONDS, volume=100)) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index 61944f81198c..5cc59d28ead5 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -38,6 +38,8 @@ /obj/structure/dresser/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE 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].")) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 5f35e69d098e..d30f28801f76 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -214,6 +214,8 @@ /obj/structure/girder/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE if(I.use_tool(src, user, 3 SECONDS, volume=0)) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index bec5e5bf452b..10a4413f442f 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -233,6 +233,8 @@ /obj/structure/grille/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE if (I.use_tool(src, user, 1 SECONDS, volume=100)) diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index 9aaefb8c014e..7755f94798a4 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -42,6 +42,8 @@ /obj/structure/lattice/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE if(I.use_tool(src, user, 1 SECONDS, volume=0)) diff --git a/code/game/objects/structures/platforms.dm b/code/game/objects/structures/platforms.dm index a6431e8b7630..3d668f666c16 100644 --- a/code/game/objects/structures/platforms.dm +++ b/code/game/objects/structures/platforms.dm @@ -127,6 +127,8 @@ /obj/structure/platform/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE if(I.use_tool(src, user, 3 SECONDS, volume=0)) diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index 3217f8274b32..b4bf99f17469 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -73,6 +73,8 @@ /obj/structure/railing/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE if (I.use_tool(src, user, 3 SECONDS, volume=0)) diff --git a/code/game/objects/structures/salvaging.dm b/code/game/objects/structures/salvaging.dm index ccb76bd81c4a..e8c98cff4694 100644 --- a/code/game/objects/structures/salvaging.dm +++ b/code/game/objects/structures/salvaging.dm @@ -36,6 +36,8 @@ /obj/structure/salvageable/deconstruct_act(mob/living/user, obj/item/tool) . = ..() + if(.) + return FALSE user.visible_message("[user] starts slicing [src].", \ "You start salvaging anything useful from [src]...") if(tool.use_tool(src, user, 6 SECONDS)) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 6f1e59ebad5e..7d670cfc3cd4 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -229,6 +229,8 @@ /obj/structure/table/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE if (I.use_tool(src, user, 1 SECONDS, volume=0)) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 3f4ffc747ca9..35cc9fba1aae 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -296,6 +296,8 @@ /obj/structure/window/deconstruct_act(mob/living/user, obj/item/I) . = ..() + if(.) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE if (I.use_tool(src, user, decon_time, volume=100)) diff --git a/code/game/turfs/closed/_closed.dm b/code/game/turfs/closed/_closed.dm index ea0c0d4ed4b1..a76d3715e414 100644 --- a/code/game/turfs/closed/_closed.dm +++ b/code/game/turfs/closed/_closed.dm @@ -271,6 +271,9 @@ /turf/closed/deconstruct_act(mob/living/user, obj/item/I) var/act_duration = breakdown_duration + if(breakdown_duration == -1) + to_chat(user, span_warning("[src] cannot be deconstructed!")) + return FALSE if(!I.tool_start_check(user, amount=0)) return FALSE to_chat(user, "You begin slicing through the outer plating...") diff --git a/code/game/turfs/closed/indestructible.dm b/code/game/turfs/closed/indestructible.dm index 9e55858970d2..3363424db56d 100644 --- a/code/game/turfs/closed/indestructible.dm +++ b/code/game/turfs/closed/indestructible.dm @@ -4,6 +4,7 @@ icon = 'icons/turf/walls.dmi' explosion_block = 50 max_integrity = 10000000 + breakdown_duration = -1 /turf/closed/indestructible/TerraformTurf(path, new_baseturf, flags, defer_change = FALSE, ignore_air = FALSE) return From 9d2c36a8aa5fea4995d1765bdedb120327713a61 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 19 Jan 2025 22:57:14 -0600 Subject: [PATCH 099/330] Automatic changelog generation for PR #4008 [ci skip] --- html/changelogs/AutoChangeLog-pr-4008.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4008.yml diff --git a/html/changelogs/AutoChangeLog-pr-4008.yml b/html/changelogs/AutoChangeLog-pr-4008.yml new file mode 100644 index 000000000000..e5ff599e7a7c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4008.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {bugfix: you can no longer grind down the outpost} +delete-after: true From 5e573e2db25402aa761b37992c4c7e2c90760a40 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Sun, 19 Jan 2025 22:47:44 -0600 Subject: [PATCH 100/330] Port: Datumized AI and JPS (#3950) ## About The Pull Request https://github.com/tgstation/tgstation/pull/55238 https://github.com/tgstation/tgstation/pull/56780 https://github.com/tgstation/tgstation/pull/55515 https://github.com/tgstation/tgstation/pull/57111 https://github.com/tgstation/tgstation/pull/57186 https://github.com/tgstation/tgstation/pull/58631 https://github.com/tgstation/tgstation/pull/60249 minor backend stuff from https://github.com/tgstation/tgstation/pull/55778 https://github.com/tgstation/tgstation/pull/55728 ## Why It's Good For The Game prereqs for basic mobs. performance! advanced ai! ## Changelog :cl: add: monkey smart c: add: dog smart c: add: jps, a cheap pathfinding /:cl: --- code/__DEFINES/DNA.dm | 1 + code/__DEFINES/ai/ai.dm | 81 ++++ code/__DEFINES/dcs/signals/signals.dm | 12 + code/__DEFINES/monkeys.dm | 64 +-- code/__DEFINES/subsystems.dm | 4 + code/__DEFINES/traits.dm | 2 + code/__DEFINES/vv.dm | 1 + code/__HELPERS/AStar.dm | 212 --------- code/__HELPERS/heap.dm | 50 +- code/__HELPERS/path.dm | 347 ++++++++++++++ code/__HELPERS/unsorted.dm | 2 + code/_globalvars/lists/mobs.dm | 6 + code/_onclick/click.dm | 5 +- code/controllers/subsystem/ai_controllers.dm | 33 ++ code/controllers/subsystem/pathfinder.dm | 2 - .../subsystem/processing/ai_behaviors.dm | 20 + .../subsystem/processing/ai_movement.dm | 21 + .../subsystem/processing/processing.dm | 6 +- code/controllers/subsystem/throwing.dm | 3 + code/datums/ai/README.md | 21 + code/datums/ai/_ai_behavoir.dm | 25 + code/datums/ai/_ai_controller.dm | 254 +++++++++++ code/datums/ai/_ai_planning_subtree.dm | 6 + code/datums/ai/dog/dog_behaviors.dm | 208 +++++++++ code/datums/ai/dog/dog_controller.dm | 271 +++++++++++ code/datums/ai/dog/dog_subtrees.dm | 40 ++ code/datums/ai/generic_actions.dm | 111 +++++ code/datums/ai/monkey/monkey_behaviors.dm | 279 ++++++++++++ code/datums/ai/monkey/monkey_controller.dm | 255 +++++++++++ code/datums/ai/monkey/monkey_subtrees.dm | 84 ++++ code/datums/ai/movement/_ai_movement.dm | 19 + code/datums/ai/movement/ai_movement_dumb.dm | 27 ++ code/datums/ai/movement/ai_movement_jps.dm | 61 +++ code/datums/components/spinny.dm | 33 ++ code/datums/mutations/body.dm | 4 +- code/game/atoms.dm | 25 + .../machinery/porta_turret/portable_turret.dm | 3 - code/game/objects/items.dm | 2 +- code/game/objects/items/handcuffs.dm | 8 +- code/game/objects/objs.dm | 19 +- code/game/objects/structures/girders.dm | 7 +- code/game/objects/structures/grille.dm | 7 +- code/game/objects/structures/window.dm | 2 +- code/game/turfs/turf.dm | 20 + .../changeling/powers/tiny_prick.dm | 4 +- code/modules/mob/living/carbon/carbon.dm | 1 + .../mob/living/carbon/carbon_defense.dm | 3 + code/modules/mob/living/carbon/emote.dm | 17 +- .../mob/living/carbon/human/examine.dm | 3 + code/modules/mob/living/carbon/human/human.dm | 3 + .../mob/living/carbon/monkey/combat.dm | 426 ------------------ code/modules/mob/living/carbon/monkey/life.dm | 28 -- .../mob/living/carbon/monkey/monkey.dm | 4 +- code/modules/mob/living/living.dm | 2 +- .../mob/living/simple_animal/bot/bot.dm | 12 +- .../mob/living/simple_animal/bot/cleanbot.dm | 6 +- .../mob/living/simple_animal/bot/firebot.dm | 2 +- .../mob/living/simple_animal/bot/floorbot.dm | 4 +- .../mob/living/simple_animal/bot/medbot.dm | 4 +- .../mob/living/simple_animal/bot/mulebot.dm | 2 +- .../mob/living/simple_animal/friendly/dog.dm | 78 +--- .../mob/living/simple_animal/parrot.dm | 2 +- .../mob/living/simple_animal/simple_animal.dm | 3 +- code/modules/mob/transform_procs.dm | 9 +- code/modules/movespeed/_movespeed_modifier.dm | 1 + .../reagents/reagent_containers/syringes.dm | 6 +- shiptest.dme | 21 +- sound/creatures/monkey/monkey_screech_1.ogg | Bin 0 -> 15300 bytes sound/creatures/monkey/monkey_screech_2.ogg | Bin 0 -> 15649 bytes sound/creatures/monkey/monkey_screech_3.ogg | Bin 0 -> 17832 bytes sound/creatures/monkey/monkey_screech_4.ogg | Bin 0 -> 16704 bytes sound/creatures/monkey/monkey_screech_5.ogg | Bin 0 -> 20239 bytes sound/creatures/monkey/monkey_screech_6.ogg | Bin 0 -> 19189 bytes sound/creatures/monkey/monkey_screech_7.ogg | Bin 0 -> 18851 bytes 74 files changed, 2466 insertions(+), 838 deletions(-) create mode 100644 code/__DEFINES/ai/ai.dm delete mode 100644 code/__HELPERS/AStar.dm create mode 100644 code/__HELPERS/path.dm create mode 100644 code/controllers/subsystem/ai_controllers.dm create mode 100644 code/controllers/subsystem/processing/ai_behaviors.dm create mode 100644 code/controllers/subsystem/processing/ai_movement.dm create mode 100644 code/datums/ai/README.md create mode 100644 code/datums/ai/_ai_behavoir.dm create mode 100644 code/datums/ai/_ai_controller.dm create mode 100644 code/datums/ai/_ai_planning_subtree.dm create mode 100644 code/datums/ai/dog/dog_behaviors.dm create mode 100644 code/datums/ai/dog/dog_controller.dm create mode 100644 code/datums/ai/dog/dog_subtrees.dm create mode 100644 code/datums/ai/generic_actions.dm create mode 100644 code/datums/ai/monkey/monkey_behaviors.dm create mode 100644 code/datums/ai/monkey/monkey_controller.dm create mode 100644 code/datums/ai/monkey/monkey_subtrees.dm create mode 100644 code/datums/ai/movement/_ai_movement.dm create mode 100644 code/datums/ai/movement/ai_movement_dumb.dm create mode 100644 code/datums/ai/movement/ai_movement_jps.dm create mode 100644 code/datums/components/spinny.dm delete mode 100644 code/modules/mob/living/carbon/monkey/combat.dm create mode 100644 sound/creatures/monkey/monkey_screech_1.ogg create mode 100644 sound/creatures/monkey/monkey_screech_2.ogg create mode 100644 sound/creatures/monkey/monkey_screech_3.ogg create mode 100644 sound/creatures/monkey/monkey_screech_4.ogg create mode 100644 sound/creatures/monkey/monkey_screech_5.ogg create mode 100644 sound/creatures/monkey/monkey_screech_6.ogg create mode 100644 sound/creatures/monkey/monkey_screech_7.ogg diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 1d08e1ab4868..da2563e25464 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -99,6 +99,7 @@ #define TR_KEEPORGANS (1<<8) #define TR_KEEPSTUNS (1<<9) #define TR_KEEPREAGENTS (1<<10) +#define TR_KEEPAI (1<<11) //species traits for mutantraces #define MUTCOLORS 1 diff --git a/code/__DEFINES/ai/ai.dm b/code/__DEFINES/ai/ai.dm new file mode 100644 index 000000000000..4483119527dd --- /dev/null +++ b/code/__DEFINES/ai/ai.dm @@ -0,0 +1,81 @@ +#define GET_AI_BEHAVIOR(behavior_type) SSai_behaviors.ai_behaviors[behavior_type] +#define HAS_AI_CONTROLLER_TYPE(thing, type) istype(thing?.ai_controller, type) + +#define AI_STATUS_ON 1 +#define AI_STATUS_OFF 2 + + +///Monkey checks +#define SHOULD_RESIST(source) (source.on_fire || source.buckled || HAS_TRAIT(source, TRAIT_RESTRAINED) || (source.pulledby && source.pulledby.grab_state > GRAB_PASSIVE)) +#define IS_DEAD_OR_INCAP(source) (HAS_TRAIT(source, TRAIT_INCAPACITATED) || HAS_TRAIT(source, TRAIT_HANDS_BLOCKED) || IS_IN_STASIS(source)) + +///For JPS pathing, the maximum length of a path we'll try to generate. Should be modularized depending on what we're doing later on +#define AI_MAX_PATH_LENGTH 30 // 30 is possibly overkill since by default we lose interest after 14 tiles of distance, but this gives wiggle room for weaving around obstacles + +///Cooldown on planning if planning failed last time +#define AI_FAILED_PLANNING_COOLDOWN 1.5 SECONDS + +///Flags for ai_behavior new() +#define AI_CONTROLLER_INCOMPATIBLE (1<<0) + +///Does this task require movement from the AI before it can be performed? +#define AI_BEHAVIOR_REQUIRE_MOVEMENT (1<<0) +///Does this task let you perform the action while you move closer? (Things like moving and shooting) +#define AI_BEHAVIOR_MOVE_AND_PERFORM (1<<1) + +///Subtree defines + +///This subtree should cancel any further planning, (Including from other subtrees) +#define SUBTREE_RETURN_FINISH_PLANNING 1 + +///Monkey AI controller blackboard keys + +#define BB_MONKEY_AGRESSIVE "BB_monkey_agressive" +#define BB_MONKEY_GUN_NEURONS_ACTIVATED "BB_monkey_gun_aware" +#define BB_MONKEY_GUN_WORKED "BB_monkey_gun_worked" +#define BB_MONKEY_BEST_FORCE_FOUND "BB_monkey_bestforcefound" +#define BB_MONKEY_ENEMIES "BB_monkey_enemies" +#define BB_MONKEY_BLACKLISTITEMS "BB_monkey_blacklistitems" +#define BB_MONKEY_PICKUPTARGET "BB_monkey_pickuptarget" +#define BB_MONKEY_PICKPOCKETING "BB_monkey_pickpocketing" +#define BB_MONKEY_CURRENT_ATTACK_TARGET "BB_monkey_current_attack_target" +#define BB_MONKEY_TARGET_DISPOSAL "BB_monkey_target_disposal" +#define BB_MONKEY_DISPOSING "BB_monkey_disposing" +#define BB_MONKEY_RECRUIT_COOLDOWN "BB_monkey_recruit_cooldown" +#define BB_MONKEY_NEXT_HUNGRY "BB_monkey_next_hungry" + +///Dog AI controller blackboard keys + +#define BB_SIMPLE_CARRY_ITEM "BB_SIMPLE_CARRY_ITEM" +#define BB_FETCH_TARGET "BB_FETCH_TARGET" +#define BB_FETCH_IGNORE_LIST "BB_FETCH_IGNORE_LISTlist" +#define BB_FETCH_DELIVER_TO "BB_FETCH_DELIVER_TO" +#define BB_DOG_FRIENDS "BB_DOG_FRIENDS" +#define BB_DOG_ORDER_MODE "BB_DOG_ORDER_MODE" +#define BB_DOG_PLAYING_DEAD "BB_DOG_PLAYING_DEAD" +#define BB_DOG_HARASS_TARGET "BB_DOG_HARASS_TARGET" + +/// Basically, what is our vision/hearing range for picking up on things to fetch/ +#define AI_DOG_VISION_RANGE 10 +/// What are the odds someone petting us will become our friend? +#define AI_DOG_PET_FRIEND_PROB 15 +/// After this long without having fetched something, we clear our ignore list +#define AI_FETCH_IGNORE_DURATION 30 SECONDS +/// After being ordered to heel, we spend this long chilling out +#define AI_DOG_HEEL_DURATION 20 SECONDS +/// After either being given a verbal order or a pointing order, ignore further of each for this duration +#define AI_DOG_COMMAND_COOLDOWN 2 SECONDS + +// dog command modes (what pointing at something/someone does depending on the last order the dog heard) +/// Don't do anything (will still react to stuff around them though) +#define DOG_COMMAND_NONE 0 +/// Will try to pick up and bring back whatever you point to +#define DOG_COMMAND_FETCH 1 +/// Will get within a few tiles of whatever you point at and continually growl/bark. If the target is a living mob who gets too close, the dog will attack them with bites +#define DOG_COMMAND_ATTACK 2 + +//enumerators for parsing dog command speech +#define COMMAND_HEEL "Heel" +#define COMMAND_FETCH "Fetch" +#define COMMAND_ATTACK "Attack" +#define COMMAND_DIE "Play Dead" diff --git a/code/__DEFINES/dcs/signals/signals.dm b/code/__DEFINES/dcs/signals/signals.dm index 2cd723567e17..eb5a0e59a7fe 100644 --- a/code/__DEFINES/dcs/signals/signals.dm +++ b/code/__DEFINES/dcs/signals/signals.dm @@ -26,6 +26,8 @@ #define COMSIG_GLOB_BUTTON_PRESSED "!button_pressed" /// a client (re)connected, after all /client/New() checks have passed : (client/connected_client) #define COMSIG_GLOB_CLIENT_CONNECT "!client_connect" +/// a person somewhere has thrown something : (mob/living/carbon/carbon_thrower, target) +#define COMSIG_GLOB_CARBON_THROW_THING "!throw_thing" // signals from globally accessible objects /// from SSsun when the sun changes position : (azimuth) @@ -215,6 +217,9 @@ ///from base of atom/set_opacity(): (new_opacity) #define COMSIG_ATOM_SET_OPACITY "atom_set_opacity" +///from base of atom/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) +#define COMSIG_ATOM_HITBY "atom_hitby" + /// from base of /atom/movable/proc/on_virtual_z_change(): (new_virtual_z, old_virtual_z) #define COMSIG_ATOM_VIRTUAL_Z_CHANGE "atom_virtual_z_change" @@ -261,6 +266,7 @@ #define COMSIG_CLICK_CTRL "ctrl_click" //from base of atom/AltClick(): (/mob) #define COMSIG_CLICK_ALT "alt_click" + #define COMPONENT_CANCEL_CLICK_ALT (1<<0) //from base of atom/CtrlShiftClick(/mob) #define COMSIG_CLICK_CTRL_SHIFT "ctrl_shift_click" ///from base of atom/CtrlShiftRightClick(/mob) @@ -320,6 +326,8 @@ #define COMPONENT_CANCEL_THROW (1<<0) ///from base of atom/movable/throw_at(): (datum/thrownthing, spin) #define COMSIG_MOVABLE_POST_THROW "movable_post_throw" +///from base of datum/thrownthing/finalize(): (obj/thrown_object, datum/thrownthing) used for when a throw is finished +#define COMSIG_MOVABLE_THROW_LANDED "movable_throw_landed" ///from base of atom/movable/onTransitZ(): (old_z, new_z) #define COMSIG_MOVABLE_Z_CHANGED "movable_ztransit" ///called when the movable is placed in an unaccessible area, used for shiploving: () @@ -425,6 +433,8 @@ #define COMSIG_MOB_ITEM_ATTACK_QDELETED "mob_item_attack_qdeleted" ///from base of mob/RangedAttack(): (atom/A, params) #define COMSIG_MOB_ATTACK_RANGED "mob_attack_ranged" +///From base of mob/update_movespeed():area +#define COMSIG_MOB_MOVESPEED_UPDATED "mob_update_movespeed" ///from base of /mob/throw_item(): (atom/target) #define COMSIG_MOB_THROW "mob_throw" ///from base of /mob/verb/examinate(): (atom/target) @@ -487,6 +497,8 @@ #define COMSIG_LIVING_DROP_LIMB "living_drop_limb" ///from base of mob/living/set_buckled(): (new_buckled) #define COMSIG_LIVING_SET_BUCKLED "living_set_buckled" +///From post-can inject check of syringe after attack (mob/user) +#define COMSIG_LIVING_TRY_SYRINGE "living_try_syringe" ///sent from borg recharge stations: (amount, repairs) #define COMSIG_PROCESS_BORGCHARGER_OCCUPANT "living_charge" diff --git a/code/__DEFINES/monkeys.dm b/code/__DEFINES/monkeys.dm index 8cc0bc11c0a0..dbc2ffb24f4c 100644 --- a/code/__DEFINES/monkeys.dm +++ b/code/__DEFINES/monkeys.dm @@ -1,37 +1,41 @@ //Monkey defines, placed here so they can be read by other things! -//Mode defines -#define MONKEY_IDLE 0 // idle -#define MONKEY_HUNT 1 // found target, hunting -#define MONKEY_FLEE 2 // free from enemies -#define MONKEY_DISPOSE 3 // dump body in disposals - -#define MONKEY_FLEE_HEALTH 50 // below this health value the monkey starts to flee from enemies -#define MONKEY_ENEMY_VISION 9 // how close an enemy must be to trigger aggression -#define MONKEY_FLEE_VISION 4 // how close an enemy must be before it triggers flee -#define MONKEY_ITEM_SNATCH_DELAY 25 // How long does it take the item to be taken from a mobs hand -#define MONKEY_CUFF_RETALIATION_PROB 20 // Probability monkey will aggro when cuffed -#define MONKEY_SYRINGE_RETALIATION_PROB 20 // Probability monkey will aggro when syringed +/// below this health value the monkey starts to flee from enemies +#define MONKEY_FLEE_HEALTH 50 +/// how close an enemy must be to trigger aggression +#define MONKEY_ENEMY_VISION 9 +/// how close an enemy must be before it triggers flee +#define MONKEY_FLEE_VISION 4 +/// How long does it take the item to be taken from a mobs hand +#define MONKEY_ITEM_SNATCH_DELAY 25 +/// Probability monkey will aggro when cuffed +#define MONKEY_CUFF_RETALIATION_PROB 20 +/// Probability monkey will aggro when syringed +#define MONKEY_SYRINGE_RETALIATION_PROB 20 // Probability per Life tick that the monkey will: -#define MONKEY_RESIST_PROB 50 // resist out of restraints -// when the monkey is idle -#define MONKEY_PULL_AGGRO_PROB 5 // aggro against the mob pulling it -#define MONKEY_SHENANIGAN_PROB 5 // chance of getting into mischief, i.e. finding/stealing items -// when the monkey is hunting -#define MONKEY_ATTACK_DISARM_PROB 50 // disarm an armed attacker -#define MONKEY_WEAPON_PROB 20 // if not currently getting an item, search for a weapon around it -#define MONKEY_RECRUIT_PROB 25 // recruit a monkey near it -#define MONKEY_SWITCH_TARGET_PROB 25 // switch targets if it sees another enemy - -#define MONKEY_RETALIATE_HARM_PROB 95 // probability for the monkey to aggro when attacked with harm intent -#define MONKEY_RETALIATE_DISARM_PROB 20 // probability for the monkey to aggro when attacked with disarm intent +/// probability that monkey resist out of restraints +#define MONKEY_RESIST_PROB 50 +/// probability that monkey aggro against the mob pulling it +#define MONKEY_PULL_AGGRO_PROB 5 +/// probability that monkey will get into mischief, i.e. finding/stealing items +#define MONKEY_SHENANIGAN_PROB 20 +/// probability that monkey will disarm an armed attacker +#define MONKEY_ATTACK_DISARM_PROB 50 +/// probability that monkey will get recruited when friend is attacked +#define MONKEY_RECRUIT_PROB 25 -#define MONKEY_HATRED_AMOUNT 4 // amount of aggro to add to an enemy when they attack user -#define MONKEY_HATRED_REDUCTION_PROB 25 // probability of reducing aggro by one when the monkey attacks +/// probability for the monkey to aggro when attacked with harm intent +#define MONKEY_RETALIATE_HARM_PROB 95 +/// probability for the monkey to aggro when attacked with disarm intent +#define MONKEY_RETALIATE_DISARM_PROB 20 -// how many Life ticks the monkey will fail to: -#define MONKEY_HUNT_FRUSTRATION_LIMIT 8 // Chase after an enemy before giving up -#define MONKEY_DISPOSE_FRUSTRATION_LIMIT 16 // Dispose of a body before giving up +/// amount of aggro to add to an enemy when they attack user +#define MONKEY_HATRED_AMOUNT 4 +/// amount of aggro to add to an enemy when a monkey is recruited +#define MONKEY_RECRUIT_HATED_AMOUNT 2 +/// probability of reducing aggro by one when the monkey attacks +#define MONKEY_HATRED_REDUCTION_PROB 20 -#define MONKEY_AGGRESSIVE_MVM_PROB 0 // If you mass edit monkies to be aggressive. there is a small chance of in-fighting +///Monkey recruit cooldown +#define MONKEY_RECRUIT_COOLDOWN 1 MINUTES diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 1155ea88bed9..b702358a9977 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -120,6 +120,8 @@ #define INIT_ORDER_EVENTS 70 #define INIT_ORDER_JOBS 65 #define INIT_ORDER_QUIRKS 60 +#define INIT_ORDER_AI_MOVEMENT 57 //We need the movement setup +#define INIT_ORDER_AI_CONTROLLERS 56 //So the controller can get the ref #define INIT_ORDER_TICKER 55 #define INIT_ORDER_FACTION 53 #define INIT_ORDER_MAPPING 50 @@ -164,6 +166,8 @@ #define FIRE_PRIORITY_WET_FLOORS 20 #define FIRE_PRIORITY_AIR 20 #define FIRE_PRIORITY_NPC 20 +#define FIRE_PRIORITY_NPC_MOVEMENT 21 +#define FIRE_PRIORITY_NPC_ACTIONS 22 #define FIRE_PRIORITY_PROCESS 25 #define FIRE_PRIORITY_THROWING 25 #define FIRE_PRIORITY_SPACEDRIFT 30 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 3dce892eb868..48691840688a 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -155,6 +155,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_PACIFISM "pacifism" #define TRAIT_IGNORESLOWDOWN "ignoreslow" #define TRAIT_IGNOREDAMAGESLOWDOWN "ignoredamageslowdown" +/// Makes it so the mob can use guns regardless of tool user status +#define TRAIT_GUN_NATURAL "gunnatural" #define TRAIT_DEATHCOMA "deathcoma" //Causes death-like unconsciousness #define TRAIT_FAKEDEATH "fakedeath" //Makes the owner appear as dead to most forms of medical examination #define TRAIT_DISFIGURED "disfigured" diff --git a/code/__DEFINES/vv.dm b/code/__DEFINES/vv.dm index e52d9af56251..3207ca3bdb58 100644 --- a/code/__DEFINES/vv.dm +++ b/code/__DEFINES/vv.dm @@ -22,6 +22,7 @@ #define VV_BITFIELD "Bitfield" #define VV_TEXT_LOCATE "Custom Reference Locate" #define VV_PROCCALL_RETVAL "Return Value of Proccall" +#define VV_HK_ADD_AI "add_ai" #define VV_MSG_MARKED "
Marked Object" #define VV_MSG_EDITED "
Var Edited" diff --git a/code/__HELPERS/AStar.dm b/code/__HELPERS/AStar.dm deleted file mode 100644 index 0e0de2a95326..000000000000 --- a/code/__HELPERS/AStar.dm +++ /dev/null @@ -1,212 +0,0 @@ -/* -A Star pathfinding algorithm -Returns a list of tiles forming a path from A to B, taking dense objects as well as walls, and the orientation of -windows along the route into account. -Use: -your_list = AStar(start location, end location, moving atom, distance proc, max nodes, maximum node depth, minimum distance to target, adjacent proc, atom id, turfs to exclude, check only simulated) - -Optional extras to add on (in order): -Distance proc : the distance used in every A* calculation (length of path and heuristic) -MaxNodes: The maximum number of nodes the returned path can be (0 = infinite) -Maxnodedepth: The maximum number of nodes to search (default: 30, 0 = infinite) -Mintargetdist: Minimum distance to the target before path returns, could be used to get -near a target, but not right to it - for an AI mob with a gun, for example. -Adjacent proc : returns the turfs to consider around the actually processed node -Simulated only : whether to consider unsimulated turfs or not (used by some Adjacent proc) - -Also added 'exclude' turf to avoid travelling over; defaults to null - -Actual Adjacent procs : - - /turf/proc/reachableAdjacentTurfs : returns reachable turfs in cardinal directions (uses simulated_only) - - /turf/proc/reachableAdjacentAtmosTurfs : returns turfs in cardinal directions reachable via atmos - -*/ -#define PF_TIEBREAKER 0.005 -//tiebreker weight.To help to choose between equal paths -////////////////////// -//datum/PathNode object -////////////////////// -#define MASK_ODD 85 -#define MASK_EVEN 170 - - -//A* nodes variables -/datum/PathNode - var/turf/source //turf associated with the PathNode - var/datum/PathNode/prevNode //link to the parent PathNode - var/f //A* Node weight (f = g + h) - var/g //A* movement cost variable - var/h //A* heuristic variable - var/nt //count the number of Nodes traversed - var/bf //bitflag for dir to expand.Some sufficiently advanced motherfuckery - -/datum/PathNode/New(s,p,pg,ph,pnt,_bf) - source = s - prevNode = p - g = pg - h = ph - f = g + h*(1+ PF_TIEBREAKER) - nt = pnt - bf = _bf - -/datum/PathNode/proc/setp(p,pg,ph,pnt) - prevNode = p - g = pg - h = ph - f = g + h*(1+ PF_TIEBREAKER) - nt = pnt - -/datum/PathNode/proc/calc_f() - f = g + h - -////////////////////// -//A* procs -////////////////////// - -//the weighting function, used in the A* algorithm -/proc/PathWeightCompare(datum/PathNode/a, datum/PathNode/b) - return a.f - b.f - -//reversed so that the Heap is a MinHeap rather than a MaxHeap -/proc/HeapPathWeightCompare(datum/PathNode/a, datum/PathNode/b) - return b.f - a.f - -//wrapper that returns an empty list if A* failed to find a path -/proc/get_path_to(caller, end, dist, maxnodes, maxnodedepth = 30, mintargetdist, adjacent = /turf/proc/reachableTurftest, id=null, turf/exclude=null, simulated_only = TRUE) - var/l = SSpathfinder.mobs.getfree(caller) - while(!l) - stoplag(3) - l = SSpathfinder.mobs.getfree(caller) - var/list/path = AStar(caller, end, dist, maxnodes, maxnodedepth, mintargetdist, adjacent,id, exclude, simulated_only) - - SSpathfinder.mobs.found(l) - if(!path) - path = list() - return path - -/proc/cir_get_path_to(caller, end, dist, maxnodes, maxnodedepth = 30, mintargetdist, adjacent = /turf/proc/reachableTurftest, id=null, turf/exclude=null, simulated_only = TRUE) - var/l = SSpathfinder.circuits.getfree(caller) - while(!l) - stoplag(3) - l = SSpathfinder.circuits.getfree(caller) - var/list/path = AStar(caller, end, dist, maxnodes, maxnodedepth, mintargetdist, adjacent,id, exclude, simulated_only) - SSpathfinder.circuits.found(l) - if(!path) - path = list() - return path - -/proc/AStar(caller, _end, dist, maxnodes, maxnodedepth = 30, mintargetdist, adjacent = /turf/proc/reachableTurftest, id=null, turf/exclude=null, simulated_only = TRUE) - //sanitation - var/turf/end = get_turf(_end) - var/turf/start = get_turf(caller) - 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 - return FALSE - if(maxnodes) - //if start turf is farther than maxnodes from end turf, no need to do anything - if(call(start, dist)(end) > maxnodes) - return FALSE - maxnodedepth = maxnodes //no need to consider path longer than maxnodes - var/datum/Heap/open = new /datum/Heap(/proc/HeapPathWeightCompare) //the open list - var/list/openc = new() //open list for node check - var/list/path = null //the returned path, if any - //initialization - var/datum/PathNode/cur = new /datum/PathNode(start,null,0,call(start,dist)(end),0,15,1)//current processed turf - open.Insert(cur) - openc[start] = cur - //then run the main loop - while(!open.IsEmpty() && !path) - cur = open.Pop() //get the lower f turf in the open list - //get the lower f node on the open list - //if we only want to get near the target, check if we're close enough - var/closeenough - if(mintargetdist) - closeenough = call(cur.source,dist)(end) <= mintargetdist - - - //found the target turf (or close enough), let's create the path to it - if(cur.source == end || closeenough) - path = new() - path.Add(cur.source) - while(cur.prevNode) - cur = cur.prevNode - path.Add(cur.source) - break - //get adjacents turfs using the adjacent proc, checking for access with id - if((!maxnodedepth)||(cur.nt <= maxnodedepth))//if too many steps, don't process that path - for(var/i = 0 to 3) - var/f= 1<>1) //getting reverse direction throught swapping even and odd bits.((f & 01010101)<<1)|((f & 10101010)>>1) - var/newg = cur.g + call(cur.source,dist)(T) - if(CN) - //is already in open list, check if it's a better way from the current turf - CN.bf &= 15^r //we have no closed, so just cut off exceed dir.00001111 ^ reverse_dir.We don't need to expand to checked turf. - if((newg < CN.g)) - if(call(cur.source,adjacent)(caller, T, id, simulated_only)) - CN.setp(cur,newg,CN.h,cur.nt+1) - open.ReSort(CN)//reorder the changed element in the list - else - //is not already in open list, so add it - if(call(cur.source,adjacent)(caller, T, id, simulated_only)) - CN = new(T,cur,newg,call(T,dist)(end),cur.nt+1,15^r) - open.Insert(CN) - openc[T] = CN - cur.bf = 0 - CHECK_TICK - //reverse the path to get it from start to finish - if(path) - for(var/i = 1 to round(0.5*path.len)) - path.Swap(i,path.len-i+1) - openc = null - //cleaning after us - return path - -//Returns adjacent turfs in cardinal directions that are reachable -//simulated_only controls whether only simulated turfs are considered or not - -/turf/proc/reachableAdjacentTurfs(caller, ID, simulated_only) - var/list/L = new() - var/turf/T - var/static/space_type_cache = typecacheof(/turf/open/space) - - for(var/k in 1 to GLOB.cardinals.len) - T = get_step(src,GLOB.cardinals[k]) - if(!T || (simulated_only && space_type_cache[T.type])) - continue - if(!T.density && !LinkBlockedWithAccess(T,caller, ID)) - L.Add(T) - return L - -/turf/proc/reachableTurftest(caller, turf/T, ID, simulated_only) - if(T && !T.density && !(simulated_only && SSpathfinder.space_type_cache[T.type]) && !LinkBlockedWithAccess(T,caller, ID)) - return TRUE - -//Returns adjacent turfs in cardinal directions that are reachable via atmos -/turf/proc/reachableAdjacentAtmosTurfs() - return atmos_adjacent_turfs - -/turf/proc/LinkBlockedWithAccess(turf/T, caller, ID) - var/adir = get_dir(src, T) - var/rdir = ((adir & MASK_ODD)<<1)|((adir & MASK_EVEN)>>1) - for(var/obj/structure/window/W in src) - if(!W.CanAStarPass(ID, adir)) - return TRUE - for(var/obj/machinery/door/window/W in src) - if(!W.CanAStarPass(ID, adir)) - return TRUE - for(var/obj/O in T) - if(!O.CanAStarPass(ID, rdir, caller)) - return TRUE - for(var/obj/machinery/door/firedoor/border_only/W in src) - if(!W.CanAStarPass(ID, adir, caller)) - return TRUE - - return FALSE diff --git a/code/__HELPERS/heap.dm b/code/__HELPERS/heap.dm index 1e369fd7e181..82ef9011bd09 100644 --- a/code/__HELPERS/heap.dm +++ b/code/__HELPERS/heap.dm @@ -1,39 +1,45 @@ ////////////////////// -//datum/Heap object +//datum/heap object ////////////////////// -/datum/Heap +/datum/heap var/list/L var/cmp -/datum/Heap/New(compare) +/datum/heap/New(compare) L = new() cmp = compare -/datum/Heap/proc/IsEmpty() - return !L.len +/datum/heap/Destroy(force, ...) + for(var/i in L) // because this is before the list helpers are loaded + qdel(i) + L = null + return ..() + +/datum/heap/proc/is_empty() + return !length(L) //Insert and place at its position a new node in the heap -/datum/Heap/proc/Insert(atom/A) +/datum/heap/proc/insert(atom/A) L.Add(A) - Swim(L.len) + swim(L.len) //removes and returns the first element of the heap //(i.e the max or the min dependant on the comparison function) -/datum/Heap/proc/Pop() - if(!L.len) +/datum/heap/proc/pop() + if(!length(L)) return 0 . = L[1] - L[1] = L[L.len] - L.Cut(L.len) - if(L.len) - Sink(1) + L[1] = L[length(L)] + L.Cut(length(L)) + if(length(L)) + sink(1) //Get a node up to its right position in the heap -/datum/Heap/proc/Swim(index) +/datum/heap/proc/swim(index) var/parent = round(index * 0.5) while(parent > 0 && (call(cmp)(L[index],L[parent]) > 0)) @@ -42,17 +48,17 @@ parent = round(index * 0.5) //Get a node down to its right position in the heap -/datum/Heap/proc/Sink(index) - var/g_child = GetGreaterChild(index) +/datum/heap/proc/sink(index) + var/g_child = get_greater_child(index) while(g_child > 0 && (call(cmp)(L[index],L[g_child]) < 0)) L.Swap(index,g_child) index = g_child - g_child = GetGreaterChild(index) + g_child = get_greater_child(index) //Returns the greater (relative to the comparison proc) of a node children //or 0 if there's no child -/datum/Heap/proc/GetGreaterChild(index) +/datum/heap/proc/get_greater_child(index) if(index * 2 > L.len) return 0 @@ -65,12 +71,12 @@ return index * 2 //Replaces a given node so it verify the heap condition -/datum/Heap/proc/ReSort(atom/A) +/datum/heap/proc/resort(atom/A) var/index = L.Find(A) - Swim(index) - Sink(index) + swim(index) + sink(index) -/datum/Heap/proc/List() +/datum/heap/proc/List() . = L.Copy() diff --git a/code/__HELPERS/path.dm b/code/__HELPERS/path.dm new file mode 100644 index 000000000000..dc9231c0c93b --- /dev/null +++ b/code/__HELPERS/path.dm @@ -0,0 +1,347 @@ +/** + * This file contains the stuff you need for using JPS (Jump Point Search) pathing, an alternative to A* that skips + * over large numbers of uninteresting tiles resulting in much quicker pathfinding solutions. Mind that diagonals + * cost the same as cardinal moves currently, so paths may look a bit strange, but should still be optimal. + */ + +/** + * This is the proc you use whenever you want to have pathfinding more complex than "try stepping towards the thing" + * + * Arguments: + * * caller: The movable atom that's trying to find the path + * * end: What we're trying to path to. It doesn't matter if this is a turf or some other atom, we're gonna just path to the turf it's on anyway + * * max_distance: The maximum number of steps we can take in a given path to search (default: 30, 0 = infinite) + * * mintargetdistance: Minimum distance to the target before path returns, could be used to get near a target, but not right to it - for an AI mob with a gun, for example. + * * id: An ID card representing what access we have and what doors we can open. Its location relative to the pathing atom is irrelevant + * * simulated_only: Whether we consider turfs without atmos simulation (AKA do we want to ignore space) + * * exclude: If we want to avoid a specific turf, like if we're a mulebot who already got blocked by some turf + */ +/proc/get_path_to(caller, end, max_distance = 30, mintargetdist, id=null, simulated_only = TRUE, turf/exclude) + if(!caller || !get_turf(end)) + return + + var/l = SSpathfinder.mobs.getfree(caller) + while(!l) + stoplag(3) + l = SSpathfinder.mobs.getfree(caller) + + var/list/path + var/datum/pathfind/pathfind_datum = new(caller, end, id, max_distance, mintargetdist, simulated_only, exclude) + path = pathfind_datum.search() + qdel(pathfind_datum) + + SSpathfinder.mobs.found(l) + return path + +/** + * A helper macro to see if it's possible to step from the first turf into the second one, minding things like door access and directional windows. + * Note that this can only be used inside the [datum/pathfind][pathfind datum] since it uses variables from said datum + * If you really want to optimize things, optimize this, cuz this gets called a lot + */ +#define CAN_STEP(cur_turf, next) (next && !next.density && cur_turf.Adjacent(next) && !(simulated_only && SSpathfinder.space_type_cache[next.type]) && !cur_turf.LinkBlockedWithAccess(next,caller, id) && (next != avoid)) +/// Another helper macro for JPS, for telling when a node has forced neighbors that need expanding +#define STEP_NOT_HERE_BUT_THERE(cur_turf, dirA, dirB) ((!CAN_STEP(cur_turf, get_step(cur_turf, dirA)) && CAN_STEP(cur_turf, get_step(cur_turf, dirB)))) + +/// The JPS Node datum represents a turf that we find interesting enough to add to the open list and possibly search for new tiles from +/datum/jps_node + /// The turf associated with this node + var/turf/tile + /// The node we just came from + var/datum/jps_node/previous_node + /// The A* node weight (f_value = number_of_tiles + heuristic) + var/f_value + /// The A* node heuristic (a rough estimate of how far we are from the goal) + var/heuristic + /// How many steps it's taken to get here from the start (currently pulling double duty as steps taken & cost to get here, since all moves incl diagonals cost 1 rn) + var/number_tiles + /// How many steps it took to get here from the last node + var/jumps + /// Nodes store the endgoal so they can process their heuristic without a reference to the pathfind datum + var/turf/node_goal + +/datum/jps_node/New(turf/our_tile, datum/jps_node/incoming_previous_node, jumps_taken, turf/incoming_goal) + tile = our_tile + jumps = jumps_taken + if(incoming_goal) // if we have the goal argument, this must be the first/starting node + node_goal = incoming_goal + else if(incoming_previous_node) // if we have the parent, this is from a direct lateral/diagonal scan, we can fill it all out now + previous_node = incoming_previous_node + number_tiles = previous_node.number_tiles + jumps + node_goal = previous_node.node_goal + heuristic = get_dist(tile, node_goal) + f_value = number_tiles + heuristic + // otherwise, no parent node means this is from a subscan lateral scan, so we just need the tile for now until we call [datum/jps/proc/update_parent] on it + +/datum/jps_node/Destroy(force, ...) + previous_node = null + return ..() + +/datum/jps_node/proc/update_parent(datum/jps_node/new_parent) + previous_node = new_parent + node_goal = previous_node.node_goal + jumps = get_dist(tile, previous_node.tile) + number_tiles = previous_node.number_tiles + jumps + heuristic = get_dist(tile, node_goal) + f_value = number_tiles + heuristic + +/// TODO: Macro this to reduce proc overhead +/proc/HeapPathWeightCompare(datum/jps_node/a, datum/jps_node/b) + return b.f_value - a.f_value + +/// The datum used to handle the JPS pathfinding, completely self-contained +/datum/pathfind + /// The thing that we're actually trying to path for + var/atom/movable/caller + /// The turf where we started at + var/turf/start + /// The turf we're trying to path to (note that this won't track a moving target) + var/turf/end + /// The open list/stack we pop nodes out from (TODO: make this a normal list and macro-ize the heap operations to reduce proc overhead) + var/datum/heap/open + ///An assoc list that serves as the closed list & tracks what turfs came from where. Key is the turf, and the value is what turf it came from + var/list/sources + /// The list we compile at the end if successful to pass back + var/list/path + + // general pathfinding vars/args + /// An ID card representing what access we have and what doors we can open. Its location relative to the pathing atom is irrelevant + var/obj/item/card/id/id + /// How far away we have to get to the end target before we can call it quits + var/mintargetdist = 0 + /// I don't know what this does vs , but they limit how far we can search before giving up on a path + var/max_distance = 30 + /// Space is big and empty, if this is TRUE then we ignore pathing through unsimulated tiles + var/simulated_only + /// A specific turf we're avoiding, like if a mulebot is being blocked by someone t-posing in a doorway we're trying to get through + var/turf/avoid + +/datum/pathfind/New(atom/movable/caller, atom/goal, id, max_distance, mintargetdist, simulated_only, avoid) + src.caller = caller + end = get_turf(goal) + open = new /datum/heap(/proc/HeapPathWeightCompare) + sources = new() + src.id = id + src.max_distance = max_distance + src.mintargetdist = mintargetdist + src.simulated_only = simulated_only + src.avoid = avoid + +/// The proc you use to run the search, returns a list with the steps to the destination if one is available, or nothing if one couldn't be found +/datum/pathfind/proc/search() + start = get_turf(caller) + if(!start || !end) + stack_trace("Invalid A* start or destination") + return FALSE + if(start.z != end.z || start == end) //no pathfinding between z levels + return FALSE + if(max_distance && (max_distance < get_dist(start, end))) //if start turf is farther than max_distance from end turf, no need to do anything + return FALSE + + //initialization + var/datum/jps_node/current_processed_node = new (start, -1, 0, end) + open.insert(current_processed_node) + sources[start] = start // i'm sure this is fine + + //then run the main loop + while(!open.is_empty() && !path) + if(!caller) + return + current_processed_node = open.pop() //get the lower f_value turf in the open list + if(max_distance && (current_processed_node.number_tiles > max_distance))//if too many steps, don't process that path + continue + + var/turf/current_turf = current_processed_node.tile + for(var/scan_direction in list(EAST, WEST, NORTH, SOUTH)) + lateral_scan_spec(current_turf, scan_direction, current_processed_node) + + for(var/scan_direction in list(NORTHEAST, SOUTHEAST, NORTHWEST, SOUTHWEST)) + diag_scan_spec(current_turf, scan_direction, current_processed_node) + + CHECK_TICK + + //we're done! reverse the path to get it from start to finish + if(path) + for(var/i = 1 to round(0.5 * length(path))) + path.Swap(i, length(path) - i + 1) + sources = null + qdel(open) + return path + +/// Called when we've hit the goal with the node that represents the last tile, then sets the path var to that path so it can be returned by [datum/pathfind/proc/search] +/datum/pathfind/proc/unwind_path(datum/jps_node/unwind_node) + path = new() + var/turf/iter_turf = unwind_node.tile + path.Add(iter_turf) + + while(unwind_node.previous_node) + var/dir_goal = get_dir(iter_turf, unwind_node.previous_node.tile) + for(var/i = 1 to unwind_node.jumps) + iter_turf = get_step(iter_turf,dir_goal) + path.Add(iter_turf) + unwind_node = unwind_node.previous_node + +/** + * For performing lateral scans from a given starting turf. + * + * These scans are called from both the main search loop, as well as subscans for diagonal scans, and they treat finding interesting turfs slightly differently. + * If we're doing a normal lateral scan, we already have a parent node supplied, so we just create the new node and immediately insert it into the heap, ezpz. + * If we're part of a subscan, we still need for the diagonal scan to generate a parent node, so we return a node datum with just the turf and let the diag scan + * proc handle transferring the values and inserting them into the heap. + * + * Arguments: + * * original_turf: What turf did we start this scan at? + * * heading: What direction are we going in? Obviously, should be cardinal + * * parent_node: Only given for normal lateral scans, if we don't have one, we're a diagonal subscan. +*/ +/datum/pathfind/proc/lateral_scan_spec(turf/original_turf, heading, datum/jps_node/parent_node) + var/steps_taken = 0 + + var/turf/current_turf = original_turf + var/turf/lag_turf = original_turf + + while(TRUE) + if(path) + return + lag_turf = current_turf + current_turf = get_step(current_turf, heading) + steps_taken++ + if(!CAN_STEP(lag_turf, current_turf)) + return + + if(current_turf == end || (mintargetdist && (get_dist(current_turf, end) <= mintargetdist))) + var/datum/jps_node/final_node = new(current_turf, parent_node, steps_taken) + sources[current_turf] = original_turf + if(parent_node) // if this is a direct lateral scan we can wrap up, if it's a subscan from a diag, we need to let the diag make their node first, then finish + unwind_path(final_node) + return final_node + else if(sources[current_turf]) // already visited, essentially in the closed list + return + else + sources[current_turf] = original_turf + + if(parent_node && parent_node.number_tiles + steps_taken > max_distance) + return + + var/interesting = FALSE // have we found a forced neighbor that would make us add this turf to the open list? + + switch(heading) + if(NORTH) + if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, NORTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, EAST, NORTHEAST)) + interesting = TRUE + if(SOUTH) + if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, SOUTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, EAST, SOUTHEAST)) + interesting = TRUE + if(EAST) + if(STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHEAST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHEAST)) + interesting = TRUE + if(WEST) + if(STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHWEST)) + interesting = TRUE + + if(interesting) + var/datum/jps_node/newnode = new(current_turf, parent_node, steps_taken) + if(parent_node) // if we're a diagonal subscan, we'll handle adding ourselves to the heap in the diag + open.insert(newnode) + return newnode + +/** + * For performing diagonal scans from a given starting turf. + * + * Unlike lateral scans, these only are called from the main search loop, so we don't need to worry about returning anything, + * though we do need to handle the return values of our lateral subscans of course. + * + * Arguments: + * * original_turf: What turf did we start this scan at? + * * heading: What direction are we going in? Obviously, should be diagonal + * * parent_node: We should always have a parent node for diagonals +*/ +/datum/pathfind/proc/diag_scan_spec(turf/original_turf, heading, datum/jps_node/parent_node) + var/steps_taken = 0 + var/turf/current_turf = original_turf + var/turf/lag_turf = original_turf + + while(TRUE) + if(path) + return + lag_turf = current_turf + current_turf = get_step(current_turf, heading) + steps_taken++ + if(!CAN_STEP(lag_turf, current_turf)) + return + + if(current_turf == end || (mintargetdist && (get_dist(current_turf, end) <= mintargetdist))) + var/datum/jps_node/final_node = new(current_turf, parent_node, steps_taken) + sources[current_turf] = original_turf + unwind_path(final_node) + return + else if(sources[current_turf]) // already visited, essentially in the closed list + return + else + sources[current_turf] = original_turf + + if(parent_node.number_tiles + steps_taken > max_distance) + return + + var/interesting = FALSE // have we found a forced neighbor that would make us add this turf to the open list? + var/datum/jps_node/possible_child_node // otherwise, did one of our lateral subscans turn up something? + + switch(heading) + if(NORTHWEST) + if(STEP_NOT_HERE_BUT_THERE(current_turf, EAST, NORTHEAST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHWEST)) + interesting = TRUE + else + possible_child_node = (lateral_scan_spec(current_turf, WEST) || lateral_scan_spec(current_turf, NORTH)) + if(NORTHEAST) + if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, NORTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHEAST)) + interesting = TRUE + else + possible_child_node = (lateral_scan_spec(current_turf, EAST) || lateral_scan_spec(current_turf, NORTH)) + if(SOUTHWEST) + if(STEP_NOT_HERE_BUT_THERE(current_turf, EAST, SOUTHEAST) || STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHWEST)) + interesting = TRUE + else + possible_child_node = (lateral_scan_spec(current_turf, SOUTH) || lateral_scan_spec(current_turf, WEST)) + if(SOUTHEAST) + if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, SOUTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHEAST)) + interesting = TRUE + else + possible_child_node = (lateral_scan_spec(current_turf, SOUTH) || lateral_scan_spec(current_turf, EAST)) + + if(interesting || possible_child_node) + var/datum/jps_node/newnode = new(current_turf, parent_node, steps_taken) + open.insert(newnode) + if(possible_child_node) + possible_child_node.update_parent(newnode) + open.insert(possible_child_node) + if(possible_child_node.tile == end || (mintargetdist && (get_dist(possible_child_node.tile, end) <= mintargetdist))) + unwind_path(possible_child_node) + return + +/** + * For seeing if we can actually move between 2 given turfs while accounting for our access and the caller's pass_flags + * + * Arguments: + * * caller: The movable, if one exists, being used for mobility checks to see what tiles it can reach + * * ID: An ID card that decides if we can gain access to doors that would otherwise block a turf + * * simulated_only: Do we only worry about turfs with simulated atmos, most notably things that aren't space? +*/ +/turf/proc/LinkBlockedWithAccess(turf/destination_turf, caller, ID) + var/actual_dir = get_dir(src, destination_turf) + + for(var/obj/structure/window/iter_window in src) + if(!iter_window.CanAStarPass(ID, actual_dir)) + return TRUE + + for(var/obj/machinery/door/window/iter_windoor in src) + if(!iter_windoor.CanAStarPass(ID, actual_dir)) + return TRUE + + var/reverse_dir = get_dir(destination_turf, src) + for(var/obj/iter_object in destination_turf) + if(!iter_object.CanAStarPass(ID, reverse_dir, caller)) + return TRUE + + return FALSE + +#undef CAN_STEP +#undef STEP_NOT_HERE_BUT_THERE diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index a21147e7860e..12bf5edd6ff6 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -468,6 +468,8 @@ Turf and target are separate in case you want to teleport some distance from a t /proc/can_see(atom/source, atom/target, length=5) // I couldnt be arsed to do actual raycasting :I This is horribly inaccurate. var/turf/current = get_turf(source) var/turf/target_turf = get_turf(target) + if(get_dist(source, target) > length) + return FALSE var/steps = 1 if(current != target_turf) current = get_step_towards(current, target_turf) diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index fb00d8bdf283..f8140f71e978 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -8,6 +8,12 @@ GLOBAL_PROTECT(mentors) GLOBAL_LIST_EMPTY_TYPED(directory, /client) //all ckeys with associated client GLOBAL_LIST_EMPTY(stealthminID) //reference list with IDs that store ckeys, for stealthmins +GLOBAL_LIST_INIT(dangerous_turfs, typecacheof(list( + /turf/open/lava, + /turf/open/chasm, + /turf/open/space, + /turf/open/openspace))) + //Since it didn't really belong in any other category, I'm putting this here //This is for procs to replace all the goddamn 'in world's that are chilling around the code diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index c387afaace70..475ec8a10c26 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -345,11 +345,12 @@ A.AltClick(src) /atom/proc/AltClick(mob/user) - var/result = SEND_SIGNAL(src, COMSIG_CLICK_ALT, user) + . = SEND_SIGNAL(src, COMSIG_CLICK_ALT, user) + if(. & COMPONENT_CANCEL_CLICK_ALT) + return var/turf/T = get_turf(src) if(T && (isturf(loc) || isturf(src)) && user.TurfAdjacent(T)) user.set_listed_turf(T) - return result /// Use this instead of [/mob/proc/AltClickOn] where you only want turf content listing without additional atom alt-click interaction /atom/proc/AltClickNoInteract(mob/user, atom/A) diff --git a/code/controllers/subsystem/ai_controllers.dm b/code/controllers/subsystem/ai_controllers.dm new file mode 100644 index 000000000000..5319d7316fb9 --- /dev/null +++ b/code/controllers/subsystem/ai_controllers.dm @@ -0,0 +1,33 @@ +/// The subsystem used to tick [/datum/ai_controllers] instances. Handling the re-checking of plans. +SUBSYSTEM_DEF(ai_controllers) + name = "AI Controller Ticker" + flags = SS_POST_FIRE_TIMING|SS_BACKGROUND + priority = FIRE_PRIORITY_NPC + runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME + init_order = INIT_ORDER_AI_CONTROLLERS + wait = 0.5 SECONDS //Plan every half second if required, not great not terrible. + + ///List of all ai_subtree singletons, key is the typepath while assigned value is a newly created instance of the typepath. See setup_subtrees() + var/list/ai_subtrees = list() + ///List of all ai controllers currently running + var/list/active_ai_controllers = list() + +/datum/controller/subsystem/ai_controllers/Initialize(timeofday) + setup_subtrees() + return ..() + +/datum/controller/subsystem/ai_controllers/proc/setup_subtrees() + ai_subtrees = list() + for(var/subtree_type in subtypesof(/datum/ai_planning_subtree)) + var/datum/ai_planning_subtree/subtree = new subtree_type + ai_subtrees[subtree_type] = subtree + +/datum/controller/subsystem/ai_controllers/fire(resumed) + for(var/datum/ai_controller/ai_controller as anything in active_ai_controllers) + if(!COOLDOWN_FINISHED(ai_controller, failed_planning_cooldown)) + continue + + if(!LAZYLEN(ai_controller.current_behaviors)) + ai_controller.SelectBehaviors(wait * 0.1) + if(!LAZYLEN(ai_controller.current_behaviors)) //Still no plan + COOLDOWN_START(ai_controller, failed_planning_cooldown, AI_FAILED_PLANNING_COOLDOWN) diff --git a/code/controllers/subsystem/pathfinder.dm b/code/controllers/subsystem/pathfinder.dm index 21ee7ea60b3c..12ed31d0af7f 100644 --- a/code/controllers/subsystem/pathfinder.dm +++ b/code/controllers/subsystem/pathfinder.dm @@ -3,13 +3,11 @@ SUBSYSTEM_DEF(pathfinder) init_order = INIT_ORDER_PATH flags = SS_NO_FIRE var/datum/flowcache/mobs - var/datum/flowcache/circuits var/static/space_type_cache /datum/controller/subsystem/pathfinder/Initialize() space_type_cache = typecacheof(/turf/open/space) mobs = new(10) - circuits = new(3) return ..() /datum/flowcache diff --git a/code/controllers/subsystem/processing/ai_behaviors.dm b/code/controllers/subsystem/processing/ai_behaviors.dm new file mode 100644 index 000000000000..4c98567405cc --- /dev/null +++ b/code/controllers/subsystem/processing/ai_behaviors.dm @@ -0,0 +1,20 @@ +/// The subsystem used to tick [/datum/ai_behavior] instances. Handling the individual actions an AI can take like punching someone in the fucking NUTS +PROCESSING_SUBSYSTEM_DEF(ai_behaviors) + name = "AI Behavior Ticker" + flags = SS_POST_FIRE_TIMING|SS_BACKGROUND + priority = FIRE_PRIORITY_NPC_ACTIONS + runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME + init_order = INIT_ORDER_AI_CONTROLLERS + wait = 1 + ///List of all ai_behavior singletons, key is the typepath while assigned value is a newly created instance of the typepath. See SetupAIBehaviors() + var/list/ai_behaviors + +/datum/controller/subsystem/processing/ai_behaviors/Initialize(timeofday) + SetupAIBehaviors() + return ..() + +/datum/controller/subsystem/processing/ai_behaviors/proc/SetupAIBehaviors() + ai_behaviors = list() + for(var/behavior_type in subtypesof(/datum/ai_behavior)) + var/datum/ai_behavior/ai_behavior = new behavior_type + ai_behaviors[behavior_type] = ai_behavior diff --git a/code/controllers/subsystem/processing/ai_movement.dm b/code/controllers/subsystem/processing/ai_movement.dm new file mode 100644 index 000000000000..6a6d64548ca7 --- /dev/null +++ b/code/controllers/subsystem/processing/ai_movement.dm @@ -0,0 +1,21 @@ +/// The subsystem used to tick [/datum/ai_movement] instances. Handling the movement of individual AI instances +PROCESSING_SUBSYSTEM_DEF(ai_movement) + name = "AI movement" + flags = SS_KEEP_TIMING|SS_BACKGROUND + priority = FIRE_PRIORITY_NPC_MOVEMENT + runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME + init_order = INIT_ORDER_AI_MOVEMENT + wait = 1 + + ///an assoc list of all ai_movement types. Assoc type to instance + var/list/movement_types + +/datum/controller/subsystem/processing/ai_movement/Initialize(timeofday) + SetupAIMovementInstances() + return ..() + +/datum/controller/subsystem/processing/ai_movement/proc/SetupAIMovementInstances() + movement_types = list() + for(var/key as anything in subtypesof(/datum/ai_movement)) + var/datum/ai_movement/ai_movement = new key + movement_types[key] = ai_movement diff --git a/code/controllers/subsystem/processing/processing.dm b/code/controllers/subsystem/processing/processing.dm index b4ad1d56df7e..c4dc415d0080 100644 --- a/code/controllers/subsystem/processing/processing.dm +++ b/code/controllers/subsystem/processing/processing.dm @@ -4,7 +4,7 @@ SUBSYSTEM_DEF(processing) name = "Processing" priority = FIRE_PRIORITY_PROCESS flags = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT - wait = 10 + wait = 1 SECONDS var/stat_tag = "P" //Used for logging var/list/processing = list() @@ -31,12 +31,12 @@ SUBSYSTEM_DEF(processing) current_run.len-- if(QDELETED(thing)) processing -= thing - else if(thing.process(wait) == PROCESS_KILL) + else if(thing.process(wait * 0.1) == PROCESS_KILL) // fully stop so that a future START_PROCESSING will work STOP_PROCESSING(src, thing) if (MC_TICK_CHECK) return -/datum/proc/process() +/datum/proc/process(delta_time) set waitfor = 0 return PROCESS_KILL diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index b64dab12d301..3d78d5871779 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -207,4 +207,7 @@ SUBSYSTEM_DEF(throwing) if(T && thrownthing.has_gravity(T)) T.zFall(thrownthing) + if(thrownthing) + SEND_SIGNAL(thrownthing, COMSIG_MOVABLE_THROW_LANDED, src) + qdel(src) diff --git a/code/datums/ai/README.md b/code/datums/ai/README.md new file mode 100644 index 000000000000..f219b11bb247 --- /dev/null +++ b/code/datums/ai/README.md @@ -0,0 +1,21 @@ +# AI controllers + +## Introduction + +Our AI controller system is an attempt at making it possible to create modularized AI that stores its behavior in datums, while keeping state and decision making in a controller. This allows a more versatile way of creating AI that doesn't rely on OOP as much, and doesn't clutter up the Life() code in Mobs. + +## AI Controllers + +A datum that can be added to any atom in the game. Similarly to components, they might only support a given subtype (e.g. /mob/living), but the idea is that theoretically, you could apply a specific AI controller to a big a group of different types as possible and it would still work. + +These datums handle both the normal movement of mobs, but also their decision making, deciding which actions they will take based on the checks you put into their SelectBehaviors proc. + +If behaviors are selected, and the AI is in range, it will try to perform them. It runs all the behaviors it currently has in parallel; allowing for it to for example screech at someone while trying to attack them. Aslong as it has behaviors running, it will not try to generate new plans, making it not waste CPU when it already has an active goal. + +They also hold data for any of the actions they might need to use, such as cooldowns, whether or not they're currently fighting, etcetera this is stored in the blackboard, more information on that below. + +### Blackboard +The blackboard is an associated list keyed with strings and with values of whatever you want. These store information the mob has such as "Am I attacking someone", "Do I have a weapon". By using an associated list like this, no data needs to be stored on the actions themselves, and you could make actions that work on multiple ai controllers if you so pleased by making the key to use a variable. + +## AI Behavior +AI behaviors are the actions an AI can take. These can range from "Do an emote" to "Attack this target until he is dead". They are singletons and should contain nothing but static data. Any dynamic data should be stored in the blackboard, to allow different controllers to use the same behaviors. diff --git a/code/datums/ai/_ai_behavoir.dm b/code/datums/ai/_ai_behavoir.dm new file mode 100644 index 000000000000..fad64f6e97d6 --- /dev/null +++ b/code/datums/ai/_ai_behavoir.dm @@ -0,0 +1,25 @@ +///Abstract class for an action an AI can take, can range from movement to grabbing a nearby weapon. +/datum/ai_behavior + ///What distance you need to be from the target to perform the action + var/required_distance = 1 + ///Flags for extra behavior + var/behavior_flags = NONE + ///Cooldown between actions performances + var/action_cooldown = 0 + +/// Called by the ai controller when first being added. Additional arguments depend on the behavior type. +/// Return FALSE to cancel +/datum/ai_behavior/proc/setup(datum/ai_controller/controller, ...) + return TRUE + +///Called by the AI controller when this action is performed +/datum/ai_behavior/proc/perform(delta_time, datum/ai_controller/controller, ...) + controller.behavior_cooldowns[src] = world.time + action_cooldown + return + +///Called when the action is finished. +/datum/ai_behavior/proc/finish_action(datum/ai_controller/controller, succeeded) + controller.current_behaviors.Remove(src) + controller.behavior_args -= type + if(behavior_flags & AI_BEHAVIOR_REQUIRE_MOVEMENT) //If this was a movement task, reset our movement target. + controller.current_movement_target = null diff --git a/code/datums/ai/_ai_controller.dm b/code/datums/ai/_ai_controller.dm new file mode 100644 index 000000000000..ce11df446aa4 --- /dev/null +++ b/code/datums/ai/_ai_controller.dm @@ -0,0 +1,254 @@ +/* +AI controllers are a datumized form of AI that simulates the input a player would otherwise give to a atom. What this means is that these datums +have ways of interacting with a specific atom and control it. They posses a blackboard with the information the AI knows and has, and will plan behaviors it will try to execute through +multiple modular subtrees with behaviors +*/ + +/datum/ai_controller + ///The atom this controller is controlling + var/atom/pawn + ///Bitfield of traits for this AI to handle extra behavior + var/ai_traits + ///Current actions being performed by the AI. + var/list/current_behaviors + ///Current actions and their respective last time ran as an assoc list. + var/list/behavior_cooldowns = list() + ///Current status of AI (OFF/ON/IDLE) + var/ai_status + ///Current movement target of the AI, generally set by decision making. + var/atom/current_movement_target + ///Delay between atom movements, if this is not a multiplication of the delay in + var/move_delay + ///This is a list of variables the AI uses and can be mutated by actions. When an action is performed you pass this list and any relevant keys for the variables it can mutate. + var/list/blackboard = list() + ///Stored arguments for behaviors given during their initial creation + var/list/behavior_args = list() + ///Tracks recent pathing attempts, if we fail too many in a row we fail our current plans. + var/pathing_attempts + ///Can the AI remain in control if there is a client? + var/continue_processing_when_client = FALSE + ///distance to give up on target + var/max_target_distance = 14 + ///Cooldown for new plans, to prevent AI from going nuts if it can't think of new plans and looping on end + COOLDOWN_DECLARE(failed_planning_cooldown) + ///All subtrees this AI has available, will run them in order, so make sure they're in the order you want them to run. On initialization of this type, it will start as a typepath(s) and get converted to references of ai_subtrees found in SSai_controllers when init_subtrees() is called + var/list/planning_subtrees + + // Movement related things here + ///Reference to the movement datum we use. Is a type on initialize but becomes a ref afterwards. + var/datum/ai_movement/ai_movement = /datum/ai_movement/dumb + ///Cooldown until next movement + COOLDOWN_DECLARE(movement_cooldown) + ///Delay between movements. This is on the controller so we can keep the movement datum singleton + var/movement_delay = 0.1 SECONDS + + // The variables below are fucking stupid and should be put into the blackboard at some point. + ///A list for the path we're currently following, if we're using JPS pathing + var/list/movement_path + ///Cooldown for JPS movement, how often we're allowed to try making a new path + COOLDOWN_DECLARE(repath_cooldown) + ///AI paused time + var/paused_until = 0 + +/datum/ai_controller/New(atom/new_pawn) + change_ai_movement_type(ai_movement) + init_subtrees() + PossessPawn(new_pawn) + +/datum/ai_controller/Destroy(force, ...) + set_ai_status(AI_STATUS_OFF) + UnpossessPawn(FALSE) + return ..() + +///Overrides the current ai_movement of this controller with a new one +/datum/ai_controller/proc/change_ai_movement_type(datum/ai_movement/new_movement) + ai_movement = SSai_movement.movement_types[new_movement] + +///Completely replaces the planning_subtrees with a new set based on argument provided, list provided must contain specifically typepaths +/datum/ai_controller/proc/replace_planning_subtrees(list/typepaths_of_new_subtrees) + planning_subtrees = typepaths_of_new_subtrees + init_subtrees() + +///Loops over the subtrees in planning_subtrees and looks at the ai_controllers to grab a reference, ENSURE planning_subtrees ARE TYPEPATHS AND NOT INSTANCES/REFERENCES BEFORE EXECUTING THIS +/datum/ai_controller/proc/init_subtrees() + if(!LAZYLEN(planning_subtrees)) + return + var/list/temp_subtree_list = list() + for(var/subtree in planning_subtrees) + var/subtree_instance = SSai_controllers.ai_subtrees[subtree] + temp_subtree_list += subtree_instance + planning_subtrees = temp_subtree_list + +///Proc to move from one pawn to another, this will destroy the target's existing controller. +/datum/ai_controller/proc/PossessPawn(atom/new_pawn) + if(pawn) //Reset any old signals + UnpossessPawn(FALSE) + + if(istype(new_pawn.ai_controller)) //Existing AI, kill it. + QDEL_NULL(new_pawn.ai_controller) + + if(TryPossessPawn(new_pawn) & AI_CONTROLLER_INCOMPATIBLE) + qdel(src) + CRASH("[src] attached to [new_pawn] but these are not compatible!") + + pawn = new_pawn + pawn.ai_controller = src + + if(!continue_processing_when_client && istype(new_pawn, /mob)) + var/mob/possible_client_holder = new_pawn + if(possible_client_holder.client) + set_ai_status(AI_STATUS_OFF) + else + set_ai_status(AI_STATUS_ON) + else + set_ai_status(AI_STATUS_ON) + + RegisterSignal(pawn, COMSIG_MOB_LOGIN, PROC_REF(on_sentience_gained)) + +///Abstract proc for initializing the pawn to the new controller +/datum/ai_controller/proc/TryPossessPawn(atom/new_pawn) + return + +///Proc for deinitializing the pawn to the old controller +/datum/ai_controller/proc/UnpossessPawn(destroy) + UnregisterSignal(pawn, list(COMSIG_MOB_LOGIN, COMSIG_MOB_LOGOUT)) + pawn.ai_controller = null + pawn = null + if(destroy) + qdel(src) + return + +///Returns TRUE if the ai controller can actually run at the moment. +/datum/ai_controller/proc/able_to_run() + if(world.time < paused_until) + return FALSE + return TRUE + +/// Generates a plan and see if our existing one is still valid. +/datum/ai_controller/process(delta_time) + if(!able_to_run()) + walk(pawn, 0) //stop moving + return //this should remove them from processing in the future through event-based stuff. + if(!LAZYLEN(current_behaviors)) + PerformIdleBehavior(delta_time) //Do some stupid shit while we have nothing to do + return + + if(current_movement_target && get_dist(pawn, current_movement_target) > max_target_distance) //The distance is out of range + CancelActions() + return + + for(var/i in current_behaviors) + var/datum/ai_behavior/current_behavior = i + + if(behavior_cooldowns[current_behavior] > world.time) //Still on cooldown + continue + + if(current_behavior.behavior_flags & AI_BEHAVIOR_REQUIRE_MOVEMENT && current_movement_target) //Might need to move closer + if(current_behavior.required_distance >= get_dist(pawn, current_movement_target)) ///Are we close enough to engage? + if(ai_movement.moving_controllers[src] == current_movement_target) //We are close enough, if we're moving stop.else + ai_movement.stop_moving_towards(src) + ProcessBehavior(delta_time, current_behavior) + return + + else if(ai_movement.moving_controllers[src] != current_movement_target) //We're too far, if we're not already moving start doing it. + ai_movement.start_moving_towards(src, current_movement_target) //Then start moving + + if(current_behavior.behavior_flags & AI_BEHAVIOR_MOVE_AND_PERFORM) //If we can move and perform then do so. + ProcessBehavior(delta_time, current_behavior) + return + else //No movement required + ProcessBehavior(delta_time, current_behavior) + return + + +///Move somewhere using dumb movement (byond base) +/datum/ai_controller/proc/MoveTo(delta_time) + var/current_loc = get_turf(pawn) + var/atom/movable/movable_pawn = pawn + + var/turf/target_turf = get_step_towards(movable_pawn, current_movement_target) + + if(!is_type_in_typecache(target_turf, GLOB.dangerous_turfs)) + movable_pawn.Move(target_turf, get_dir(current_loc, target_turf)) + if(current_loc == get_turf(movable_pawn)) + if(++pathing_attempts >= AI_MAX_PATH_LENGTH) + CancelActions() + pathing_attempts = 0 + + +///Perform some dumb idle behavior. +/datum/ai_controller/proc/PerformIdleBehavior(delta_time) + return + +///This is where you decide what actions are taken by the AI. +/datum/ai_controller/proc/SelectBehaviors(delta_time) + SHOULD_NOT_SLEEP(TRUE) //Fuck you don't sleep in procs like this. + if(!COOLDOWN_FINISHED(src, failed_planning_cooldown)) + return FALSE + + LAZYINITLIST(current_behaviors) + + if(LAZYLEN(planning_subtrees)) + for(var/datum/ai_planning_subtree/subtree as anything in planning_subtrees) + if(subtree.SelectBehaviors(src, delta_time) == SUBTREE_RETURN_FINISH_PLANNING) + break + +///This proc handles changing ai status, and starts/stops processing if required. +/datum/ai_controller/proc/set_ai_status(new_ai_status) + if(ai_status == new_ai_status) + return FALSE //no change + + ai_status = new_ai_status + switch(ai_status) + if(AI_STATUS_ON) + SSai_controllers.active_ai_controllers += src + START_PROCESSING(SSai_behaviors, src) + if(AI_STATUS_OFF) + STOP_PROCESSING(SSai_behaviors, src) + SSai_controllers.active_ai_controllers -= src + CancelActions() + +/datum/ai_controller/proc/PauseAi(time) + paused_until = world.time + time + +/datum/ai_controller/proc/AddBehavior(behavior_type, ...) + var/datum/ai_behavior/behavior = GET_AI_BEHAVIOR(behavior_type) + if(!behavior) + CRASH("Behavior [behavior_type] not found.") + var/list/arguments = args.Copy() + arguments[1] = src + if(!behavior.setup(arglist(arguments))) + return + LAZYADD(current_behaviors, behavior) + arguments.Cut(1, 2) + if(length(arguments)) + behavior_args[behavior_type] = arguments + +/datum/ai_controller/proc/ProcessBehavior(delta_time, datum/ai_behavior/behavior) + var/list/arguments = list(delta_time, src) + var/list/stored_arguments = behavior_args[behavior.type] + if(stored_arguments) + arguments += stored_arguments + behavior.perform(arglist(arguments)) + +/datum/ai_controller/proc/CancelActions() + if(!LAZYLEN(current_behaviors)) + return + for(var/i in current_behaviors) + var/datum/ai_behavior/current_behavior = i + current_behavior.finish_action(src, FALSE) + +/datum/ai_controller/proc/on_sentience_gained() + UnregisterSignal(pawn, COMSIG_MOB_LOGIN) + if(!continue_processing_when_client) + set_ai_status(AI_STATUS_OFF) //Can't do anything while player is connected + RegisterSignal(pawn, COMSIG_MOB_LOGOUT, PROC_REF(on_sentience_lost)) + +/datum/ai_controller/proc/on_sentience_lost() + UnregisterSignal(pawn, COMSIG_MOB_LOGOUT) + set_ai_status(AI_STATUS_ON) //Can't do anything while player is connected + RegisterSignal(pawn, COMSIG_MOB_LOGIN, PROC_REF(on_sentience_gained)) + +/// Use this proc to define how your controller defines what access the pawn has for the sake of pathfinding, likely pointing to whatever ID slot is relevant +/datum/ai_controller/proc/get_access() + return diff --git a/code/datums/ai/_ai_planning_subtree.dm b/code/datums/ai/_ai_planning_subtree.dm new file mode 100644 index 000000000000..8f186d586a45 --- /dev/null +++ b/code/datums/ai/_ai_planning_subtree.dm @@ -0,0 +1,6 @@ +///A subtree is attached to a controller and is occasionally called by /ai_controller/SelectBehaviors(), this mainly exists to act as a way to subtype and modify SelectBehaviors() without needing to subtype the ai controller itself +/datum/ai_planning_subtree + +///Determines what behaviors should the controller try processing; if this returns SUBTREE_RETURN_FINISH_PLANNING then the controller won't go through the other subtrees should multiple exist in controller.planning_subtrees +/datum/ai_planning_subtree/proc/SelectBehaviors(datum/ai_controller/controller, delta_time) + return diff --git a/code/datums/ai/dog/dog_behaviors.dm b/code/datums/ai/dog/dog_behaviors.dm new file mode 100644 index 000000000000..3672b348118a --- /dev/null +++ b/code/datums/ai/dog/dog_behaviors.dm @@ -0,0 +1,208 @@ +/datum/ai_behavior/battle_screech/dog + screeches = list("barks","howls") + +/// Fetching makes the pawn chase after whatever it's targeting and pick it up when it's in range, with the dog_equip behavior +/datum/ai_behavior/fetch + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT + +/datum/ai_behavior/fetch/perform(delta_time, datum/ai_controller/controller) + . = ..() + var/mob/living/living_pawn = controller.pawn + var/obj/item/fetch_thing = controller.blackboard[BB_FETCH_TARGET] + + if(fetch_thing.anchored || !isturf(fetch_thing.loc) || IS_EDIBLE(fetch_thing)) //either we can't pick it up, or we'd rather eat it, so stop trying. + finish_action(controller, FALSE) + return + + if(in_range(living_pawn, fetch_thing)) + finish_action(controller, TRUE) + return + + finish_action(controller, FALSE) + +/datum/ai_behavior/fetch/finish_action(datum/ai_controller/controller, success) + . = ..() + + if(!success) //Don't try again on this item if we failed + var/obj/item/target = controller.blackboard[BB_FETCH_TARGET] + if(target) + controller.blackboard[BB_FETCH_IGNORE_LIST][target] = TRUE + controller.blackboard[BB_FETCH_TARGET] = null + controller.blackboard[BB_FETCH_DELIVER_TO] = null + + +/// This is simply a behaviour to pick up a fetch target +/datum/ai_behavior/simple_equip/perform(delta_time, datum/ai_controller/controller) + . = ..() + var/obj/item/fetch_target = controller.blackboard[BB_FETCH_TARGET] + if(!isturf(fetch_target?.loc)) // someone picked it up or something happened to it + finish_action(controller, FALSE) + return + + if(in_range(controller.pawn, fetch_target)) + pickup_item(controller, fetch_target) + finish_action(controller, TRUE) + else + finish_action(controller, FALSE) + +/datum/ai_behavior/simple_equip/finish_action(datum/ai_controller/controller, success) + . = ..() + controller.blackboard[BB_FETCH_TARGET] = null + +/datum/ai_behavior/simple_equip/proc/pickup_item(datum/ai_controller/controller, obj/item/target) + var/atom/pawn = controller.pawn + drop_item(controller) + pawn.visible_message("[pawn] picks up [target] in [pawn.p_their()] mouth.") + target.forceMove(pawn) + controller.blackboard[BB_SIMPLE_CARRY_ITEM] = target + return TRUE + +/datum/ai_behavior/simple_equip/proc/drop_item(datum/ai_controller/controller) + var/obj/item/carried_item = controller.blackboard[BB_SIMPLE_CARRY_ITEM] + if(!carried_item) + return + + var/atom/pawn = controller.pawn + pawn.visible_message("[pawn] drops [carried_item].") + carried_item.forceMove(get_turf(pawn)) + controller.blackboard[BB_SIMPLE_CARRY_ITEM] = null + return TRUE + + + +/// This behavior involves dropping off a carried item to a specified person (or place) +/datum/ai_behavior/deliver_item + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT + +/datum/ai_behavior/deliver_item/perform(delta_time, datum/ai_controller/controller) + . = ..() + var/mob/living/return_target = controller.blackboard[BB_FETCH_DELIVER_TO] + if(!return_target) + finish_action(controller, FALSE) + if(in_range(controller.pawn, return_target)) + deliver_item(controller) + finish_action(controller, TRUE) + +/datum/ai_behavior/deliver_item/finish_action(datum/ai_controller/controller, success) + . = ..() + controller.blackboard[BB_FETCH_DELIVER_TO] = null + +/// Actually drop the fetched item to the target +/datum/ai_behavior/deliver_item/proc/deliver_item(datum/ai_controller/controller) + var/obj/item/carried_item = controller.blackboard[BB_SIMPLE_CARRY_ITEM] + var/atom/movable/return_target = controller.blackboard[BB_FETCH_DELIVER_TO] + if(!carried_item || !return_target) + finish_action(controller, FALSE) + return + + if(ismob(return_target)) + controller.pawn.visible_message("[controller.pawn] delivers [carried_item] at [return_target]'s feet.") + else // not sure how to best phrase this + controller.pawn.visible_message("[controller.pawn] delivers [carried_item] to [return_target].") + + carried_item.forceMove(get_turf(return_target)) + controller.blackboard[BB_SIMPLE_CARRY_ITEM] = null + return TRUE + +/// This behavior involves either eating a snack we can reach, or begging someone holding a snack +/datum/ai_behavior/eat_snack + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT + +/datum/ai_behavior/eat_snack/perform(delta_time, datum/ai_controller/controller) + . = ..() + var/obj/item/snack = controller.current_movement_target + if(!istype(snack) || !IS_EDIBLE(snack) || !(isturf(snack.loc) || ishuman(snack.loc))) + finish_action(controller, FALSE) + + var/mob/living/living_pawn = controller.pawn + if(!in_range(living_pawn, snack)) + return + + if(isturf(snack.loc)) + snack.attack_animal(living_pawn) // snack attack! + else if(iscarbon(snack.loc) && DT_PROB(10, delta_time)) + living_pawn.manual_emote("stares at [snack.loc]'s [snack.name] with a sad puppy-face.") + + if(QDELETED(snack)) // we ate it! + finish_action(controller, TRUE) + + +/// This behavior involves either eating a snack we can reach, or begging someone holding a snack +/datum/ai_behavior/play_dead + behavior_flags = NONE + +/datum/ai_behavior/play_dead/perform(delta_time, datum/ai_controller/controller) + . = ..() + var/mob/living/simple_animal/simple_pawn = controller.pawn + if(!istype(simple_pawn)) + return + + if(!controller.blackboard[BB_DOG_PLAYING_DEAD]) + controller.blackboard[BB_DOG_PLAYING_DEAD] = TRUE + simple_pawn.emote("deathgasp", intentional=FALSE) + simple_pawn.icon_state = simple_pawn.icon_dead + if(simple_pawn.flip_on_death) + simple_pawn.transform = simple_pawn.transform.Turn(180) + simple_pawn.density = FALSE + + if(DT_PROB(10, delta_time)) + finish_action(controller, TRUE) + +/datum/ai_behavior/play_dead/finish_action(datum/ai_controller/controller, succeeded) + . = ..() + var/mob/living/simple_animal/simple_pawn = controller.pawn + if(!istype(simple_pawn) || simple_pawn.stat) // imagine actually dying while playing dead. hell, imagine being the kid waiting for your pup to get back up :( + return + controller.blackboard[BB_DOG_PLAYING_DEAD] = FALSE + simple_pawn.visible_message("[simple_pawn] springs to [simple_pawn.p_their()] feet, panting excitedly!") + simple_pawn.icon_state = simple_pawn.icon_living + if(simple_pawn.flip_on_death) + simple_pawn.transform = simple_pawn.transform.Turn(180) + simple_pawn.density = initial(simple_pawn.density) + +/// This behavior involves either eating a snack we can reach, or begging someone holding a snack +/datum/ai_behavior/harass + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_MOVE_AND_PERFORM + required_distance = 3 + +/datum/ai_behavior/harass/perform(delta_time, datum/ai_controller/controller) + . = ..() + var/mob/living/living_pawn = controller.pawn + if(!istype(living_pawn)) + return + + var/atom/movable/harass_target = controller.blackboard[BB_DOG_HARASS_TARGET] + if(!harass_target || !can_see(living_pawn, harass_target, length=AI_DOG_VISION_RANGE)) + finish_action(controller, FALSE) + return + + if(controller.blackboard[BB_DOG_FRIENDS][harass_target]) + living_pawn.visible_message("[living_pawn] looks sideways at [harass_target] for a moment, then shakes [living_pawn.p_their()] head and ceases aggression.") + finish_action(controller, FALSE) + return + + var/mob/living/living_target = harass_target + if(istype(living_target) && (living_target.stat || HAS_TRAIT(living_target, TRAIT_FAKEDEATH))) + finish_action(controller, TRUE) + return + + // subtypes of this behavior can change behavior for how eager/averse the pawn is to attack the target as opposed to falling back/making noise/getting help + if(in_range(living_pawn, living_target)) + attack(controller, living_target) + else if(DT_PROB(50, delta_time)) + living_pawn.manual_emote("[pick("barks", "growls", "stares")] menacingly at [harass_target]!") + +/datum/ai_behavior/harass/finish_action(datum/ai_controller/controller, succeeded) + . = ..() + controller.blackboard[BB_DOG_HARASS_TARGET] = null + +/// A proc representing when the mob is pushed to actually attack the target. Again, subtypes can be used to represent different attacks from different animals, or it can be some other generic behavior +/datum/ai_behavior/harass/proc/attack(datum/ai_controller/controller, mob/living/living_target) + var/mob/living/living_pawn = controller.pawn + if(!istype(living_pawn)) + return + living_pawn.do_attack_animation(living_target, ATTACK_EFFECT_BITE) + living_target.visible_message("[living_pawn] bites at [living_target]!", "[living_pawn] bites at you!", vision_distance = COMBAT_MESSAGE_RANGE) + if(istype(living_target)) + living_target.take_bodypart_damage(rand(5, 10)) + log_combat(living_pawn, living_target, "bit (AI)") diff --git a/code/datums/ai/dog/dog_controller.dm b/code/datums/ai/dog/dog_controller.dm new file mode 100644 index 000000000000..5cd65654db7c --- /dev/null +++ b/code/datums/ai/dog/dog_controller.dm @@ -0,0 +1,271 @@ +/datum/ai_controller/dog + blackboard = list(\ + BB_SIMPLE_CARRY_ITEM = null,\ + BB_FETCH_TARGET = null,\ + BB_FETCH_DELIVER_TO = null,\ + BB_DOG_FRIENDS = list(),\ + BB_FETCH_IGNORE_LIST = list(),\ + BB_DOG_ORDER_MODE = DOG_COMMAND_NONE,\ + BB_DOG_PLAYING_DEAD = FALSE,\ + BB_DOG_HARASS_TARGET = null) + ai_movement = /datum/ai_movement/jps + planning_subtrees = list(/datum/ai_planning_subtree/dog) + + COOLDOWN_DECLARE(heel_cooldown) + COOLDOWN_DECLARE(command_cooldown) + +/datum/ai_controller/dog/process(delta_time) + if(ismob(pawn)) + var/mob/living/living_pawn = pawn + movement_delay = living_pawn.cached_multiplicative_slowdown + return ..() + +/datum/ai_controller/dog/TryPossessPawn(atom/new_pawn) + if(!isliving(new_pawn)) + return AI_CONTROLLER_INCOMPATIBLE + + RegisterSignal(new_pawn, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand)) + RegisterSignal(new_pawn, COMSIG_PARENT_EXAMINE, PROC_REF(on_examined)) + RegisterSignal(new_pawn, COMSIG_CLICK_ALT, PROC_REF(check_altclicked)) + RegisterSignal(SSdcs, COMSIG_GLOB_CARBON_THROW_THING, PROC_REF(listened_throw)) + return ..() //Run parent at end + +/datum/ai_controller/dog/UnpossessPawn(destroy) + UnregisterSignal(pawn, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_PARENT_EXAMINE, COMSIG_GLOB_CARBON_THROW_THING, COMSIG_CLICK_ALT)) + return ..() //Run parent at end + +/datum/ai_controller/dog/able_to_run() + var/mob/living/living_pawn = pawn + + if(IS_DEAD_OR_INCAP(living_pawn)) + return FALSE + return ..() + +/datum/ai_controller/dog/get_access() + var/mob/living/simple_animal/simple_pawn = pawn + if(!istype(simple_pawn)) + return + + return simple_pawn.access_card + + +/datum/ai_controller/dog/PerformIdleBehavior(delta_time) + var/mob/living/living_pawn = pawn + if(!isturf(living_pawn.loc) || living_pawn.pulledby) + return + + // if we were just ordered to heel, chill out for a bit + if(!COOLDOWN_FINISHED(src, heel_cooldown)) + return + + // if we're just ditzing around carrying something, occasionally print a message so people know we have something + if(blackboard[BB_SIMPLE_CARRY_ITEM] && DT_PROB(5, delta_time)) + var/obj/item/carry_item = blackboard[BB_SIMPLE_CARRY_ITEM] + living_pawn.visible_message("[living_pawn] gently teethes on \the [carry_item] in [living_pawn.p_their()] mouth.", vision_distance=COMBAT_MESSAGE_RANGE) + + if(DT_PROB(5, delta_time) && (living_pawn.mobility_flags & MOBILITY_MOVE)) + var/move_dir = pick(GLOB.alldirs) + living_pawn.Move(get_step(living_pawn, move_dir), move_dir) + else if(DT_PROB(10, delta_time)) + living_pawn.manual_emote(pick("dances around.","chases [living_pawn.p_their()] tail!")) + living_pawn.AddComponent(/datum/component/spinny) + +/// Someone has thrown something, see if it's someone we care about and start listening to the thrown item so we can see if we want to fetch it when it lands +/datum/ai_controller/dog/proc/listened_throw(datum/source, mob/living/carbon/carbon_thrower) + SIGNAL_HANDLER + if(blackboard[BB_FETCH_TARGET] || blackboard[BB_FETCH_DELIVER_TO] || blackboard[BB_DOG_PLAYING_DEAD]) // we're already busy + return + if(!COOLDOWN_FINISHED(src, heel_cooldown)) + return + if(!can_see(pawn, carbon_thrower, length=AI_DOG_VISION_RANGE)) + return + var/obj/item/thrown_thing = carbon_thrower.get_active_held_item() + if(!isitem(thrown_thing)) + return + if(blackboard[BB_FETCH_IGNORE_LIST][thrown_thing]) + return + + RegisterSignal(thrown_thing, COMSIG_MOVABLE_THROW_LANDED, PROC_REF(listen_throw_land)) + +/// A throw we were listening to has finished, see if it's in range for us to try grabbing it +/datum/ai_controller/dog/proc/listen_throw_land(obj/item/thrown_thing, datum/thrownthing/throwing_datum) + SIGNAL_HANDLER + + UnregisterSignal(thrown_thing, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_THROW_LANDED)) + if(!istype(thrown_thing) || !isturf(thrown_thing.loc) || !can_see(pawn, thrown_thing, length=AI_DOG_VISION_RANGE)) + return + + current_movement_target = thrown_thing + blackboard[BB_FETCH_TARGET] = thrown_thing + blackboard[BB_FETCH_DELIVER_TO] = throwing_datum.thrower + LAZYADD(current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/fetch)) + +/// Someone's interacting with us by hand, see if they're being nice or mean +/datum/ai_controller/dog/proc/on_attack_hand(datum/source, mob/living/user) + SIGNAL_HANDLER + + if(user.a_intent == INTENT_HARM) + unfriend(user) + else + if(prob(AI_DOG_PET_FRIEND_PROB)) + befriend(user) + // if the dog has something in their mouth that they're not bringing to someone for whatever reason, have them drop it when pet by a friend + var/list/friends = blackboard[BB_DOG_FRIENDS] + if(blackboard[BB_SIMPLE_CARRY_ITEM] && !current_movement_target && friends[user]) + var/obj/item/carried_item = blackboard[BB_SIMPLE_CARRY_ITEM] + pawn.visible_message("[pawn] drops [carried_item] at [user]'s feet!") + // maybe have a dedicated proc for dropping things + carried_item.forceMove(get_turf(user)) + blackboard[BB_SIMPLE_CARRY_ITEM] = null + +/// Someone is being nice to us, let's make them a friend! +/datum/ai_controller/dog/proc/befriend(mob/living/new_friend) + var/list/friends = blackboard[BB_DOG_FRIENDS] + if(friends[new_friend]) + return + if(in_range(pawn, new_friend)) + new_friend.visible_message("[pawn] licks at [new_friend] in a friendly manner!", "[pawn] licks at you in a friendly manner!") + friends[new_friend] = TRUE + RegisterSignal(new_friend, COMSIG_MOB_POINTED, PROC_REF(check_point)) + RegisterSignal(new_friend, COMSIG_MOB_SAY, PROC_REF(check_verbal_command)) + +/// Someone is being mean to us, take them off our friends (add actual enemies behavior later) +/datum/ai_controller/dog/proc/unfriend(mob/living/ex_friend) + var/list/friends = blackboard[BB_DOG_FRIENDS] + friends[ex_friend] = null + UnregisterSignal(ex_friend, list(COMSIG_MOB_POINTED, COMSIG_MOB_SAY)) + +/// Someone is looking at us, if we're currently carrying something then show what it is, and include a message if they're our friend +/datum/ai_controller/dog/proc/on_examined(datum/source, mob/user, list/examine_text) + SIGNAL_HANDLER + + var/obj/item/carried_item = blackboard[BB_SIMPLE_CARRY_ITEM] + if(carried_item) + examine_text += "[pawn.p_they(TRUE)] [pawn.p_are()] carrying [carried_item.get_examine_string(user)] in [pawn.p_their()] mouth." + if(blackboard[BB_DOG_FRIENDS][user]) + examine_text += "[pawn.p_they(TRUE)] seem[pawn.p_s()] happy to see you!" + +/// If we died, drop anything we were carrying +/datum/ai_controller/dog/proc/on_death(mob/living/ol_yeller) + SIGNAL_HANDLER + + var/obj/item/carried_item = blackboard[BB_SIMPLE_CARRY_ITEM] + if(!carried_item) + return + + ol_yeller.visible_message("[ol_yeller] drops [carried_item] as [ol_yeller.p_they()] die[ol_yeller.p_s()].") + carried_item.forceMove(get_turf(ol_yeller)) + blackboard[BB_SIMPLE_CARRY_ITEM] = null + +// next section is regarding commands + +/// Someone alt clicked us, see if they're someone we should show the radial command menu to +/datum/ai_controller/dog/proc/check_altclicked(datum/source, mob/living/clicker) + SIGNAL_HANDLER + + if(!COOLDOWN_FINISHED(src, command_cooldown)) + return + if(!istype(clicker) || !blackboard[BB_DOG_FRIENDS][clicker]) + return + . = COMPONENT_CANCEL_CLICK_ALT + INVOKE_ASYNC(src, PROC_REF(command_radial), clicker) + +/// Show the command radial menu +/datum/ai_controller/dog/proc/command_radial(mob/living/clicker) + var/list/commands = list( + COMMAND_HEEL = image(icon = 'icons/Testing/turf_analysis.dmi', icon_state = "red_arrow"), + COMMAND_FETCH = image(icon = 'icons/mob/actions/actions_spells.dmi', icon_state = "summons"), + COMMAND_ATTACK = image(icon = 'icons/effects/effects.dmi', icon_state = "bite"), + COMMAND_DIE = image(icon = 'icons/mob/pets.dmi', icon_state = "puppy_dead") + ) + + var/choice = show_radial_menu(clicker, pawn, commands, custom_check = CALLBACK(src, PROC_REF(check_menu), clicker), tooltips = TRUE) + if(!choice || !check_menu(clicker)) + return + set_command_mode(clicker, choice) + +/datum/ai_controller/dog/proc/check_menu(mob/user) + if(!istype(user)) + CRASH("A non-mob is trying to issue an order to [pawn].") + if(user.incapacitated() || !can_see(user, pawn)) + return FALSE + return TRUE + +/// One of our friends said something, see if it's a valid command, and if so, take action +/datum/ai_controller/dog/proc/check_verbal_command(mob/speaker, speech_args) + SIGNAL_HANDLER + + if(!blackboard[BB_DOG_FRIENDS][speaker]) + return + + if(!COOLDOWN_FINISHED(src, command_cooldown)) + return + + var/spoken_text = speech_args[SPEECH_MESSAGE] // probably should check for full words + var/command + if(findtext(spoken_text, "heel") || findtext(spoken_text, "sit") || findtext(spoken_text, "stay")) + command = COMMAND_HEEL + else if(findtext(spoken_text, "fetch") || findtext(spoken_text, "get it")) + command = COMMAND_FETCH + else if(findtext(spoken_text, "attack") || findtext(spoken_text, "sic")) + command = COMMAND_ATTACK + else if(findtext(spoken_text, "play dead")) + command = COMMAND_DIE + else + return + + if(!can_see(pawn, speaker, length=AI_DOG_VISION_RANGE)) + return + set_command_mode(speaker, command) + +/// Whether we got here via radial menu or a verbal command, this is where we actually process what our new command will be +/datum/ai_controller/dog/proc/set_command_mode(mob/commander, command) + COOLDOWN_START(src, command_cooldown, AI_DOG_COMMAND_COOLDOWN) + + switch(command) + // heel: stop what you're doing, relax and try not to do anything for a little bit + if(COMMAND_HEEL) + pawn.visible_message("[pawn]'s ears prick up at [commander]'s command, and [pawn.p_they()] sit[pawn.p_s()] down obediently, awaiting further orders.") + blackboard[BB_DOG_ORDER_MODE] = DOG_COMMAND_NONE + COOLDOWN_START(src, heel_cooldown, AI_DOG_HEEL_DURATION) + CancelActions() + // fetch: whatever the commander points to, try and bring it back + if(COMMAND_FETCH) + pawn.visible_message("[pawn]'s ears prick up at [commander]'s command, and [pawn.p_they()] bounce[pawn.p_s()] slightly in anticipation.") + blackboard[BB_DOG_ORDER_MODE] = DOG_COMMAND_FETCH + // attack: harass whoever the commander points to + if(COMMAND_ATTACK) + pawn.visible_message("[pawn]'s ears prick up at [commander]'s command, and [pawn.p_they()] growl[pawn.p_s()] intensely.") // imagine getting intimidated by a corgi + blackboard[BB_DOG_ORDER_MODE] = DOG_COMMAND_ATTACK + if(COMMAND_DIE) + blackboard[BB_DOG_ORDER_MODE] = DOG_COMMAND_NONE + CancelActions() + LAZYADD(current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/play_dead)) + +/// Someone we like is pointing at something, see if it's something we might want to interact with (like if they might want us to fetch something for them) +/datum/ai_controller/dog/proc/check_point(mob/pointing_friend, atom/movable/pointed_movable) + SIGNAL_HANDLER + + if(!COOLDOWN_FINISHED(src, command_cooldown)) + return + if(pointed_movable == pawn || blackboard[BB_FETCH_TARGET] || !istype(pointed_movable) || blackboard[BB_DOG_ORDER_MODE] == DOG_COMMAND_NONE) // busy or no command + return + if(!can_see(pawn, pointing_friend, length=AI_DOG_VISION_RANGE) || !can_see(pawn, pointed_movable, length=AI_DOG_VISION_RANGE)) + return + + COOLDOWN_START(src, command_cooldown, AI_DOG_COMMAND_COOLDOWN) + + switch(blackboard[BB_DOG_ORDER_MODE]) + if(DOG_COMMAND_FETCH) + if(ismob(pointed_movable) || pointed_movable.anchored) + return + pawn.visible_message("[pawn] follows [pointing_friend]'s gesture towards [pointed_movable] and barks excitedly!") + current_movement_target = pointed_movable + blackboard[BB_FETCH_TARGET] = pointed_movable + blackboard[BB_FETCH_DELIVER_TO] = pointing_friend + current_behaviors += GET_AI_BEHAVIOR(/datum/ai_behavior/fetch) + if(DOG_COMMAND_ATTACK) + pawn.visible_message("[pawn] follows [pointing_friend]'s gesture towards [pointed_movable] and growls intensely!") + current_movement_target = pointed_movable + blackboard[BB_DOG_HARASS_TARGET] = pointed_movable + current_behaviors += GET_AI_BEHAVIOR(/datum/ai_behavior/harass) diff --git a/code/datums/ai/dog/dog_subtrees.dm b/code/datums/ai/dog/dog_subtrees.dm new file mode 100644 index 000000000000..1eab7b87251b --- /dev/null +++ b/code/datums/ai/dog/dog_subtrees.dm @@ -0,0 +1,40 @@ +/datum/ai_planning_subtree/dog + COOLDOWN_DECLARE(heel_cooldown) + COOLDOWN_DECLARE(reset_ignore_cooldown) + +/datum/ai_planning_subtree/dog/SelectBehaviors(datum/ai_controller/dog/controller, delta_time) + var/mob/living/living_pawn = controller.pawn + + // occasionally reset our ignore list + if(COOLDOWN_FINISHED(src, reset_ignore_cooldown) && length(controller.blackboard[BB_FETCH_IGNORE_LIST])) + COOLDOWN_START(src, reset_ignore_cooldown, AI_FETCH_IGNORE_DURATION) + controller.blackboard[BB_FETCH_IGNORE_LIST] = list() + + // if we were just ordered to heel, chill out for a bit + if(!COOLDOWN_FINISHED(src, heel_cooldown)) + return + + // if we're not already carrying something and we have a fetch target (and we're not already doing something with it), see if we can eat/equip it + if(!controller.blackboard[BB_SIMPLE_CARRY_ITEM] && controller.blackboard[BB_FETCH_TARGET]) + var/atom/movable/interact_target = controller.blackboard[BB_FETCH_TARGET] + if(in_range(living_pawn, interact_target) && (isturf(interact_target.loc))) + controller.current_movement_target = interact_target + if(IS_EDIBLE(interact_target)) + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/eat_snack)) + else if(isitem(interact_target)) + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/simple_equip)) + else + controller.blackboard[BB_FETCH_TARGET] = null + controller.blackboard[BB_FETCH_DELIVER_TO] = null + return + + // if we're carrying something and we have a destination to deliver it, do that + if(controller.blackboard[BB_SIMPLE_CARRY_ITEM] && controller.blackboard[BB_FETCH_DELIVER_TO]) + var/atom/return_target = controller.blackboard[BB_FETCH_DELIVER_TO] + if(!can_see(controller.pawn, return_target, length=AI_DOG_VISION_RANGE)) + // if the return target isn't in sight, we'll just forget about it and carry the thing around + controller.blackboard[BB_FETCH_DELIVER_TO] = null + return + controller.current_movement_target = return_target + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/deliver_item)) + return diff --git a/code/datums/ai/generic_actions.dm b/code/datums/ai/generic_actions.dm new file mode 100644 index 000000000000..fdcc978857fd --- /dev/null +++ b/code/datums/ai/generic_actions.dm @@ -0,0 +1,111 @@ + +/datum/ai_behavior/resist/perform(delta_time, datum/ai_controller/controller) + . = ..() + var/mob/living/living_pawn = controller.pawn + living_pawn.resist() + finish_action(controller, TRUE) + +/datum/ai_behavior/battle_screech + ///List of possible screeches the behavior has + var/list/screeches + +/datum/ai_behavior/battle_screech/perform(delta_time, datum/ai_controller/controller) + var/mob/living/living_pawn = controller.pawn + INVOKE_ASYNC(living_pawn, TYPE_PROC_REF(/mob, emote), pick(screeches)) + finish_action(controller, TRUE) + +/// Use in hand the currently held item +/datum/ai_behavior/use_in_hand + behavior_flags = AI_BEHAVIOR_MOVE_AND_PERFORM + +/datum/ai_behavior/use_in_hand/perform(delta_time, datum/ai_controller/controller) + . = ..() + var/mob/living/pawn = controller.pawn + var/obj/item/held = pawn.get_item_by_slot(pawn.get_active_hand()) + if(!held) + finish_action(controller, FALSE) + return + pawn.activate_hand(pawn.get_active_hand()) + finish_action(controller, TRUE) + +/// Use the currently held item, or unarmed, on an object in the world +/datum/ai_behavior/use_on_object + required_distance = 1 + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT + +/datum/ai_behavior/use_on_object/perform(delta_time, datum/ai_controller/controller) + . = ..() + var/mob/living/pawn = controller.pawn + var/obj/item/held_item = pawn.get_item_by_slot(pawn.get_active_hand()) + var/atom/target = controller.current_movement_target + + if(!target || !pawn.CanReach(target)) + finish_action(controller, FALSE) + return + + pawn.a_intent = INTENT_HELP + + if(held_item) + held_item.melee_attack_chain(pawn, target) + else + pawn.UnarmedAttack(target, TRUE) + + finish_action(controller, TRUE) + +/datum/ai_behavior/give + required_distance = 1 + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT + +/datum/ai_behavior/give/perform(delta_time, datum/ai_controller/controller) + . = ..() + var/mob/living/pawn = controller.pawn + var/obj/item/held_item = pawn.get_item_by_slot(pawn.get_active_hand()) + var/atom/target = controller.current_movement_target + + if(!target || !pawn.CanReach(target) || !isliving(target)) + finish_action(controller, FALSE) + return + + var/mob/living/living_target = target + controller.PauseAi(1.5 SECONDS) + living_target.visible_message( + "[pawn] starts trying to give [held_item] to [living_target]!", + "[pawn] tries to give you [held_item]!" + ) + if(!do_after(pawn, 1 SECONDS, living_target)) + return + if(QDELETED(held_item) || QDELETED(living_target)) + finish_action(controller, FALSE) + return + var/pocket_choice = prob(50) ? ITEM_SLOT_RPOCKET : ITEM_SLOT_LPOCKET + if(prob(50) && living_target.can_put_in_hand(held_item)) + living_target.put_in_hand(held_item) + else if(held_item.mob_can_equip(living_target, pawn, pocket_choice, TRUE)) + living_target.equip_to_slot(held_item, pocket_choice) + + finish_action(controller, TRUE) + +/datum/ai_behavior/consume + required_distance = 1 + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT + action_cooldown = 2 SECONDS + +/datum/ai_behavior/consume/setup(datum/ai_controller/controller, obj/item/target) + . = ..() + controller.current_movement_target = target + +/datum/ai_behavior/consume/perform(delta_time, datum/ai_controller/controller, obj/item/target) + . = ..() + var/mob/living/pawn = controller.pawn + + if(!(target in pawn.held_items)) + if(!pawn.put_in_hand_check(target)) + finish_action(controller, FALSE) + return + + pawn.put_in_hands(target) + + target.melee_attack_chain(pawn, pawn) + + if(QDELETED(target) || prob(10)) // Even if we don't finish it all we can randomly decide to be done + finish_action(controller, TRUE) diff --git a/code/datums/ai/monkey/monkey_behaviors.dm b/code/datums/ai/monkey/monkey_behaviors.dm new file mode 100644 index 000000000000..822dae22eb23 --- /dev/null +++ b/code/datums/ai/monkey/monkey_behaviors.dm @@ -0,0 +1,279 @@ +/datum/ai_behavior/battle_screech/monkey + screeches = list("roar","screech") + +/datum/ai_behavior/monkey_equip + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT + +/datum/ai_behavior/monkey_equip/finish_action(datum/ai_controller/controller, success) + . = ..() + + if(!success) //Don't try again on this item if we failed + var/list/item_blacklist = controller.blackboard[BB_MONKEY_BLACKLISTITEMS] + var/obj/item/target = controller.blackboard[BB_MONKEY_PICKUPTARGET] + + item_blacklist[target] = TRUE + + controller.blackboard[BB_MONKEY_PICKUPTARGET] = null + +/datum/ai_behavior/monkey_equip/proc/equip_item(datum/ai_controller/controller) + var/mob/living/living_pawn = controller.pawn + + var/obj/item/target = controller.blackboard[BB_MONKEY_PICKUPTARGET] + var/best_force = controller.blackboard[BB_MONKEY_BEST_FORCE_FOUND] + + if(!target) + finish_action(controller, FALSE) + return + + if(target.anchored) //Can't pick it up, so stop trying. + finish_action(controller, FALSE) + return + + // Strong weapon + else if(target.force > best_force) + living_pawn.drop_all_held_items() + living_pawn.put_in_hands(target) + controller.blackboard[BB_MONKEY_BEST_FORCE_FOUND] = target.force + finish_action(controller, TRUE) + return + + else if(target.slot_flags) //Clothing == top priority + living_pawn.dropItemToGround(target, TRUE) + living_pawn.update_icons() + if(!living_pawn.equip_to_appropriate_slot(target)) + finish_action(controller, FALSE) + return //Already wearing something, in the future this should probably replace the current item but the code didn't actually do that, and I dont want to support it right now. + finish_action(controller, TRUE) + return + + // EVERYTHING ELSE + else if(living_pawn.get_empty_held_index_for_side(LEFT_HANDS) || living_pawn.get_empty_held_index_for_side(RIGHT_HANDS)) + living_pawn.put_in_hands(target) + finish_action(controller, TRUE) + return + + finish_action(controller, FALSE) + +/datum/ai_behavior/monkey_equip/ground + required_distance = 0 + +/datum/ai_behavior/monkey_equip/ground/perform(delta_time, datum/ai_controller/controller) + equip_item(controller) + +/datum/ai_behavior/monkey_equip/pickpocket + +/datum/ai_behavior/monkey_equip/pickpocket/perform(delta_time, datum/ai_controller/controller) + + if(controller.blackboard[BB_MONKEY_PICKPOCKETING]) //We are pickpocketing, don't do ANYTHING!!!! + return + INVOKE_ASYNC(src, PROC_REF(attempt_pickpocket), controller) + +/datum/ai_behavior/monkey_equip/pickpocket/proc/attempt_pickpocket(datum/ai_controller/controller) + var/obj/item/target = controller.blackboard[BB_MONKEY_PICKUPTARGET] + + var/mob/living/victim = target.loc + + var/mob/living/living_pawn = controller.pawn + + victim.visible_message("[living_pawn] starts trying to take [target] from [victim]!", "[living_pawn] tries to take [target]!") + + controller.blackboard[BB_MONKEY_PICKPOCKETING] = TRUE + + var/success = FALSE + + if(do_after(living_pawn, MONKEY_ITEM_SNATCH_DELAY, victim) && target) + + for(var/obj/item/I in victim.held_items) + if(I == target) + victim.visible_message("[living_pawn] snatches [target] from [victim].", "[living_pawn] snatched [target]!") + if(victim.temporarilyRemoveItemFromInventory(target)) + if(!QDELETED(target) && !equip_item(controller)) + target.forceMove(living_pawn.drop_location()) + success = TRUE + break + else + victim.visible_message("[living_pawn] tried to snatch [target] from [victim], but failed!", "[living_pawn] tried to grab [target]!") + + finish_action(controller, success) //We either fucked up or got the item. + +/datum/ai_behavior/monkey_equip/pickpocket/finish_action(datum/ai_controller/controller, success) + . = ..() + controller.blackboard[BB_MONKEY_PICKPOCKETING] = FALSE + controller.blackboard[BB_MONKEY_PICKUPTARGET] = null + +/datum/ai_behavior/monkey_flee + +/datum/ai_behavior/monkey_flee/perform(delta_time, datum/ai_controller/controller) + . = ..() + + var/mob/living/living_pawn = controller.pawn + + if(living_pawn.health >= MONKEY_FLEE_HEALTH) + finish_action(controller, TRUE) //we're back in bussiness + + var/mob/living/target = null + + // flee from anyone who attacked us and we didn't beat down + for(var/mob/living/L in view(living_pawn, MONKEY_FLEE_VISION)) + if(controller.blackboard[BB_MONKEY_ENEMIES][L] && L.stat == CONSCIOUS) + target = L + break + + if(target) + walk_away(living_pawn, target, MONKEY_ENEMY_VISION, 5) + else + finish_action(controller, TRUE) + +/datum/ai_behavior/monkey_attack_mob + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_MOVE_AND_PERFORM //performs to increase frustration + +/datum/ai_behavior/monkey_attack_mob/perform(delta_time, datum/ai_controller/controller) + . = ..() + + var/mob/living/target = controller.blackboard[BB_MONKEY_CURRENT_ATTACK_TARGET] + var/mob/living/living_pawn = controller.pawn + + if(!target || target.stat != CONSCIOUS) + finish_action(controller, TRUE) //Target == owned + + if(isturf(target.loc) && !IS_DEAD_OR_INCAP(living_pawn)) // Check if they're a valid target + // check if target has a weapon + var/obj/item/W + for(var/obj/item/I in target.held_items) + if(!(I.item_flags & ABSTRACT)) + W = I + break + + // if the target has a weapon, chance to disarm them + if(W && DT_PROB(MONKEY_ATTACK_DISARM_PROB, delta_time)) + living_pawn.a_intent = INTENT_DISARM + monkey_attack(controller, target, delta_time) + else + living_pawn.a_intent = INTENT_HARM + monkey_attack(controller, target, delta_time) + + +/datum/ai_behavior/monkey_attack_mob/finish_action(datum/ai_controller/controller, succeeded) + . = ..() + controller.blackboard[BB_MONKEY_CURRENT_ATTACK_TARGET] = null + +/// attack using a held weapon otherwise bite the enemy, then if we are angry there is a chance we might calm down a little +/datum/ai_behavior/monkey_attack_mob/proc/monkey_attack(datum/ai_controller/controller, mob/living/target, delta_time) + var/mob/living/living_pawn = controller.pawn + + if(living_pawn.next_move > world.time) + return + + living_pawn.changeNext_move(CLICK_CD_MELEE) //We play fair + + var/obj/item/weapon = locate(/obj/item) in living_pawn.held_items + + living_pawn.face_atom(target) + + if(isnull(controller.blackboard[BB_MONKEY_GUN_WORKED])) + controller.blackboard[BB_MONKEY_GUN_WORKED] = TRUE + + living_pawn.a_intent = INTENT_HARM + if(living_pawn.CanReach(target, weapon)) + if(weapon) + weapon.melee_attack_chain(living_pawn, target) + else + target.attack_paw(living_pawn) + controller.blackboard[BB_MONKEY_GUN_WORKED] = TRUE // We reset their memory of the gun being 'broken' if they accomplish some other attack + else if(weapon) + var/atom/real_target = target + if(prob(10)) // Artificial miss + real_target = pick(oview(2, target)) + + var/obj/item/gun/gun = locate() in living_pawn.held_items + var/can_shoot = gun?.can_shoot() || FALSE + if(gun && controller.blackboard[BB_MONKEY_GUN_WORKED] && prob(95)) + // We attempt to attack even if we can't shoot so we get the effects of pulling the trigger + gun.afterattack(real_target, living_pawn, FALSE) + controller.blackboard[BB_MONKEY_GUN_WORKED] = can_shoot ? TRUE : prob(80) // Only 20% likely to notice it didn't work + if(can_shoot) + controller.blackboard[BB_MONKEY_GUN_NEURONS_ACTIVATED] = TRUE + else + living_pawn.throw_item(real_target) + controller.blackboard[BB_MONKEY_GUN_WORKED] = TRUE // 'worked' + + + + // no de-aggro + if(controller.blackboard[BB_MONKEY_AGRESSIVE]) + return + + if(DT_PROB(MONKEY_HATRED_REDUCTION_PROB, delta_time)) + controller.blackboard[BB_MONKEY_ENEMIES][target]-- + + // if we are not angry at our target, go back to idle + if(controller.blackboard[BB_MONKEY_ENEMIES][target] <= 0) + var/list/enemies = controller.blackboard[BB_MONKEY_ENEMIES] + enemies.Remove(target) + if(controller.blackboard[BB_MONKEY_CURRENT_ATTACK_TARGET] == target) + finish_action(controller, TRUE) + +/datum/ai_behavior/disposal_mob + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_MOVE_AND_PERFORM //performs to increase frustration + +/datum/ai_behavior/disposal_mob/finish_action(datum/ai_controller/controller, succeeded) + . = ..() + controller.blackboard[BB_MONKEY_CURRENT_ATTACK_TARGET] = null //Reset attack target + controller.blackboard[BB_MONKEY_DISPOSING] = FALSE //No longer disposing + controller.blackboard[BB_MONKEY_TARGET_DISPOSAL] = null //No target disposal + +/datum/ai_behavior/disposal_mob/perform(delta_time, datum/ai_controller/controller) + . = ..() + + if(controller.blackboard[BB_MONKEY_DISPOSING]) //We are disposing, don't do ANYTHING!!!! + return + + var/mob/living/target = controller.blackboard[BB_MONKEY_CURRENT_ATTACK_TARGET] + var/mob/living/living_pawn = controller.pawn + + controller.current_movement_target = target + + if(target.pulledby != living_pawn && !HAS_AI_CONTROLLER_TYPE(target.pulledby, /datum/ai_controller/monkey)) //Dont steal from my fellow monkeys. + if(living_pawn.Adjacent(target) && isturf(target.loc)) + living_pawn.a_intent = INTENT_GRAB + target.grabbedby(living_pawn) + return //Do the rest next turn + + var/obj/machinery/disposal/disposal = controller.blackboard[BB_MONKEY_TARGET_DISPOSAL] + controller.current_movement_target = disposal + + if(living_pawn.Adjacent(disposal)) + INVOKE_ASYNC(src, PROC_REF(try_disposal_mob), controller) //put him in! + else //This means we might be getting pissed! + return + +/datum/ai_behavior/disposal_mob/proc/try_disposal_mob(datum/ai_controller/controller) + var/mob/living/living_pawn = controller.pawn + var/mob/living/target = controller.blackboard[BB_MONKEY_CURRENT_ATTACK_TARGET] + var/obj/machinery/disposal/disposal = controller.blackboard[BB_MONKEY_TARGET_DISPOSAL] + + controller.blackboard[BB_MONKEY_DISPOSING] = TRUE + + if(target && disposal?.stuff_mob_in(target, living_pawn)) + disposal.flush() + finish_action(controller, TRUE) + + +/datum/ai_behavior/recruit_monkeys/perform(delta_time, datum/ai_controller/controller) + . = ..() + + controller.blackboard[BB_MONKEY_RECRUIT_COOLDOWN] = world.time + MONKEY_RECRUIT_COOLDOWN + var/mob/living/living_pawn = controller.pawn + + for(var/mob/living/L in view(living_pawn, MONKEY_ENEMY_VISION)) + if(!HAS_AI_CONTROLLER_TYPE(L, /datum/ai_controller/monkey)) + continue + + if(!DT_PROB(MONKEY_RECRUIT_PROB, delta_time)) + continue + var/datum/ai_controller/monkey/monkey_ai = L.ai_controller + var/atom/your_enemy = controller.blackboard[BB_MONKEY_CURRENT_ATTACK_TARGET] + var/list/enemies = L.ai_controller.blackboard[BB_MONKEY_ENEMIES] + enemies[your_enemy] = MONKEY_RECRUIT_HATED_AMOUNT + monkey_ai.blackboard[BB_MONKEY_RECRUIT_COOLDOWN] = world.time + MONKEY_RECRUIT_COOLDOWN + finish_action(controller, TRUE) diff --git a/code/datums/ai/monkey/monkey_controller.dm b/code/datums/ai/monkey/monkey_controller.dm new file mode 100644 index 000000000000..4cb8605d185f --- /dev/null +++ b/code/datums/ai/monkey/monkey_controller.dm @@ -0,0 +1,255 @@ +/* +AI controllers are a datumized form of AI that simulates the input a player would otherwise give to a mob. What this means is that these datums +have ways of interacting with a specific mob and control it. +*/ +///OOK OOK OOK + +/datum/ai_controller/monkey + movement_delay = 0.4 SECONDS + planning_subtrees = list(/datum/ai_planning_subtree/monkey_tree) + blackboard = list( + BB_MONKEY_AGRESSIVE = FALSE, + BB_MONKEY_BEST_FORCE_FOUND = 0, + BB_MONKEY_ENEMIES = list(), + BB_MONKEY_BLACKLISTITEMS = list(), + BB_MONKEY_PICKUPTARGET = null, + BB_MONKEY_PICKPOCKETING = FALSE, + BB_MONKEY_DISPOSING = FALSE, + BB_MONKEY_TARGET_DISPOSAL = null, + BB_MONKEY_CURRENT_ATTACK_TARGET = null, + BB_MONKEY_GUN_NEURONS_ACTIVATED = FALSE, + BB_MONKEY_GUN_WORKED = TRUE, + BB_MONKEY_NEXT_HUNGRY = 0 + ) +/datum/ai_controller/monkey/angry + +/datum/ai_controller/monkey/angry/TryPossessPawn(atom/new_pawn) + . = ..() + if(. & AI_CONTROLLER_INCOMPATIBLE) + return + blackboard[BB_MONKEY_AGRESSIVE] = TRUE //Angry cunt + +/datum/ai_controller/monkey/TryPossessPawn(atom/new_pawn) + if(!isliving(new_pawn)) + return AI_CONTROLLER_INCOMPATIBLE + + blackboard[BB_MONKEY_NEXT_HUNGRY] = world.time + rand(0, 300) + + var/mob/living/living_pawn = new_pawn + RegisterSignal(new_pawn, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby)) + RegisterSignal(new_pawn, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand)) + RegisterSignal(new_pawn, COMSIG_ATOM_ATTACK_PAW, PROC_REF(on_attack_paw)) + RegisterSignal(new_pawn, COMSIG_ATOM_BULLET_ACT, PROC_REF(on_bullet_act)) + RegisterSignal(new_pawn, COMSIG_ATOM_HITBY, PROC_REF(on_hitby)) + RegisterSignal(new_pawn, COMSIG_LIVING_START_PULL, PROC_REF(on_startpulling)) + RegisterSignal(new_pawn, COMSIG_LIVING_TRY_SYRINGE, PROC_REF(on_try_syringe)) + RegisterSignal(new_pawn, COMSIG_ATOM_HULK_ATTACK, PROC_REF(on_attack_hulk)) + RegisterSignal(new_pawn, COMSIG_CARBON_CUFF_ATTEMPTED, PROC_REF(on_attempt_cuff)) + RegisterSignal(new_pawn, COMSIG_MOB_MOVESPEED_UPDATED, PROC_REF(update_movespeed)) + RegisterSignal(new_pawn, COMSIG_FOOD_EATEN, PROC_REF(on_eat)) + movement_delay = living_pawn.cached_multiplicative_slowdown + return ..() //Run parent at end + +/datum/ai_controller/monkey/UnpossessPawn(destroy) + UnregisterSignal(pawn, list(COMSIG_PARENT_ATTACKBY, COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_ATTACK_PAW, COMSIG_ATOM_BULLET_ACT, COMSIG_ATOM_HITBY, COMSIG_LIVING_START_PULL,\ + COMSIG_LIVING_TRY_SYRINGE, COMSIG_ATOM_HULK_ATTACK, COMSIG_CARBON_CUFF_ATTEMPTED, COMSIG_MOB_MOVESPEED_UPDATED)) + return ..() //Run parent at end + +/datum/ai_controller/monkey/able_to_run() + . = ..() + var/mob/living/living_pawn = pawn + + if(IS_DEAD_OR_INCAP(living_pawn)) + return FALSE + +///re-used behavior pattern by monkeys for finding a weapon +/datum/ai_controller/monkey/proc/TryFindWeapon() + var/mob/living/living_pawn = pawn + + if(!locate(/obj/item) in living_pawn.held_items) + blackboard[BB_MONKEY_BEST_FORCE_FOUND] = 0 + + if(blackboard[BB_MONKEY_GUN_NEURONS_ACTIVATED] && (locate(/obj/item/gun) in living_pawn.held_items)) + // We have a gun, what could we possibly want? + return FALSE + + var/obj/item/weapon + var/list/nearby_items = list() + for(var/obj/item/item in oview(2, living_pawn)) + nearby_items += item + + weapon = GetBestWeapon(nearby_items, living_pawn.held_items) + + var/pickpocket = FALSE + for(var/mob/living/carbon/human/human in oview(5, living_pawn)) + var/obj/item/held_weapon = GetBestWeapon(human.held_items + weapon, living_pawn.held_items) + if(held_weapon == weapon) // It's just the same one, not a held one + continue + pickpocket = TRUE + weapon = held_weapon + + if(!weapon || (weapon in living_pawn.held_items)) + return FALSE + + blackboard[BB_MONKEY_PICKUPTARGET] = weapon + current_movement_target = weapon + if(pickpocket) + LAZYADD(current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/monkey_equip/pickpocket)) + else + LAZYADD(current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/monkey_equip/ground)) + return TRUE + +/// Returns either the best weapon from the given choices or null if held weapons are better +/datum/ai_controller/monkey/proc/GetBestWeapon(list/choices, list/held_weapons) + var/gun_neurons_activated = blackboard[BB_MONKEY_GUN_NEURONS_ACTIVATED] + var/top_force = 0 + var/obj/item/top_force_item + for(var/obj/item/item as anything in held_weapons) + if(!item) + continue + if(blackboard[BB_MONKEY_BLACKLISTITEMS][item]) + continue + if(gun_neurons_activated && istype(item, /obj/item/gun)) + // We have a gun, why bother looking for something inferior + // Also yes it is intentional that monkeys dont know how to pick the best gun + return item + if(item.force > top_force) + top_force = item.force + top_force_item = item + + for(var/obj/item/item as anything in choices) + if(!item) + continue + if(blackboard[BB_MONKEY_BLACKLISTITEMS][item]) + continue + if(gun_neurons_activated && istype(item, /obj/item/gun)) + return item + if(item.force <= top_force) + continue + top_force_item = item + top_force = item.force + + return top_force_item + +/datum/ai_controller/monkey/proc/TryFindFood() + . = FALSE + var/mob/living/living_pawn = pawn + + // Held items + + var/list/food_candidates = list() + for(var/obj/item as anything in living_pawn.held_items) + if(!item || !IsEdible(item)) + continue + food_candidates += item + + for(var/obj/item/candidate in oview(2, living_pawn)) + if(!IsEdible(candidate)) + continue + food_candidates += candidate + + if(length(food_candidates)) + var/obj/item/best_held = GetBestWeapon(null, living_pawn.held_items) + for(var/obj/item/held as anything in living_pawn.held_items) + if(!held || held == best_held) + continue + living_pawn.dropItemToGround(held) + + AddBehavior(/datum/ai_behavior/consume, pick(food_candidates)) + return TRUE + +/datum/ai_controller/monkey/proc/IsEdible(obj/item/thing) + if(IS_EDIBLE(thing)) + return TRUE + if(istype(thing, /obj/item/reagent_containers/food/drinks/drinkingglass)) + var/obj/item/reagent_containers/food/drinks/drinkingglass/glass = thing + if(glass.reagents.total_volume) // The glass has something in it, time to drink the mystery liquid! + return TRUE + return FALSE + +//When idle just kinda fuck around. +/datum/ai_controller/monkey/PerformIdleBehavior(delta_time) + var/mob/living/living_pawn = pawn + + if(DT_PROB(25, delta_time) && (living_pawn.mobility_flags & MOBILITY_MOVE) && isturf(living_pawn.loc) && !living_pawn.pulledby) + step(living_pawn, pick(GLOB.cardinals)) + else if(DT_PROB(5, delta_time)) + INVOKE_ASYNC(living_pawn, TYPE_PROC_REF(/mob, emote), pick("screech")) + else if(DT_PROB(1, delta_time)) + INVOKE_ASYNC(living_pawn, TYPE_PROC_REF(/mob, emote), pick("scratch","jump","roll","tail")) + +///Reactive events to being hit +/datum/ai_controller/monkey/proc/retaliate(mob/living/L) + var/list/enemies = blackboard[BB_MONKEY_ENEMIES] + enemies[L] += MONKEY_HATRED_AMOUNT + +/datum/ai_controller/monkey/proc/on_attackby(datum/source, obj/item/I, mob/user) + SIGNAL_HANDLER + if(I.force && I.damtype != STAMINA) + retaliate(user) + +/datum/ai_controller/monkey/proc/on_attack_hand(datum/source, mob/living/L) + SIGNAL_HANDLER + if(L.a_intent == INTENT_HARM && prob(MONKEY_RETALIATE_HARM_PROB)) + retaliate(L) + else if(L.a_intent == INTENT_DISARM && prob(MONKEY_RETALIATE_DISARM_PROB)) + retaliate(L) + +/datum/ai_controller/monkey/proc/on_attack_paw(datum/source, mob/living/L) + SIGNAL_HANDLER + if(L.a_intent == INTENT_HARM && prob(MONKEY_RETALIATE_HARM_PROB)) + retaliate(L) + else if(L.a_intent == INTENT_DISARM && prob(MONKEY_RETALIATE_DISARM_PROB)) + retaliate(L) + +/datum/ai_controller/monkey/proc/on_bullet_act(datum/source, obj/projectile/Proj) + SIGNAL_HANDLER + var/mob/living/living_pawn = pawn + if(istype(Proj , /obj/projectile/beam)||istype(Proj, /obj/projectile/bullet)) + if((Proj.damage_type == BURN) || (Proj.damage_type == BRUTE)) + if(!Proj.nodamage && Proj.damage < living_pawn.health && isliving(Proj.firer)) + retaliate(Proj.firer) + +/datum/ai_controller/monkey/proc/on_hitby(datum/source, atom/movable/AM, skipcatch = FALSE, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum) + SIGNAL_HANDLER + if(istype(AM, /obj/item)) + var/mob/living/living_pawn = pawn + var/obj/item/I = AM + if(I.throwforce < living_pawn.health && ishuman(I.thrownby)) + var/mob/living/carbon/human/H = I.thrownby + retaliate(H) + +/datum/ai_controller/monkey/proc/on_startpulling(datum/source, atom/movable/puller, state, force) + SIGNAL_HANDLER + var/mob/living/living_pawn = pawn + if(!IS_DEAD_OR_INCAP(living_pawn) && prob(MONKEY_PULL_AGGRO_PROB)) // nuh uh you don't pull me! + retaliate(living_pawn.pulledby) + return TRUE + +/datum/ai_controller/monkey/proc/on_try_syringe(datum/source, mob/user) + SIGNAL_HANDLER + // chance of monkey retaliation + if(prob(MONKEY_SYRINGE_RETALIATION_PROB)) + retaliate(user) + +/datum/ai_controller/monkey/proc/on_attack_hulk(datum/source, mob/user) + SIGNAL_HANDLER + retaliate(user) + +/datum/ai_controller/monkey/proc/on_attempt_cuff(datum/source, mob/user) + SIGNAL_HANDLER + // chance of monkey retaliation + if(prob(MONKEY_CUFF_RETALIATION_PROB)) + retaliate(user) + +/datum/ai_controller/monkey/proc/update_movespeed(mob/living/pawn) + SIGNAL_HANDLER + movement_delay = pawn.cached_multiplicative_slowdown + +/datum/ai_controller/monkey/proc/target_del(target) + SIGNAL_HANDLER + blackboard[BB_MONKEY_BLACKLISTITEMS] -= target + +/datum/ai_controller/monkey/proc/on_eat(mob/living/pawn) + SIGNAL_HANDLER + blackboard[BB_MONKEY_NEXT_HUNGRY] = world.time + rand(120, 600) SECONDS diff --git a/code/datums/ai/monkey/monkey_subtrees.dm b/code/datums/ai/monkey/monkey_subtrees.dm new file mode 100644 index 000000000000..4e7317de5a56 --- /dev/null +++ b/code/datums/ai/monkey/monkey_subtrees.dm @@ -0,0 +1,84 @@ +/datum/ai_planning_subtree/monkey_tree/SelectBehaviors(datum/ai_controller/monkey/controller, delta_time) + var/mob/living/living_pawn = controller.pawn + + if(SHOULD_RESIST(living_pawn) && DT_PROB(MONKEY_RESIST_PROB, delta_time)) + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/resist)) //BRO IM ON FUCKING FIRE BRO + return SUBTREE_RETURN_FINISH_PLANNING //IM NOT DOING ANYTHING ELSE BUT EXTUINGISH MYSELF, GOOD GOD HAVE MERCY. + + var/list/enemies = controller.blackboard[BB_MONKEY_ENEMIES] + + if(HAS_TRAIT(controller.pawn, TRAIT_PACIFISM)) //Not a pacifist? lets try some combat behavior. + return + + var/mob/living/selected_enemy + if(length(enemies) || controller.blackboard[BB_MONKEY_AGRESSIVE]) //We have enemies or are pissed + var/list/valids = list() + for(var/mob/living/possible_enemy in view(MONKEY_ENEMY_VISION, living_pawn)) + if(possible_enemy == living_pawn || (!enemies[possible_enemy] && (!controller.blackboard[BB_MONKEY_AGRESSIVE] || HAS_AI_CONTROLLER_TYPE(possible_enemy, /datum/ai_controller/monkey)))) //Are they an enemy? (And do we even care?) + continue + // Weighted list, so the closer they are the more likely they are to be chosen as the enemy + valids[possible_enemy] = CEILING(100 / (get_dist(living_pawn, possible_enemy) || 1), 1) + + selected_enemy = pick_weight(valids) + + if(selected_enemy) + if(!selected_enemy.stat) //He's up, get him! + if(living_pawn.health < MONKEY_FLEE_HEALTH) //Time to skeddadle + controller.blackboard[BB_MONKEY_CURRENT_ATTACK_TARGET] = selected_enemy + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/monkey_flee)) + return //I'm running fuck you guys + + if(controller.TryFindWeapon()) //Getting a weapon is higher priority if im not fleeing. + return SUBTREE_RETURN_FINISH_PLANNING + + controller.blackboard[BB_MONKEY_CURRENT_ATTACK_TARGET] = selected_enemy + controller.current_movement_target = selected_enemy + if(controller.blackboard[BB_MONKEY_RECRUIT_COOLDOWN] < world.time) + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/recruit_monkeys)) + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/battle_screech/monkey)) + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/monkey_attack_mob)) + return SUBTREE_RETURN_FINISH_PLANNING //Focus on this + + else //He's down, can we disposal him? + var/obj/machinery/disposal/bodyDisposal = locate(/obj/machinery/disposal/) in view(MONKEY_ENEMY_VISION, living_pawn) + if(bodyDisposal) + controller.blackboard[BB_MONKEY_CURRENT_ATTACK_TARGET] = selected_enemy + controller.blackboard[BB_MONKEY_TARGET_DISPOSAL] = bodyDisposal + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/disposal_mob)) + return SUBTREE_RETURN_FINISH_PLANNING + + if(prob(5)) + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/use_in_hand)) + + if(selected_enemy || !DT_PROB(MONKEY_SHENANIGAN_PROB, delta_time)) + return + + if(world.time >= controller.blackboard[BB_MONKEY_NEXT_HUNGRY] && controller.TryFindFood()) + return + + if(prob(50)) + var/list/possible_targets = list() + for(var/atom/thing in view(2, living_pawn)) + if(!thing.mouse_opacity) + continue + if(thing.IsObscured()) + continue + possible_targets += thing + var/atom/target = pick(possible_targets) + if(target) + controller.current_movement_target = target + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/use_on_object)) + return + + if(prob(5) && (locate(/obj/item) in living_pawn.held_items)) + var/list/possible_receivers = list() + for(var/mob/living/candidate in oview(2, controller.pawn)) + possible_receivers += candidate + + if(length(possible_receivers)) + var/mob/living/target = pick(possible_receivers) + controller.current_movement_target = target + LAZYADD(controller.current_behaviors, GET_AI_BEHAVIOR(/datum/ai_behavior/give)) + return + + controller.TryFindWeapon() diff --git a/code/datums/ai/movement/_ai_movement.dm b/code/datums/ai/movement/_ai_movement.dm new file mode 100644 index 000000000000..c9d47bc6d66b --- /dev/null +++ b/code/datums/ai/movement/_ai_movement.dm @@ -0,0 +1,19 @@ +///This datum is an abstract class that can be overriden for different types of movement +/datum/ai_movement + ///Assoc list ist of controllers that are currently moving as key, and what they are moving to as value + var/list/moving_controllers = list() + ///How many times a given controller can fail on their route before they just give up + var/max_pathing_attempts + +/datum/ai_movement/proc/start_moving_towards(datum/ai_controller/controller, atom/current_movement_target) + controller.pathing_attempts = 0 + if(!moving_controllers.len) + START_PROCESSING(SSai_movement, src) + moving_controllers[controller] = current_movement_target + +/datum/ai_movement/proc/stop_moving_towards(datum/ai_controller/controller) + controller.pathing_attempts = 0 + moving_controllers -= controller + + if(!moving_controllers.len) + STOP_PROCESSING(SSai_movement, src) diff --git a/code/datums/ai/movement/ai_movement_dumb.dm b/code/datums/ai/movement/ai_movement_dumb.dm new file mode 100644 index 000000000000..0ce64669d373 --- /dev/null +++ b/code/datums/ai/movement/ai_movement_dumb.dm @@ -0,0 +1,27 @@ +///The most braindead type of movement, bee-line to the target with no concern of whats infront of us. +/datum/ai_movement/dumb + max_pathing_attempts = 16 + +///Put your movement behavior in here! +/datum/ai_movement/dumb/process(delta_time) + for(var/datum/ai_controller/controller as anything in moving_controllers) + if(!COOLDOWN_FINISHED(controller, movement_cooldown)) + continue + COOLDOWN_START(controller, movement_cooldown, controller.movement_delay) + + var/atom/movable/movable_pawn = controller.pawn + + if(!isturf(movable_pawn.loc)) //No moving if not on a turf + continue + + var/current_loc = get_turf(movable_pawn) + + var/turf/target_turf = get_step_towards(movable_pawn, controller.current_movement_target) + + if(!is_type_in_typecache(target_turf, GLOB.dangerous_turfs)) + movable_pawn.Move(target_turf, get_dir(current_loc, target_turf)) + + if(current_loc == get_turf(movable_pawn)) //Did we even move after trying to move? + controller.pathing_attempts++ + if(controller.pathing_attempts >= max_pathing_attempts) + controller.CancelActions() diff --git a/code/datums/ai/movement/ai_movement_jps.dm b/code/datums/ai/movement/ai_movement_jps.dm new file mode 100644 index 000000000000..ea05b0fc899e --- /dev/null +++ b/code/datums/ai/movement/ai_movement_jps.dm @@ -0,0 +1,61 @@ +/** + * This movement datum represents smart-pathing + */ +/datum/ai_movement/jps + max_pathing_attempts = 4 + +///Put your movement behavior in here! +/datum/ai_movement/jps/process(delta_time) + for(var/datum/ai_controller/controller as anything in moving_controllers) + if(!COOLDOWN_FINISHED(controller, movement_cooldown)) + continue + COOLDOWN_START(controller, movement_cooldown, controller.movement_delay) + + var/atom/movable/movable_pawn = controller.pawn + if(!isturf(movable_pawn.loc)) //No moving if not on a turf + continue + + var/minimum_distance = controller.max_target_distance + // right now I'm just taking the shortest minimum distance of our current behaviors, at some point in the future + // we should let whatever sets the current_movement_target also set the min distance and max path length + // (or at least cache it on the controller) + if(LAZYLEN(controller.current_behaviors)) + for(var/datum/ai_behavior/iter_behavior as anything in controller.current_behaviors) + if(iter_behavior.required_distance < minimum_distance) + minimum_distance = iter_behavior.required_distance + + if(get_dist(movable_pawn, controller.current_movement_target) <= minimum_distance) + continue + + var/generate_path = FALSE // set to TRUE when we either have no path, or we failed a step + if(length(controller.movement_path)) + var/turf/next_step = controller.movement_path[1] + movable_pawn.Move(next_step) + + // this check if we're on exactly the next tile may be overly brittle for dense pawns who may get bumped slightly + // to the side while moving but could maybe still follow their path without needing a whole new path + if(get_turf(movable_pawn) == next_step) + controller.movement_path.Cut(1,2) + else + generate_path = TRUE + else + generate_path = TRUE + + if(generate_path) + if(!COOLDOWN_FINISHED(controller, repath_cooldown)) + continue + controller.pathing_attempts++ + if(controller.pathing_attempts >= max_pathing_attempts) + controller.CancelActions() + continue + + COOLDOWN_START(controller, repath_cooldown, 2 SECONDS) + controller.movement_path = get_path_to(movable_pawn, controller.current_movement_target, AI_MAX_PATH_LENGTH, minimum_distance, id=controller.get_access()) + +/datum/ai_movement/jps/start_moving_towards(datum/ai_controller/controller, atom/current_movement_target) + controller.movement_path = null + return ..() + +/datum/ai_movement/jps/stop_moving_towards(datum/ai_controller/controller) + controller.movement_path = null + return ..() diff --git a/code/datums/components/spinny.dm b/code/datums/components/spinny.dm new file mode 100644 index 000000000000..cdf5262ab31b --- /dev/null +++ b/code/datums/components/spinny.dm @@ -0,0 +1,33 @@ +/** + * spinny.dm + * + * It's a component that spins things a whole bunch, like [proc/dance_rotate] but without the sleeps +*/ +/datum/component/spinny + dupe_mode = COMPONENT_DUPE_UNIQUE + /// How many turns are left? + var/steps_left + /// Turns clockwise by default, or counterclockwise if the reverse argument is TRUE + var/turn_degrees = 90 + +/datum/component/spinny/Initialize(steps = 12, reverse = FALSE) + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + + steps_left = steps + turn_degrees = (reverse ? -90 : 90) + START_PROCESSING(SSfastprocess, src) + +/datum/component/spinny/Destroy(force, silent) + STOP_PROCESSING(SSfastprocess, src) + return ..() + +/datum/component/spinny/process(delta_time) + steps_left-- + var/atom/spinny_boy = parent + if(!istype(spinny_boy) || steps_left <= 0) + qdel(src) + return + + // 25% chance to make 2 turns instead of 1 since the old dance_rotate wasn't strictly clockwise/counterclockwise + spinny_boy.setDir(turn(spinny_boy.dir, turn_degrees * (prob(25) ? 2 : 1))) diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index 0954c2a35bc8..d520c3bae5ed 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -179,11 +179,11 @@ /datum/mutation/human/race/on_acquiring(mob/living/carbon/human/owner) if(..()) return - . = owner.monkeyize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSTUNS | TR_KEEPREAGENTS | TR_KEEPSE) + . = owner.monkeyize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSTUNS | TR_KEEPREAGENTS | TR_KEEPSE | TR_KEEPAI) /datum/mutation/human/race/on_losing(mob/living/carbon/monkey/owner) if(owner && istype(owner) && owner.stat != DEAD && (owner.dna.mutations.Remove(src))) - . = owner.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSTUNS | TR_KEEPREAGENTS | TR_KEEPSE) + . = owner.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSTUNS | TR_KEEPREAGENTS | TR_KEEPSE | TR_KEEPAI) /datum/mutation/human/glow name = "Glowy" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 46b08169f829..75a36e1aa677 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -136,6 +136,9 @@ ///List of smoothing groups this atom can smooth with. If this is null and atom is smooth, it smooths only with itself. var/list/canSmoothWith = null + ///AI controller that controls this atom. type on init, then turned into an instance during runtime + var/datum/ai_controller/ai_controller + /// The icon file of the connector to use when smoothing. /// Use of connectors requires the smoothing flags SMOOTH_BITMASK and SMOOTH_CONNECTORS. var/connector_icon = null @@ -265,6 +268,7 @@ set_custom_materials(temp_list) ComponentInitialize() + InitializeAIController() return INITIALIZE_HINT_NORMAL @@ -311,6 +315,7 @@ LAZYCLEARLIST(managed_overlays) QDEL_NULL(light) + QDEL_NULL(ai_controller) if(smoothing_flags & SMOOTH_QUEUED) SSicon_smooth.remove_from_queues(src) @@ -737,6 +742,7 @@ * throw lots of items around - singularity being a notable example) */ /atom/proc/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) + SEND_SIGNAL(src, COMSIG_ATOM_HITBY, AM, skipcatch, hitpush, blocked, throwingdatum) if(density && !has_gravity(AM)) //thrown stuff bounces off dense stuff in no grav, unless the thrown stuff ends up inside what it hit(embedding, bola, etc...). addtimer(CALLBACK(src, PROC_REF(hitby_react), AM), 2) @@ -1068,6 +1074,7 @@ VV_DROPDOWN_OPTION(VV_HK_RADIATE, "Radiate") VV_DROPDOWN_OPTION(VV_HK_EDIT_FILTERS, "Edit Filters") VV_DROPDOWN_OPTION(VV_HK_SELL, "Export Item") + VV_DROPDOWN_OPTION(VV_HK_ADD_AI, "Add AI controller") /atom/vv_do_topic(list/href_list) . = ..() @@ -1112,6 +1119,15 @@ var/strength = input(usr, "Choose the radiation strength.", "Choose the strength.") as num|null if(!isnull(strength)) AddComponent(/datum/component/radioactive, strength, src) + + if(href_list[VV_HK_ADD_AI]) + if(!check_rights(R_VAREDIT)) + return + var/result = input(usr, "Choose the AI controller to apply to this atom WARNING: Not all AI works on all atoms.", "AI controller") as null|anything in subtypesof(/datum/ai_controller) + if(!result) + return + ai_controller = new result(src) + if(href_list[VV_HK_MODIFY_TRANSFORM] && check_rights(R_VAREDIT)) var/result = input(usr, "Choose the transformation to apply","Transform Mod") as null|anything in list("Scale","Translate","Rotate") var/matrix/M = transform @@ -1710,3 +1726,12 @@ */ /atom/proc/setClosed() return + +/** +* Instantiates the AI controller of this atom. Override this if you want to assign variables first. +* +* This will work fine without manually passing arguments. ++*/ +/atom/proc/InitializeAIController() + if(ai_controller) + ai_controller = new ai_controller(src) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index ea51bac01b50..93225b2af9a9 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -513,9 +513,6 @@ if(!is_type_in_typecache(target_mob, dangerous_fauna)) return FALSE - 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) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 23de618975a8..17bcfd78d5c9 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -867,7 +867,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb . = "" /obj/item/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) - return + return SEND_SIGNAL(src, COMSIG_ATOM_HITBY, AM, skipcatch, hitpush, blocked, throwingdatum) /obj/item/attack_hulk(mob/living/carbon/human/user) return FALSE diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index f36c27bb244d..66d829baee25 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -40,17 +40,13 @@ if(!istype(C)) return + SEND_SIGNAL(C, COMSIG_CARBON_CUFF_ATTEMPTED, user) + if(iscarbon(user) && (HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))) to_chat(user, "Uh... how do those things work?!") apply_cuffs(user,user) return - // chance of monkey retaliation - if(ismonkey(C) && prob(MONKEY_CUFF_RETALIATION_PROB)) - var/mob/living/carbon/monkey/M - M = C - M.retaliate(user) - if(!C.handcuffed) if(C.canBeHandcuffed()) C.visible_message("[user] is trying to put [src.name] on [C]!", \ diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index bbcaa94f0867..aa63701ce0e9 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -243,11 +243,20 @@ /obj/get_dumping_location(datum/component/storage/source,mob/user) return get_turf(src) -/obj/proc/CanAStarPass(ID, dir, caller) - if(ismovable(caller)) - var/atom/movable/AM = caller - if(AM.pass_flags & pass_flags_self) - return TRUE +/** + * This proc is used for telling whether something can pass by this object in a given direction, for use by the pathfinding system. + * + * Trying to generate one long path across the station will call this proc on every single object on every single tile that we're seeing if we can move through, likely + * multiple times per tile since we're likely checking if we can access said tile from multiple directions, so keep these as lightweight as possible. + * + * Arguments: + * * ID- An ID card representing what access we have (and thus if we can open things like airlocks or windows to pass through them). The ID card's physical location does not matter, just the reference + * * to_dir- What direction we're trying to move in, relevant for things like directional windows that only block movement in certain directions + * * caller- The movable we're checking pass flags for, if we're making any such checks + **/ +/obj/proc/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller) + if(istype(caller) && (caller.pass_flags & pass_flags_self)) + return TRUE . = !density /obj/proc/check_uplink_validity() diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index d30f28801f76..85af7c9bb8eb 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -304,11 +304,10 @@ if((mover.pass_flags & PASSGRILLE) || istype(mover, /obj/projectile)) return prob(girderpasschance) -/obj/structure/girder/CanAStarPass(ID, dir, caller) +/obj/structure/girder/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller) . = !density - if(ismovable(caller)) - var/atom/movable/mover = caller - . = . || (mover.pass_flags & PASSGRILLE) + if(istype(caller)) + . = . || (caller.pass_flags & PASSGRILLE) /obj/structure/girder/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 10a4413f442f..7e2527c11dae 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -135,11 +135,10 @@ if(!. && istype(mover, /obj/projectile)) return prob(30) -/obj/structure/grille/CanAStarPass(ID, dir, caller) +/obj/structure/grille/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller) . = !density - if(ismovable(caller)) - var/atom/movable/mover = caller - . = . || (mover.pass_flags & PASSGRILLE) + if(istype(caller)) + . = . || (caller.pass_flags & PASSGRILLE) /obj/structure/grille/attackby(obj/item/W, mob/user, params) user.changeNext_move(CLICK_CD_MELEE) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 35cc9fba1aae..e7a0fa946e23 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -379,7 +379,7 @@ /obj/structure/window/get_dumping_location(obj/item/storage/source,mob/user) return null -/obj/structure/window/CanAStarPass(ID, to_dir) +/obj/structure/window/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller) if(!density) return TRUE if(fulltile || (dir == to_dir)) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 4da6e25703bb..1f9dfc08f7da 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -676,3 +676,23 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists) /turf/bullet_act(obj/projectile/hitting_projectile) . = ..() bullet_hit_sfx(hitting_projectile) + +/** + * Returns adjacent turfs to this turf that are reachable, in all cardinal directions + * + * Arguments: + * * caller: The movable, if one exists, being used for mobility checks to see what tiles it can reach + * * ID: An ID card that decides if we can gain access to doors that would otherwise block a turf + * * simulated_only: Do we only worry about turfs with simulated atmos, most notably things that aren't space? +*/ +/turf/proc/reachableAdjacentTurfs(caller, ID, simulated_only) + var/static/space_type_cache = typecacheof(/turf/open/space) + . = list() + + for(var/iter_dir in GLOB.cardinals) + var/turf/turf_to_check = get_step(src,iter_dir) + if(!turf_to_check || (simulated_only && space_type_cache[turf_to_check.type])) + continue + if(turf_to_check.density || LinkBlockedWithAccess(turf_to_check, caller, ID)) + continue + . += turf_to_check diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm index 033b71b6df5b..0ed035002f09 100644 --- a/code/modules/antagonists/changeling/powers/tiny_prick.dm +++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm @@ -47,7 +47,7 @@ return if(!isturf(user.loc)) return - if(!AStar(user, target.loc, /turf/proc/Distance, changeling.sting_range, simulated_only = FALSE)) + if(!get_path_to(user, target, max_distance = changeling.sting_range, simulated_only = FALSE)) return if(target.mind && target.mind.has_antag_datum(/datum/antagonist/changeling)) sting_feedback(user, target) @@ -106,7 +106,7 @@ C.real_name = NewDNA.real_name NewDNA.transfer_identity(C) if(ismonkey(C)) - C.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSTUNS | TR_KEEPREAGENTS | TR_DEFAULTMSG) + C.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSTUNS | TR_KEEPREAGENTS | TR_DEFAULTMSG | TR_KEEPAI) C.updateappearance(mutcolor_update=1) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 5276cf514d65..bcf78e60c8d1 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -108,6 +108,7 @@ /mob/proc/throw_item(atom/target) SEND_SIGNAL(src, COMSIG_MOB_THROW, target) + SEND_GLOBAL_SIGNAL(COMSIG_GLOB_CARBON_THROW_THING, src, target) return /mob/living/carbon/throw_item(atom/target) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 51815282406d..48747f0106f8 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -138,6 +138,9 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /mob/living/carbon/attack_hand(mob/living/carbon/human/user) + if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_HAND, user) & COMPONENT_CANCEL_ATTACK_CHAIN) + . = TRUE + for(var/datum/surgery/S in surgeries) if(body_position != LYING_DOWN && S.lying_required) continue diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index 358fa0626092..d96bbd72531a 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -82,7 +82,22 @@ key = "screech" key_third_person = "screeches" message = "screeches." - mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) + mob_type_allowed_typecache = list(/mob/living/carbon/monkey) + emote_type = EMOTE_AUDIBLE + +/datum/emote/living/carbon/screech/get_sound(mob/living/user) + return pick('sound/creatures/monkey/monkey_screech_1.ogg', + 'sound/creatures/monkey/monkey_screech_2.ogg', + 'sound/creatures/monkey/monkey_screech_3.ogg', + 'sound/creatures/monkey/monkey_screech_4.ogg', + 'sound/creatures/monkey/monkey_screech_5.ogg', + 'sound/creatures/monkey/monkey_screech_6.ogg', + 'sound/creatures/monkey/monkey_screech_7.ogg') + +/datum/emote/living/carbon/screech/roar + key = "roar" + key_third_person = "roars" + message = "roars." /datum/emote/living/carbon/sign key = "sign" diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 0c8782129698..c4a447b59d5b 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -7,6 +7,7 @@ var/t_him = p_them() var/t_has = p_have() var/t_is = p_are() + var/t_es = p_es() var/obscure_name var/list/obscured = check_obscured_slots() var/skipface = ((wear_mask?.flags_inv & HIDEFACE) || (head?.flags_inv & HIDEFACE)) @@ -330,6 +331,8 @@ if(HAS_TRAIT(src, TRAIT_DUMB)) msg += "[t_He] [t_has] a stupid expression on [t_his] face.\n" if(getorgan(/obj/item/organ/brain)) + if(ai_controller?.ai_status == AI_STATUS_ON) + msg += "[t_He] do[t_es]n't appear to be [t_him]self.\n" if(!key) msg += "[t_He] [t_is] totally catatonic. The stresses of life in deep-space must have been too much for [t_him]. Any recovery is unlikely.\n" else if(!client) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index a4d89a53b548..b33a751df628 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1289,6 +1289,9 @@ return known_name return . +/mob/living/carbon/human/monkeybrain + ai_controller = /datum/ai_controller/monkey + /mob/living/carbon/human/species var/race = null diff --git a/code/modules/mob/living/carbon/monkey/combat.dm b/code/modules/mob/living/carbon/monkey/combat.dm deleted file mode 100644 index 8fd4e89566c7..000000000000 --- a/code/modules/mob/living/carbon/monkey/combat.dm +++ /dev/null @@ -1,426 +0,0 @@ -#define MAX_RANGE_FIND 32 - -/mob/living/carbon/monkey - var/aggressive=0 // set to 1 using VV for an angry monkey - var/frustration=0 - var/pickupTimer=0 - var/list/enemies = list() - var/mob/living/target - var/obj/item/pickupTarget - var/mode = MONKEY_IDLE - var/list/myPath = list() - var/list/blacklistItems = list() - var/maxStepsTick = 6 - var/best_force = 0 - var/martial_art = new/datum/martial_art - var/resisting = FALSE - var/pickpocketing = FALSE - var/disposing_body = FALSE - var/obj/machinery/disposal/bodyDisposal = null - var/next_battle_screech = 0 - var/battle_screech_cooldown = 50 - -/mob/living/carbon/monkey/proc/IsStandingStill() - return resisting || pickpocketing || disposing_body - -// blocks -// taken from /mob/living/carbon/human/interactive/ -/mob/living/carbon/monkey/proc/walk2derpless(target) - if(!target || IsStandingStill()) - return 0 - - if(myPath.len <= 0) - myPath = get_path_to(src, get_turf(target), /turf/proc/Distance, MAX_RANGE_FIND + 1, 250,1) - - if(myPath) - if(myPath.len > 0) - for(var/i = 0; i < maxStepsTick; ++i) - if(!IsDeadOrIncap()) - if(myPath.len >= 1) - walk_to(src,myPath[1],0,5) - myPath -= myPath[1] - return 1 - - // failed to path correctly so just try to head straight for a bit - walk_to(src,get_turf(target),0,5) - sleep(1) - walk_to(src,0) - - return 0 - - -// taken from /mob/living/carbon/human/interactive/ -/mob/living/carbon/monkey/proc/IsDeadOrIncap() - return HAS_TRAIT(src, TRAIT_INCAPACITATED) || HAS_TRAIT(src, TRAIT_HANDS_BLOCKED) - - -/mob/living/carbon/monkey/proc/battle_screech() - if(next_battle_screech < world.time) - emote(pick("roar","screech")) - for(var/mob/living/carbon/monkey/M in view(7,src)) - M.next_battle_screech = world.time + battle_screech_cooldown - -/mob/living/carbon/monkey/proc/equip_item(obj/item/I) - if(I.loc == src) - return TRUE - - if(I.anchored) - blacklistItems[I] ++ - return FALSE - - // WEAPONS - if(istype(I, /obj/item)) - var/obj/item/W = I - if(W.force >= best_force) - put_in_hands(W) - best_force = W.force - return TRUE - - // CLOTHING - else if(istype(I, /obj/item/clothing)) - var/obj/item/clothing/C = I - monkeyDrop(C) - addtimer(CALLBACK(src, PROC_REF(pickup_and_wear), C), 5) - return TRUE - - // EVERYTHING ELSE - else - if(!get_item_for_held_index(1) || !get_item_for_held_index(2)) - put_in_hands(I) - return TRUE - - blacklistItems[I] ++ - return FALSE - -/mob/living/carbon/monkey/proc/pickup_and_wear(obj/item/clothing/C) - if(!equip_to_appropriate_slot(C)) - monkeyDrop(get_item_by_slot(C)) // remove the existing item if worn - addtimer(CALLBACK(src, PROC_REF(equip_to_appropriate_slot), C), 5) - -/mob/living/carbon/monkey/resist_restraints() - var/obj/item/I = null - if(handcuffed) - I = handcuffed - else if(legcuffed) - I = legcuffed - if(I) - changeNext_move(CLICK_CD_BREAKOUT) - last_special = world.time + CLICK_CD_BREAKOUT - cuff_resist(I) - -/mob/living/carbon/monkey/proc/should_target(mob/living/L) - if(HAS_TRAIT(src, TRAIT_PACIFISM)) - return FALSE - - if(enemies[L]) - return TRUE - - // target non-monkey mobs when aggressive, with a small probability of monkey v monkey - if(aggressive && (!istype(L, /mob/living/carbon/monkey/) || prob(MONKEY_AGGRESSIVE_MVM_PROB))) - return TRUE - - return FALSE - -/mob/living/carbon/monkey/proc/handle_combat() - if(pickupTarget) - if(IsDeadOrIncap() || blacklistItems[pickupTarget] || HAS_TRAIT(pickupTarget, TRAIT_NODROP)) - pickupTarget = null - else - pickupTimer++ - if(pickupTimer >= 4) - blacklistItems[pickupTarget] ++ - pickupTarget = null - pickupTimer = 0 - else - INVOKE_ASYNC(src, PROC_REF(walk2derpless), pickupTarget.loc) - if(Adjacent(pickupTarget) || Adjacent(pickupTarget.loc)) // next to target - drop_all_held_items() // who cares about these items, i want that one! - if(isturf(pickupTarget.loc)) // on floor - equip_item(pickupTarget) - pickupTarget = null - pickupTimer = 0 - else if(ismob(pickupTarget.loc)) // in someones hand - var/mob/M = pickupTarget.loc - if(!pickpocketing) - pickpocketing = TRUE - M.visible_message("[src] starts trying to take [pickupTarget] from [M]!", "[src] tries to take [pickupTarget]!") - INVOKE_ASYNC(src, PROC_REF(pickpocket), M) - return TRUE - - switch(mode) - if(MONKEY_IDLE) // idle - if(enemies.len) - var/list/around = view(src, MONKEY_ENEMY_VISION) // scan for enemies - for(var/mob/living/L in around) - if(should_target(L)) - if(L.stat == CONSCIOUS) - battle_screech() - retaliate(L) - return TRUE - else - bodyDisposal = locate(/obj/machinery/disposal/) in around - if(bodyDisposal) - target = L - mode = MONKEY_DISPOSE - return TRUE - - // pickup any nearby objects - if(!pickupTarget) - var/obj/item/I = locate(/obj/item/) in oview(2,src) - if(I && !blacklistItems[I]) - pickupTarget = I - else - var/mob/living/carbon/human/H = locate(/mob/living/carbon/human/) in oview(2,src) - if(H) - pickupTarget = pick(H.held_items) - - if(MONKEY_HUNT) // hunting for attacker - if(health < MONKEY_FLEE_HEALTH) - mode = MONKEY_FLEE - return TRUE - - if(target != null) - INVOKE_ASYNC(src, PROC_REF(walk2derpless), target) - - // pickup any nearby weapon - if(!pickupTarget && prob(MONKEY_WEAPON_PROB)) - var/obj/item/W = locate(/obj/item/) in oview(2,src) - if(!locate(/obj/item) in held_items) - best_force = 0 - if(W && !blacklistItems[W] && W.force > best_force) - pickupTarget = W - - // recruit other monkies - var/list/around = view(src, MONKEY_ENEMY_VISION) - for(var/mob/living/carbon/monkey/M in around) - if(M.mode == MONKEY_IDLE && prob(MONKEY_RECRUIT_PROB)) - M.battle_screech() - M.target = target - M.mode = MONKEY_HUNT - - // switch targets - for(var/mob/living/L in around) - if(L != target && should_target(L) && L.stat == CONSCIOUS && prob(MONKEY_SWITCH_TARGET_PROB)) - target = L - return TRUE - - // if can't reach target for long enough, go idle - if(frustration >= MONKEY_HUNT_FRUSTRATION_LIMIT) - back_to_idle() - return TRUE - - if(target && target.stat == CONSCIOUS) // make sure target exists - if(Adjacent(target) && isturf(target.loc) && !IsDeadOrIncap()) // if right next to perp - - // check if target has a weapon - var/obj/item/W - for(var/obj/item/I in target.held_items) - if(!(I.item_flags & ABSTRACT)) - W = I - break - - // if the target has a weapon, chance to disarm them - if(W && prob(MONKEY_ATTACK_DISARM_PROB)) - pickupTarget = W - a_intent = INTENT_DISARM - monkey_attack(target) - - else - a_intent = INTENT_HARM - monkey_attack(target) - - return TRUE - - else // not next to perp - var/turf/olddist = get_dist(src, target) - if((get_dist(src, target)) >= (olddist)) - frustration++ - else - frustration = 0 - else - back_to_idle() - - if(MONKEY_FLEE) - var/list/around = view(src, MONKEY_FLEE_VISION) - target = null - - // flee from anyone who attacked us and we didn't beat down - for(var/mob/living/L in around) - if(enemies[L] && L.stat == CONSCIOUS) - target = L - - if(target != null) - walk_away(src, target, MONKEY_ENEMY_VISION, 5) - else - back_to_idle() - - return TRUE - - if(MONKEY_DISPOSE) - - // if can't dispose of body go back to idle - if(!target || !bodyDisposal || frustration >= MONKEY_DISPOSE_FRUSTRATION_LIMIT) - back_to_idle() - return TRUE - - if(target.pulledby != src && !istype(target.pulledby, /mob/living/carbon/monkey/)) - - INVOKE_ASYNC(src, PROC_REF(walk2derpless), target.loc) - - if(Adjacent(target) && isturf(target.loc)) - a_intent = INTENT_GRAB - target.grabbedby(src) - else - var/turf/olddist = get_dist(src, target) - if((get_dist(src, target)) >= (olddist)) - frustration++ - else - frustration = 0 - - else if(!disposing_body) - INVOKE_ASYNC(src, PROC_REF(walk2derpless), bodyDisposal.loc) - - if(Adjacent(bodyDisposal)) - disposing_body = TRUE - addtimer(CALLBACK(src, PROC_REF(stuff_mob_in)), 5) - - else - var/turf/olddist = get_dist(src, bodyDisposal) - if((get_dist(src, bodyDisposal)) >= (olddist)) - frustration++ - else - frustration = 0 - - return TRUE - - return IsStandingStill() - -/mob/living/carbon/monkey/proc/pickpocket(mob/M) - if(do_after(src, MONKEY_ITEM_SNATCH_DELAY, M) && pickupTarget) - for(var/obj/item/I in M.held_items) - if(I == pickupTarget) - M.visible_message("[src] snatches [pickupTarget] from [M].", "[src] snatched [pickupTarget]!") - if(M.temporarilyRemoveItemFromInventory(pickupTarget)) - if(!QDELETED(pickupTarget) && !equip_item(pickupTarget)) - pickupTarget.forceMove(drop_location()) - else - M.visible_message("[src] tried to snatch [pickupTarget] from [M], but failed!", "[src] tried to grab [pickupTarget]!") - pickpocketing = FALSE - pickupTarget = null - pickupTimer = 0 - -/mob/living/carbon/monkey/proc/stuff_mob_in() - if(bodyDisposal && target && Adjacent(bodyDisposal)) - bodyDisposal.stuff_mob_in(target, src) - disposing_body = FALSE - back_to_idle() - -/mob/living/carbon/monkey/proc/back_to_idle() - - if(pulling) - stop_pulling() - - mode = MONKEY_IDLE - target = null - a_intent = INTENT_HELP - frustration = 0 - walk_to(src,0) - -// attack using a held weapon otherwise bite the enemy, then if we are angry there is a chance we might calm down a little -/mob/living/carbon/monkey/proc/monkey_attack(mob/living/L) - var/obj/item/Weapon = locate(/obj/item) in held_items - - // attack with weapon if we have one - if(Weapon) - Weapon.melee_attack_chain(src, L) - else - L.attack_paw(src) - - // no de-aggro - if(aggressive) - return - - // if we arn't enemies, we were likely recruited to attack this target, jobs done if we calm down so go back to idle - if(!enemies[L]) - if(target == L && prob(MONKEY_HATRED_REDUCTION_PROB)) - back_to_idle() - return // already de-aggroed - - if(prob(MONKEY_HATRED_REDUCTION_PROB)) - enemies[L] -- - - // if we are not angry at our target, go back to idle - if(enemies[L] <= 0) - enemies.Remove(L) - if(target == L) - back_to_idle() - -// get angry are a mob -/mob/living/carbon/monkey/proc/retaliate(mob/living/L) - mode = MONKEY_HUNT - target = L - if(L != src) - enemies[L] += MONKEY_HATRED_AMOUNT - - if(a_intent != INTENT_HARM) - battle_screech() - a_intent = INTENT_HARM - -/mob/living/carbon/monkey/attack_hand(mob/living/L) - if(L.a_intent == INTENT_HARM && prob(MONKEY_RETALIATE_HARM_PROB)) - retaliate(L) - else if(L.a_intent == INTENT_DISARM && prob(MONKEY_RETALIATE_DISARM_PROB)) - retaliate(L) - return ..() - -/mob/living/carbon/monkey/attack_paw(mob/living/L) - if(L.a_intent == INTENT_HARM && prob(MONKEY_RETALIATE_HARM_PROB)) - retaliate(L) - else if(L.a_intent == INTENT_DISARM && prob(MONKEY_RETALIATE_DISARM_PROB)) - retaliate(L) - return ..() - -/mob/living/carbon/monkey/attackby(obj/item/W, mob/user, params) - ..() - if((W.force) && (!target) && (W.damtype != STAMINA)) - retaliate(user) - -/mob/living/carbon/monkey/bullet_act(obj/projectile/Proj) - if(istype(Proj , /obj/projectile/beam)||istype(Proj, /obj/projectile/bullet)) - if((Proj.damage_type == BURN) || (Proj.damage_type == BRUTE)) - if(!Proj.nodamage && Proj.damage < src.health && isliving(Proj.firer)) - retaliate(Proj.firer) - . = ..() - -/mob/living/carbon/monkey/hitby(atom/movable/AM, skipcatch = FALSE, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum) - if(istype(AM, /obj/item)) - var/obj/item/I = AM - if(I.throwforce < src.health && I.thrownby && ishuman(I.thrownby)) - var/mob/living/carbon/human/H = I.thrownby - retaliate(H) - ..() - -/mob/living/carbon/monkey/on_entered(datum/source, atom/movable/AM) - . = ..() - if(!IsDeadOrIncap() && ismob(AM) && target) - var/mob/living/carbon/monkey/M = AM - if(!istype(M) || !M) - return - knockOver(M) - return - -/mob/living/carbon/monkey/proc/monkeyDrop(obj/item/A) - if(A) - dropItemToGround(A, TRUE) - update_icons() - -/mob/living/carbon/monkey/grabbedby(mob/living/carbon/user) - . = ..() - if(!IsDeadOrIncap() && pulledby && (mode != MONKEY_IDLE || prob(MONKEY_PULL_AGGRO_PROB))) // nuh uh you don't pull me! - if(Adjacent(pulledby)) - a_intent = INTENT_DISARM - monkey_attack(pulledby) - retaliate(pulledby) - return TRUE - -#undef MAX_RANGE_FIND diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index b4469ea5b63c..01423b1aa2ee 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -1,33 +1,5 @@ - - /mob/living/carbon/monkey - -/mob/living/carbon/monkey/Life() - set invisibility = 0 - - if (notransform) - return - - if(..() && !IS_IN_STASIS(src)) - - if(!client) - if(stat == CONSCIOUS) - if(on_fire || buckled || HAS_TRAIT(src, TRAIT_RESTRAINED) || (pulledby && pulledby.grab_state > GRAB_PASSIVE)) - if(!resisting && prob(MONKEY_RESIST_PROB)) - resisting = TRUE - walk_to(src,0) - execute_resist() - else if(resisting) - resisting = FALSE - else if((mode == MONKEY_IDLE && !pickupTarget && !prob(MONKEY_SHENANIGAN_PROB)) || !handle_combat()) - if(prob(25) && (mobility_flags & MOBILITY_MOVE) && isturf(loc) && !pulledby) - step(src, pick(GLOB.cardinals)) - else if(prob(1)) - emote(pick("scratch","jump","roll","tail")) - else - walk_to(src,0) - /mob/living/carbon/monkey/handle_mutations_and_radiation() if(radiation) if(radiation > RAD_MOB_KNOCKDOWN && prob(RAD_MOB_KNOCKDOWN_PROB)) diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 755c674a107d..6056ac83fa7d 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -26,6 +26,8 @@ hud_type = /datum/hud/monkey melee_damage_lower = 1 melee_damage_upper = 3 + ai_controller = /datum/ai_controller/monkey + faction = list("neutral", "monkey") /mob/living/carbon/monkey/Initialize(mapload, cubespawned=FALSE, mob/spawner) add_verb(src, /mob/living/proc/mob_sleep) @@ -169,10 +171,10 @@ return 1 /mob/living/carbon/monkey/angry - aggressive = TRUE /mob/living/carbon/monkey/angry/Initialize() . = ..() + ai_controller.blackboard[BB_MONKEY_AGRESSIVE] = TRUE if(prob(10)) var/obj/item/clothing/head/helmet/justice/escape/helmet = new(src) equip_to_slot_or_del(helmet,ITEM_SLOT_HEAD) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 99db31b26c0f..ba9b99822600 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1125,7 +1125,7 @@ if(G.trigger_guard == TRIGGER_GUARD_NONE) to_chat(src, "You are unable to fire this!") return FALSE - if(G.trigger_guard != TRIGGER_GUARD_ALLOW_ALL && !IsAdvancedToolUser()) + if(G.trigger_guard != TRIGGER_GUARD_ALLOW_ALL && (!IsAdvancedToolUser(src) && !HAS_TRAIT(src, TRAIT_GUN_NATURAL))) to_chat(src, "You try to fire [G], but can't use the trigger!") return FALSE return TRUE diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 3c7736c06230..1e81bd48b63f 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -564,7 +564,7 @@ Pass a positive integer as an argument to override a bot's default speed. var/datum/job/captain/All = new/datum/job/captain all_access.access = All.get_access() - set_path(get_path_to(src, waypoint, /turf/proc/Distance_cardinal, 0, 200, id=all_access)) + set_path(get_path_to(src, waypoint, 200, id=all_access)) calling_ai = caller //Link the AI to the bot! ai_waypoint = waypoint @@ -782,16 +782,16 @@ Pass a positive integer as an argument to override a bot's default speed. // given an optional turf to avoid /mob/living/simple_animal/bot/proc/calc_path(turf/avoid) check_bot_access() - set_path(get_path_to(src, patrol_target, /turf/proc/Distance_cardinal, 0, 120, id=access_card, exclude=avoid)) + set_path(get_path_to(src, patrol_target, 120, id=access_card, exclude=avoid)) /mob/living/simple_animal/bot/proc/calc_summon_path(turf/avoid) check_bot_access() INVOKE_ASYNC(src, PROC_REF(do_calc_summon_path), avoid) /mob/living/simple_animal/bot/proc/do_calc_summon_path(turf/avoid) - set_path(get_path_to(src, summon_target, /turf/proc/Distance_cardinal, 0, 150, id=access_card, exclude=avoid)) + set_path(get_path_to(src, summon_target, 150, id=access_card, exclude=avoid)) if(!length(path)) //Cannot reach target. Give up and announce the issue. - speak("Summon command failed, destination unreachable.",radio_channel) + speak("Summon command failed, destination unreachable.", radio_channel) bot_reset() /mob/living/simple_animal/bot/proc/summon_step() @@ -816,7 +816,9 @@ Pass a positive integer as an argument to override a bot's default speed. calc_summon_path() /mob/living/simple_animal/bot/proc/summon_step_not_moved() - calc_summon_path() + //calc_summon_path() + speak("Summon command failed, destination unreachable.",radio_channel) + bot_reset() tries = 0 /mob/living/simple_animal/bot/Bump(atom/A) //Leave no door unopened! diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index e53b675c95bc..aad4a7a63f86 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -261,11 +261,11 @@ mode = BOT_IDLE return - if(target && path.len == 0 && (get_dist(src,target) > 1)) - path = get_path_to(src, target.loc, /turf/proc/Distance_cardinal, 30, id=access_card) + if(target && (!path || path.len == 0) && (get_dist(src,target) > 1)) + path = get_path_to(src, target, 30, id=access_card) mode = BOT_MOVING if(!path.len) //try to get closer if you can't reach the target directly - path = get_path_to(src, target.loc, /turf/proc/Distance_cardinal, 30, 1, id=access_card) + path = get_path_to(src, target, 30, id=access_card) if(!path.len) //Do not chase a target we cannot reach. add_to_ignore(target) target = null diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm index 0fabc6c7fb53..1b04fbb51669 100644 --- a/code/modules/mob/living/simple_animal/bot/firebot.dm +++ b/code/modules/mob/living/simple_animal/bot/firebot.dm @@ -269,7 +269,7 @@ if(get_dist(src, target_fire) > 2) - path = get_path_to(src, get_turf(target_fire), /turf/proc/Distance_cardinal, 0, 30, 1, id=access_card) + path = get_path_to(src, target_fire, 30, 1, id=access_card) mode = BOT_MOVING if(!length(path)) soft_reset() diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 980f12897e70..662386649186 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -255,9 +255,9 @@ if(path.len == 0) if(!isturf(target)) var/turf/TL = get_turf(target) - path = get_path_to(src, TL, /turf/proc/Distance_cardinal, 0, 30, id=access_card,simulated_only = FALSE) + path = get_path_to(src, TL, 30, id=access_card,simulated_only = FALSE) else - path = get_path_to(src, target, /turf/proc/Distance_cardinal, 0, 30, id=access_card,simulated_only = FALSE) + path = get_path_to(src, target, 30, id=access_card,simulated_only = FALSE) if(!bot_move(target)) add_to_ignore(target) diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 22d68c8a6190..6bcd39abb6a6 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -413,10 +413,10 @@ return if(patient && path.len == 0 && (get_dist(src,patient) > 1)) - path = get_path_to(src, get_turf(patient), /turf/proc/Distance_cardinal, 0, 30,id=access_card) + path = get_path_to(src, patient, 30,id=access_card) mode = BOT_MOVING if(!path.len) //try to get closer if you can't reach the patient directly - path = get_path_to(src, get_turf(patient), /turf/proc/Distance_cardinal, 0, 30,1,id=access_card) + path = get_path_to(src, patient, 30,1,id=access_card) if(!path.len) //Do not chase a patient we cannot reach. soft_reset() diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 1c10311f7b3c..59a6125b5fbd 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -615,7 +615,7 @@ // calculates a path to the current destination // given an optional turf to avoid /mob/living/simple_animal/bot/mulebot/calc_path(turf/avoid = null) - path = get_path_to(src, target, /turf/proc/Distance_cardinal, 0, 250, id=access_card, exclude=avoid) + path = get_path_to(src, target, 250, id=access_card, exclude=avoid) // sets the current destination // signals all beacons matching the delivery code diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 2a47d4f0c220..6dc3bbf55048 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -16,65 +16,11 @@ see_in_dark = 5 speak_chance = 1 turns_per_move = 10 - var/turns_since_scan = 0 - var/obj/movement_target + ai_controller = /datum/ai_controller/dog + stop_automated_movement = TRUE footstep_type = FOOTSTEP_MOB_CLAW -/mob/living/simple_animal/pet/dog/Life() - ..() - - //Feeding, chasing food, FOOOOODDDD - if(!stat && !resting && !buckled) - turns_since_scan++ - if(turns_since_scan > 5) - turns_since_scan = 0 - if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc))) - movement_target = null - stop_automated_movement = 0 - if(!movement_target || !(movement_target.loc in oview(src, 3))) - movement_target = null - stop_automated_movement = 0 - for(var/obj/item/reagent_containers/food/snacks/S in oview(src,3)) - if(isturf(S.loc) || ishuman(S.loc)) - movement_target = S - break - if(movement_target) - stop_automated_movement = 1 - step_to(src,movement_target,1) - sleep(3) - step_to(src,movement_target,1) - sleep(3) - step_to(src,movement_target,1) - - if(movement_target) //Not redundant due to sleeps, Item can be gone in 6 decisecomds - var/turf/T = get_turf(movement_target) - if(!T) - return - if (T.x < src.x) - setDir(WEST) - else if (T.x > src.x) - setDir(EAST) - else if (T.y < src.y) - setDir(SOUTH) - else if (T.y > src.y) - setDir(NORTH) - else - setDir(SOUTH) - - if(!Adjacent(movement_target)) //can't reach food through windows. - return - - if(isturf(movement_target.loc)) - movement_target.attack_animal(src) - else if(ishuman(movement_target.loc)) - if(prob(20)) - manual_emote("stares at [movement_target.loc]'s [movement_target] with a sad puppy-face") - - if(prob(1)) - manual_emote(pick("dances around.","chases its tail!")) - INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(dance_rotate), src) - //Corgis and pugs are now under one dog subtype /mob/living/simple_animal/pet/dog/corgi @@ -165,6 +111,7 @@ dat += "

" dat += "" dat += "" + dat += "" dat += {"
Head:[inventory_head]" : "add_inv=head'>Empty"]
Back:[inventory_back]" : "add_inv=back'>Empty"]
Collar:[pcollar]" : "add_inv=collar'>Empty"]
ID Card:[access_card]" : "add_inv=card'>Empty"]
Close "} @@ -248,6 +195,10 @@ pcollar = null update_corgi_fluff() regenerate_icons() + if("card") + if(access_card) + usr.put_in_hands(access_card) + access_card = null show_inv(usr) @@ -300,9 +251,22 @@ return item_to_add.forceMove(src) - src.inventory_back = item_to_add + inventory_back = item_to_add update_corgi_fluff() regenerate_icons() + if("card") + if(access_card) + to_chat(usr, "[src] already has \an [access_card] pinned to [p_them()]!") + return + var/obj/item/item_to_add = usr.get_active_held_item() + if(!usr.temporarilyRemoveItemFromInventory(item_to_add)) + to_chat(usr, "\The [item_to_add] is stuck to your hand, you cannot pin it to [src]!") + return + if(!istype(item_to_add, /obj/item/card/id)) + to_chat(usr, "You can't pin [item_to_add] to [src]!") + return + item_to_add.forceMove(src) + access_card = item_to_add show_inv(usr) else diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 92b955d3a841..5a900e64e199 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -648,7 +648,7 @@ item = I break if(item) - if(!AStar(src, get_turf(item), /turf/proc/Distance_cardinal)) + if(!get_path_to(src, item)) item = null continue return item diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index a1a0886a2362..738428592d9a 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -208,7 +208,8 @@ . = ..() if(stat == DEAD) . += "Upon closer examination, [p_they()] appear[p_s()] to be dead." - + if(access_card) + . += "There appears to be [icon2html(access_card, user)] \a [access_card] pinned to [p_them()]." /mob/living/simple_animal/update_stat() if(status_flags & GODMODE) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index ef21915e1fca..1be945b3d8f4 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -1,6 +1,6 @@ #define TRANSFORMATION_DURATION 22 -/mob/living/carbon/proc/monkeyize(tr_flags = (TR_KEEPITEMS | TR_KEEPVIRUS | TR_KEEPSTUNS | TR_KEEPREAGENTS | TR_DEFAULTMSG)) +/mob/living/carbon/proc/monkeyize(tr_flags = (TR_KEEPITEMS | TR_KEEPVIRUS | TR_KEEPSTUNS | TR_KEEPREAGENTS | TR_DEFAULTMSG| TR_KEEPAI)) if (notransform || transformation_timer) return @@ -150,6 +150,8 @@ changeling.purchasedpowers += hf changeling.regain_powers() + if(tr_flags & TR_KEEPAI) + ai_controller.PossessPawn(O) if (tr_flags & TR_DEFAULTMSG) to_chat(O, "You are now a monkey.") @@ -167,7 +169,7 @@ ////////////////////////// Humanize ////////////////////////////// //Could probably be merged with monkeyize but other transformations got their own procs, too -/mob/living/carbon/proc/humanize(tr_flags = (TR_KEEPITEMS | TR_KEEPVIRUS | TR_KEEPSTUNS | TR_KEEPREAGENTS | TR_DEFAULTMSG)) +/mob/living/carbon/proc/humanize(tr_flags = (TR_KEEPITEMS | TR_KEEPVIRUS | TR_KEEPSTUNS | TR_KEEPREAGENTS | TR_DEFAULTMSG | TR_KEEPAI)) if (notransform || transformation_timer) return @@ -329,6 +331,9 @@ else O.set_species(/datum/species/human) + if(tr_flags & TR_KEEPAI) + ai_controller.PossessPawn(O) + O.a_intent = INTENT_HELP if (tr_flags & TR_DEFAULTMSG) to_chat(O, "You are now a human.") diff --git a/code/modules/movespeed/_movespeed_modifier.dm b/code/modules/movespeed/_movespeed_modifier.dm index 06cbaf0b99cd..4befe2458faa 100644 --- a/code/modules/movespeed/_movespeed_modifier.dm +++ b/code/modules/movespeed/_movespeed_modifier.dm @@ -200,6 +200,7 @@ GLOBAL_LIST_EMPTY(movespeed_modification_cache) continue . += amt cached_multiplicative_slowdown = . + SEND_SIGNAL(src, COMSIG_MOB_MOVESPEED_UPDATED) /// Get the move speed modifiers list of the mob /mob/proc/get_movespeed_modifiers() diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 5d11dcb720ee..3241695c7e78 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -67,11 +67,7 @@ if(!L.can_inject(user, 1)) return - // chance of monkey retaliation - if(ismonkey(target) && prob(MONKEY_SYRINGE_RETALIATION_PROB)) - var/mob/living/carbon/monkey/M - M = target - M.retaliate(user) + SEND_SIGNAL(target, COMSIG_LIVING_TRY_SYRINGE, user) switch(mode) if(SYRINGE_DRAW) diff --git a/shiptest.dme b/shiptest.dme index ef4500858dca..d7a9f1aa48d9 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -160,6 +160,7 @@ #include "code\__DEFINES\vv.dm" #include "code\__DEFINES\wall_dents.dm" #include "code\__DEFINES\wires.dm" +#include "code\__DEFINES\ai\ai.dm" #include "code\__DEFINES\dcs\flags.dm" #include "code\__DEFINES\dcs\helpers.dm" #include "code\__DEFINES\dcs\signals\signals.dm" @@ -185,7 +186,6 @@ #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" @@ -212,6 +212,7 @@ #include "code\__HELPERS\mouse_control.dm" #include "code\__HELPERS\nameof.dm" #include "code\__HELPERS\names.dm" +#include "code\__HELPERS\path.dm" #include "code\__HELPERS\priority_announce.dm" #include "code\__HELPERS\pronouns.dm" #include "code\__HELPERS\qdel.dm" @@ -325,6 +326,7 @@ #include "code\controllers\configuration\entries\resources.dm" #include "code\controllers\subsystem\achievements.dm" #include "code\controllers\subsystem\acid.dm" +#include "code\controllers\subsystem\ai_controllers.dm" #include "code\controllers\subsystem\air.dm" #include "code\controllers\subsystem\ambience.dm" #include "code\controllers\subsystem\assets.dm" @@ -401,6 +403,8 @@ #include "code\controllers\subsystem\vis_overlays.dm" #include "code\controllers\subsystem\vote.dm" #include "code\controllers\subsystem\weather.dm" +#include "code\controllers\subsystem\processing\ai_behaviors.dm" +#include "code\controllers\subsystem\processing\ai_movement.dm" #include "code\controllers\subsystem\processing\fastprocess.dm" #include "code\controllers\subsystem\processing\fluids.dm" #include "code\controllers\subsystem\processing\instruments.dm" @@ -468,6 +472,19 @@ #include "code\datums\achievements\skill_achievements.dm" #include "code\datums\actions\beam_rifle.dm" #include "code\datums\actions\ninja.dm" +#include "code\datums\ai\_ai_behavoir.dm" +#include "code\datums\ai\_ai_controller.dm" +#include "code\datums\ai\_ai_planning_subtree.dm" +#include "code\datums\ai\generic_actions.dm" +#include "code\datums\ai\dog\dog_behaviors.dm" +#include "code\datums\ai\dog\dog_controller.dm" +#include "code\datums\ai\dog\dog_subtrees.dm" +#include "code\datums\ai\monkey\monkey_behaviors.dm" +#include "code\datums\ai\monkey\monkey_controller.dm" +#include "code\datums\ai\monkey\monkey_subtrees.dm" +#include "code\datums\ai\movement\_ai_movement.dm" +#include "code\datums\ai\movement\ai_movement_dumb.dm" +#include "code\datums\ai\movement\ai_movement_jps.dm" #include "code\datums\atmosphere\_atmosphere.dm" #include "code\datums\atmosphere\planetary.dm" #include "code\datums\brain_damage\brain_trauma.dm" @@ -554,6 +571,7 @@ #include "code\datums\components\sizzle.dm" #include "code\datums\components\slippery.dm" #include "code\datums\components\spill.dm" +#include "code\datums\components\spinny.dm" #include "code\datums\components\spooky.dm" #include "code\datums\components\squeak.dm" #include "code\datums\components\stationstuck.dm" @@ -2634,7 +2652,6 @@ #include "code\modules\mob\living\carbon\human\species_types\vampire.dm" #include "code\modules\mob\living\carbon\human\species_types\vox.dm" #include "code\modules\mob\living\carbon\human\species_types\zombies.dm" -#include "code\modules\mob\living\carbon\monkey\combat.dm" #include "code\modules\mob\living\carbon\monkey\death.dm" #include "code\modules\mob\living\carbon\monkey\inventory.dm" #include "code\modules\mob\living\carbon\monkey\life.dm" diff --git a/sound/creatures/monkey/monkey_screech_1.ogg b/sound/creatures/monkey/monkey_screech_1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a4d5bc45429aa0416a1a189c0aaefca1ab8af5bd GIT binary patch literal 15300 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 literal 0 HcmV?d00001 diff --git a/sound/creatures/monkey/monkey_screech_2.ogg b/sound/creatures/monkey/monkey_screech_2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ea44bcbcd814b7dd2a59bfc0f3fc8193135335a6 GIT binary patch literal 15649 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 literal 0 HcmV?d00001 diff --git a/sound/creatures/monkey/monkey_screech_4.ogg b/sound/creatures/monkey/monkey_screech_4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5a60b9466fa047efb2a6ff1083c5063d2e5f1dad GIT binary patch literal 16704 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⋙P=*j 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 G@xK7+rh>`< literal 0 HcmV?d00001 diff --git a/sound/creatures/monkey/monkey_screech_5.ogg b/sound/creatures/monkey/monkey_screech_5.ogg new file mode 100644 index 0000000000000000000000000000000000000000..04b4be87f842bff31efa962c06d4fa1211ca18b9 GIT binary patch literal 20239 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 literal 0 HcmV?d00001 diff --git a/sound/creatures/monkey/monkey_screech_6.ogg b/sound/creatures/monkey/monkey_screech_6.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d73c3e9bb22500ae5217eb07895fa7fa842a6ce9 GIT binary patch literal 19189 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%0AF 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 YuM>Iyy%y!u_qQmYzE>H*aVwsO6iwuUWdHyG literal 0 HcmV?d00001 From 9fbf4dde776a073bf185766af164014059df0d5e Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Sun, 19 Jan 2025 23:48:11 -0500 Subject: [PATCH 101/330] Reduces the chance of getting hurt from a broken bone if one is walking (#3996) ## About The Pull Request This PR reduces the probability to cause damage to a player from 5% per tile walked to 1% per tile walked if the player is in the walk intent mode. If they are in the run intent mode, the probability remains at 5%. ## Why It's Good For The Game I thought it might be a little flavorful to have it so that the chance to get hurt from a broken bone is reduced if one is walking instead of running, as it would imply that a character is attempting to avoid jostling their broken bone(s) around. I'm not sure if the probabilities should be tweaked a little, however. ## Changelog :cl: balance: The bone breakage damage proc now depends on the movement intent of a carbon. Walking reduces the proc call probability /:cl: --------- Signed-off-by: zimon9 <122945887+zimon9@users.noreply.github.com> Co-authored-by: Theos --- code/modules/surgery/bodyparts/bodyparts.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 86735b49a9fb..5464c5279795 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -837,7 +837,7 @@ if(bone_status != BONE_FLAG_BROKEN || !owner || istype(owner?.buckled, /obj/structure/bed/roller)) return - if(prob(5)) + if(prob(owner.m_intent == MOVE_INTENT_RUN ? 5 : 1)) 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 From be503c984dc39bc55343aac9a20aa3abaccc8da9 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 19 Jan 2025 23:09:38 -0600 Subject: [PATCH 102/330] Automatic changelog generation for PR #3996 [ci skip] --- html/changelogs/AutoChangeLog-pr-3996.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3996.yml diff --git a/html/changelogs/AutoChangeLog-pr-3996.yml b/html/changelogs/AutoChangeLog-pr-3996.yml new file mode 100644 index 000000000000..f86240097673 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3996.yml @@ -0,0 +1,5 @@ +author: zimon9 +changes: + - {balance: The bone breakage damage proc now depends on the movement intent of + a carbon. Walking reduces the proc call probability} +delete-after: true From e5370c668213f4a9592b16ccc785b5d458f9856b Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Mon, 20 Jan 2025 07:12:07 -0500 Subject: [PATCH 103/330] Adds A Variant Gauss Round (#4028) ## About The Pull Request Adds High Conductivity Gauss Lower base damage, hitscan, higher power draw ~~not that gauss cell usage works rn~~ ## Why It's Good For The Game 's cool apogee and i talked about it and that's what I came up with https://cdn.discordapp.com/attachments/1329652035439558696/1330070758717784115/2025-01-18_02-05-34.mp4?ex=678ca46c&is=678b52ec&hm=e893d2934406edc3f2f923e930b740400fafaec86d71a573e378018c2c759a7a& ## Changelog :cl: add: You can now purchase high conductivity gauss rounds from the outpost. /:cl: --------- Co-authored-by: Theos --- .../temporary_visuals/projectiles/impact.dm | 4 ++ .../temporary_visuals/projectiles/muzzle.dm | 3 ++ .../temporary_visuals/projectiles/tracer.dm | 3 ++ code/modules/cargo/packs/ammo.dm | 18 ++++++++ .../projectiles/ammunition/special/gauss.dm | 30 ++++++++++++++ .../prefab_stacks/premade_gauss_stacks.dm | 39 ++++++++++++++++++ .../projectiles/projectile/bullets/gauss.dm | 30 ++++++++++++++ icons/obj/ammunition/ammo_bullets.dmi | Bin 3467 -> 3560 bytes icons/obj/projectiles_impact.dmi | Bin 27576 -> 28552 bytes icons/obj/projectiles_muzzle.dmi | Bin 30581 -> 30724 bytes icons/obj/projectiles_tracer.dmi | Bin 6799 -> 6383 bytes 11 files changed, 127 insertions(+) diff --git a/code/game/objects/effects/temporary_visuals/projectiles/impact.dm b/code/game/objects/effects/temporary_visuals/projectiles/impact.dm index c00938077751..91459a55c772 100644 --- a/code/game/objects/effects/temporary_visuals/projectiles/impact.dm +++ b/code/game/objects/effects/temporary_visuals/projectiles/impact.dm @@ -52,3 +52,7 @@ /obj/effect/projectile/impact/pgf/rifle name = "beam impact" icon_state = "impact_pgf_rifle" + +/obj/effect/projectile/impact/gauss + name = "gauss impact" + icon_state = "hc_gauss" diff --git a/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm b/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm index b850681c713f..97646ae50e32 100644 --- a/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm +++ b/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm @@ -41,3 +41,6 @@ /obj/effect/projectile/muzzle/pgf/rifle icon_state = "muzzle_pgf_rifle" + +/obj/effect/projectile/muzzle/gauss + icon_state = "muzzle_gauss_rifle" diff --git a/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm b/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm index d7e867ed03ac..f0ab5580e2bc 100644 --- a/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm +++ b/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm @@ -79,3 +79,6 @@ /obj/effect/projectile/tracer/pgf/rifle icon_state = "beam_pgf_rifle" + +/obj/effect/projectile/tracer/gauss + icon_state = "hc_gauss" diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index 077d5f49a683..54a555997568 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -424,6 +424,12 @@ contains = list(/obj/item/storage/box/ammo/ferropellet) cost = 250 +/datum/supply_pack/ammo/hcpellets + name = "High Conductivity Pellet Box Crate" + desc = "Contains a 48-round high conductivity pellet ammo box for gauss guns such as the Claris." + contains = list(/obj/item/storage/box/ammo/ferropellet/hc) + cost = 500 + /* ferroslugs */ /datum/supply_pack/ammo/ferroslugboxcrate @@ -432,6 +438,12 @@ contains = list(/obj/item/storage/box/ammo/ferroslug) cost = 250 +/datum/supply_pack/ammo/hcslugs + name = "High Conductivity Slug Box Crate" + desc = "Contains a twenty-round high conductivity slug for gauss guns such as the Model-H." + contains = list(/obj/item/storage/box/ammo/ferroslug/hc) + cost = 500 + /* ferro lances */ /datum/supply_pack/ammo/ferrolanceboxcrate @@ -439,3 +451,9 @@ 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/ferrolanceboxcrate + name = "High Conductivity Lance Box Crate" + 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/hc) + cost = 500 diff --git a/code/modules/projectiles/ammunition/special/gauss.dm b/code/modules/projectiles/ammunition/special/gauss.dm index 0370d95051c4..04eb57fd4b73 100644 --- a/code/modules/projectiles/ammunition/special/gauss.dm +++ b/code/modules/projectiles/ammunition/special/gauss.dm @@ -8,6 +8,16 @@ firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/gauss var/energy_cost = 100 +/obj/item/ammo_casing/caseless/gauss/hc + name = "high conductivity pellet" + desc = "A small crystal-metal pellet." + caliber = "pellet" + icon_state = "hc-pellet" + projectile_type = /obj/projectile/bullet/gauss/hc + auto_rotate = FALSE + firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/gauss + energy_cost = 200 + /obj/item/ammo_casing/caseless/gauss/lance name = "ferromagnetic lance" desc = "A sharp metal rod." @@ -17,6 +27,16 @@ auto_rotate = TRUE energy_cost = 166 +/obj/item/ammo_casing/caseless/gauss/lance/hc + name = "high conductivity lance" + desc = "A sharp crystal-metal lance." + caliber = "lance" + icon_state = "hc-lance" + projectile_type = /obj/projectile/bullet/gauss/lance/hc + auto_rotate = FALSE + firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/gauss + energy_cost = 332 + /obj/item/ammo_casing/caseless/gauss/slug name = "ferromagnetic slug" desc = "A large metal slug." @@ -25,3 +45,13 @@ projectile_type = /obj/projectile/bullet/gauss/slug auto_rotate = TRUE energy_cost = 700 + +/obj/item/ammo_casing/caseless/gauss/slug/hc + name = "high conductivity lance" + desc = "A large crystal-metal slug." + caliber = "slug" + icon_state = "hc-slug" + projectile_type = /obj/projectile/bullet/gauss/slug/hc + auto_rotate = FALSE + firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/gauss + energy_cost = 1400 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 index a64e075dfa84..b7a2dfc86299 100644 --- 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 @@ -11,6 +11,19 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferropellet = 4) generate_items_inside(items_inside,src) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferropellet/hc + ammo_type = /obj/item/ammo_casing/caseless/gauss/hc + +/obj/item/storage/box/ammo/ferropellet/hc + name = "box of high conductivity pellets" + desc = "A box of high conductivity pellets for gauss firearms." + icon_state = "ferropelletsbox" + +/obj/item/storage/box/ammo/ferropellet/hc/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferropellet/hc = 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 @@ -24,6 +37,19 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferroslug = 4) generate_items_inside(items_inside,src) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferroslug/hc + ammo_type = /obj/item/ammo_casing/caseless/gauss/slug/hc + +/obj/item/storage/box/ammo/ferroslug/hc + name = "box of high conductivity slugs" + desc = "A box of high conductivity slugs for gauss firearms." + icon_state = "ferroslugsbox" + +/obj/item/storage/box/ammo/ferroslug/hc/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferroslug/hc = 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 @@ -36,3 +62,16 @@ var/static/items_inside = list( /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferrolance = 4) generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferrolance/hc + ammo_type = /obj/item/ammo_casing/caseless/gauss/lance/hc + +/obj/item/storage/box/ammo/ferrolance/hc + name = "box of high conductivity lances" + desc = "A box of high conductivity lances for gauss firearms." + icon_state = "ferrolancesbox" + +/obj/item/storage/box/ammo/ferrolance/hc/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferrolance/hc = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/projectile/bullets/gauss.dm b/code/modules/projectiles/projectile/bullets/gauss.dm index 6011adb61c88..4d17e6256cfb 100644 --- a/code/modules/projectiles/projectile/bullets/gauss.dm +++ b/code/modules/projectiles/projectile/bullets/gauss.dm @@ -9,6 +9,16 @@ light_color = MOVABLE_LIGHT light_range = 3 +/obj/projectile/bullet/gauss/hc + name = "ferromagnetic pellet" + damage = 10 + armour_penetration = 60 + range = 35 + hitscan = TRUE + muzzle_type = /obj/effect/projectile/muzzle/gauss + tracer_type = /obj/effect/projectile/tracer/gauss + impact_type = /obj/effect/projectile/impact/gauss + // Ferromagnetic Lance (GAR AR) /obj/projectile/bullet/gauss/lance @@ -17,6 +27,16 @@ damage = 30 armour_penetration = 20 +/obj/projectile/bullet/gauss/lance/hc + name = "ferromagnetic lance" + damage = 15 + armour_penetration = 80 + range = 35 + hitscan = TRUE + muzzle_type = /obj/effect/projectile/muzzle/gauss + tracer_type = /obj/effect/projectile/tracer/gauss + impact_type = /obj/effect/projectile/impact/gauss + // Ferromagnetic Slug (Model H) /obj/projectile/bullet/gauss/slug @@ -25,3 +45,13 @@ damage = 50 armour_penetration = -60 speed = 0.8 + +/obj/projectile/bullet/gauss/slug/hc + name = "ferromagnetic lance" + damage = 25 + armour_penetration = 0 + range = 35 + hitscan = TRUE + muzzle_type = /obj/effect/projectile/muzzle/gauss + tracer_type = /obj/effect/projectile/tracer/gauss + impact_type = /obj/effect/projectile/impact/gauss diff --git a/icons/obj/ammunition/ammo_bullets.dmi b/icons/obj/ammunition/ammo_bullets.dmi index 6ac65ff5bb66bd672bbd198c45101c5e870476aa..9a35253de3bc5fae2c32ece2d4279b89833f12a8 100644 GIT binary patch delta 3370 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 delta 3276 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 literal 27576 zcmV)oK%BpcP)V=-0C)kdQ_E@tF$_GfzrrNf64D2ymtIOj$)WiLqinQmQF*=Ca+3Y~n&uYT zqJLqxhOUKA6TM^lLaen1G$Bb+961sBv}FA3CrXVJz$B6^iE45a1U z78Wh`(DhnqjtuIpj0`zITjprQNxc@Y(s+(3_{iwg8ppo-c^og*yvQ(B_pVpZcYi!{ z>*r5ky8L_B%G4$5_?MB*;JdWj{pS0)zW_thAYex(;>iF2YJo{aK~#9!?VSgl6xIE} z-OAA_K980@_EE3OoABtxbpO5Y_Ub#c4&On8I~pmUX(c=6{X^~Om`C24rv2`ptlZhJ z>+kD%mgE*{-&=FAs9)vx^*n{8d$jKrjmz&>`2%&H!4!Hj0yvbCb=@**iRa0|KYz@` ztCw-H9ARl^I*9p(+m*?bz}6olmKiBPBomFO#oY zN`+TeYoF1pmr;Qb-bx9}7-wdd!UVE&$-mXpx&lsfIq3kj<;|nsk}tdMv0eyHpf{NI z_qb`dC{BS)MnN#hAQ_Tr}%*6azU&{5^Efp6)eP!PhUO#n1n@$K~f2-c6IvRA}+TPn=X8 z-btweUsos6%ej5s-rSwBQ|YwU?i(S(2X~!vgs?keO4}VDxN<2!R-`PaA`UbACym^{59_Gk1zP{v$Xi}Te?4P z?e}Q$;y-qKTz=tCphmV*2chhXqK{50bM&MGaJ?m8v)i}V2go&fF~lZvenIDodT(L1kPYGUy1d=r%` zU;I?HU9(I8kZ2k}l9nQNL;D8t=zG((>pyZ#A!kk%iAf}+c)LV8 z0_UkuXK2UXv21(WXQ&wgG=czs@A;|pk6+)#9(;8g2k+73curN|+5p;4wZM}6kl#iQ z6JnlYA{J&P&TUT85jacchJCzE$3H{Oh<5-1UJ?(0w!rhqLJr=eBpEOS5CPgw%RjsF z2rWMFbu#{;RB~i}8p((+BZ-quWK+=_CzM~X@m@;s{>*-~?X!Zf71D1MTuyGh`A#-t z`9ZqPz>oOJQ~@)sv_&GZCXV=Jm4my) z;>@&73ke zP9(EEyW5$3EmtfB`;Y)PL|Ad`#+G$i{}O6dVugC;?UZ;y`vqsdwMHu!%uO2D*hnfr zcXRNW5R+pvGmpwO)XB6=W(?j_e2j?D{_uD-KSdM#o&X_9aA{WHxDm7?yd-XT_NQ}{ z_r3fnz9tX7J`J@LscTk=*+hvXGY(#}7#k%nFJt%~!W0c40(JP9$^t=9y>J6i)1@YG ztih>LyM;23pJ~@`w^9Y(C*M1NhteTB&ANDT?y4bcDanh^*7T6l&FL6}Ye5H;ID z_&f-2geriNRCwJ0&o+4WYVY!J9)+aCId&9vSpNLK6jHaBkmSZ|$v@q1lgoBmI6v{R zq%5#3D&v_gyMb(ap?&!Un|}y5$4AMthncfF00qUu&+yQsvoB^!@oQAd;+W;Ag9}(& z`TfwmMxM{eu7ZxsKkWfT-|x+XZth@9P@SJ{p_^*_1Qdv%FeW2}01^{Ht$Z^A!qUX) z)Gevpp2i?TiZxBcT^q}C2tpA0Tlk(8;8b$sO$?w8fDhQN0>A{NEsR(IIB27Uhjs*Q zmhkX84q%etd~Ps5edku)s5Ia60onda1J?+QjNqv~CxOT2$p>2%0ve6gsZ92Uet_2K zWNdhZ#KQ|4JQRSg2~5;Fc*75VrV4(d0%omG>wv)b+w_&p)ikQ=xNM#ts?vU@06@tI zA^a#N3hg08040fW#~M_G6amyA#_Latqk^mu)gL5QfKy3N;ut_303Wc!28h02RYesC z0IFoX29;JmyplBty#SNY9>OIH06;%nYo!J$UUdj!?0^!r@2c=UD^P*(A*2ED0Xr-o zeZQnzf5tVwX;rh|d6-sQ@;FHncM6S?NlqFS2TphcbOHh?e*cr>+HMB`SnuP=zbc5Q z!VUcfNAc%CF)U%>7~!aLNF8+~#@blTl%$o(Y$IP52;O;$19;Y1{wd)O|mr2al* zdFAl*^yi;jcK79nV9KD%qi_Hc7@b7Ac4DmhpZzWqK&J#{tywVuvh8@#Ze($mm2U~C z2rCb8F_XZF*axGz=>j0(OAyo~e1e7d!f`%OqyhLI2XLzADSO+@klmLqrJ2x2ON5Ms z6S&|l2|!5zU{c^cCzRRiw7R zY-fgPDT7vMy>2k-pnUsGyXx8IF~OB6fZz$`gLWfyBH@`2pgRB^jjRExl@HnyYzOVH zSU49C$9mzP4~_{SB><L(^< zr9t8nB@!dS-OP#sJ9{2as#+=e-3~rbFEeuj^qUBM9HW79>>K!43z2zqPPVtX>aZ^{ z|H**A>`u-+>lwB9zPyvd4DA(w0N*zOx)oX%&(RB_KUb9TPxl5w^cTKfSwk?Ixjkko zzwww4Zwk6ju@{W7H@||xHtJzf&@YaCI)~Yf*9viD! z;{=}JwF`hg0&wmFC2ocf8)Zgn=b5SRy7TH(jAlOm;dH*VQc=U-i=8=MXxy@2wgNy7 z0Luk{dC!?^B6|+Y6d>h5vzgNps0~b84!|Wr8GeTX*UxLfwp~9!R|)6vz~9XPA`c*< zv52NEKIo^nB`}O;E}2=#14wP<(^;gEZ3gWH4oD)09rx# zyA{3>gd=1CFa&H{`EbTc5-uN(=HYu<`EXWzQ00sXtoVh$utH@I->~!j|37V0~HwYNm&Yl_ui%s3fP^Jnjfj%D7;oG>RqPc^xCu(kbK!hZV#g1BjXr z;QJM7I-WmpJHXcV8N7zxmc8FsP53^YL;)NM5V1?hSL|u`cr@y4(Q}RQAll|wS^YKHvG7Vjb2gc80E6(1mZl0;k+59 zplDYJU+>Ri%}RAZB?4!T$&5*nE}W902Hd>qt7@k1Xby5NMUpsXXV^jrpA9Z~vpJ4y z^*Q+xF^>v?64ok^F@Z0No;qnFp}hg{oAC4{JZ_H$P=`?0fOt$_AoR$LUdiuM--I;8 zF^@bFfXfGX8sK>$Y9TnR8Y?wMq;|7Pr#F5Xdjoh$b(XQN&0GTU!1vMcK{F^8%uo{m zT@K&>5~@Q4whxZ53(ls1%D|6o>-F;PzkrrJ^uAUh)t4_7z*!pu0L}xAhh1YM_-gqH ziFA@VON`gD=s7k~TsAR5n7z~i9v|pdr=nIK^(zO;e9GZQ#q~)`gU?UA@iEjyEi|UF zN;v=k9)JkxQ7}KNKojl;_-dw&GkZ0JyVyuD7xMw0 z27qWGiMW1?iP%M+Oy@1+23e+cvR~Z{u_zB{!M5uMGt>mH%i;T2XClCT5KK>}H$WKp zktg)}8iYZD=?4|l5Tu2S1U;4y@H7BA?aBw;W{1c0aoOW;Xi-|~Kr3#Bl0ESKw({Y- zCU{*A-`C0qP!B>L(22ez_>m`+KlRB%nsA7x#eZC_-uv1c^us?tIWoyk^8+5f!JHv3 zWG<xVu5_7P1(RgR}?rK*2)(fXj6cjZdf~0FeG(8bM`1^g(cA6Qg{~ZaT{+*sc2>u_3 zrXc3)M#YNcNUH>4d@6zlyiQTjs`DC6fg?Qx7WS8jfVTR!m&-|nR8F>irp^#Oz*0)+L~Oo;J*T;@@)5>8Cu<0zO0 za3dSRMF$^kEPz-5@J)o2LCV-nVZ3-*+BlME7x=N6qA+nD&nHYGN}!f738D|4W~MfS z-m5&S%Igof8ANcQA&}sjmfG55>Q*pI%Yd>&VB&6rqMAm6RvMQr`qWlMIrz*c68L}I zPgd?!F<+M)$7zvJ&{QITcb&+yNdV1u%1I9>GV^m_!*T*iU3Lzinw+fA`dVK7atrmh zwt%e=qIVW?wd0u=AOi~{}_#pxWex(;oST#Dw2>u_p<{*HF`MP9yqmE!e z1Cd2$D%FNrn2N`ftCp-l;UVHtzw)t1>=0 zetC<#Wj7eEZ^1dx_tVM;ztZbD;8EAqwAX;(|8Zyv<`;gQCY=jW&yO2{)i{w)a9syp z?8IP&e}`BY_ca229dkf1d92mMT{?d}bEMm-&*^0AcQ&xY^^|UHXdo?8GdUwQpB!ke zB!>g*u>7E#|IjR&>-TSJ^-j2UzFPeBuTFjq7zs}}@Pb+m8_-M)zUUyfohSsMZl3na z7t|pHO~-cB`86Ad)7*R#1199PtVNpKbTp8A=&KQD#V0X3djX@%&SAs}mc19ei(2sV z_U+=>>bIJe_>4r(Ro5&P-lV)?O*ZWVlXWeeuVO}uxxpnd8KSK6oiU}yHQ<96&|P2o zDFj96Xb5bS_*5LNVh3Mu6hv^&hu<-0^jKk%>Bcc5#HGuuG$sXNvsNwMPf#VQ5X20E z4H$$lB!gHB#DUbha;9w9?r!<((Ie$e>aJEsc7U&jQIErLPV^&XE2Y7C6*u_wA#4aC z0LPBjDB7u^oom+*?_CR_#mPZQ%}vatXT`@enm>`zbC*lR1=sF$5>izmkkV4hKL1Qs z5>iC2xn7nm#PkM)fc61=YvFtqIV1Q6Ux3LFWtE@0ZTE>95FiAt#z+|<;R?{ohX#Bt zKsXr;&D_bOCZClgCevlyGI}|?0{9C3I}HCekuTXhHSZ|NaY>e*e!6VJT=+mf;?dRn}5|(E=L5Xa+-|XId)-B@HbW95)%XpbDy!@`MGz<=OO!6ntr0^Wo2Y zN1PJb0>PIppaH*%p`;p|lV&h+gINMqCm+2*(E+^r(a97bLEnj~;p+$APP=~a_ik`` z16NI)!H-#asYK&qnKrBk^L_!aZQX9n8-^}t+g5?C{#b3c@aC7p@NEZEwgo{VV`9I{c+(G(Y(PK7; z&oP3IVmClnw1{0legZ9=n<&LWg+WwQ5Zz#fSQro9F9`%W?M9X!@X_b@9#pqBe?dLU zTBpKqw3aGl?9EcE>YQD8Ry}#6xa3M-K7i`R5_OSWQXcr8!cHJF~H(g=_6VwD$p&8nsMJW-TaRAW*8cT0YjZ2;SQrgRW8e~=|A_%>J z!W1q1$-%#a@bA9XAFKPT_m?madlkM{3}-k9A8X~4T%u;iWoqSiG~P77@N$}z8qbN zt8bPaBn`@{W4LBpYy+^j0?|(#y~0@q$|agPuB2JAf~K1Qjdzi+*}r7_E6&9U<8n>k zxkn*5U=uYU#sno$J^|q1AJ6clcHbfYw98`FS(B`5;JX{(yZb@&xgk{{`yhe{T2+mV zf{y#aa!zegsMo7fn~meXYE?|2{gR+PkA)(p13=T`crs~320tcYu_M-Wc_A<4&Vkks z$u2<*wR{yqgOZCdS1pl>)~fzj4|@;qla7I5R04{52OP8yV*8~K1udJBBzU=GL3SSw zsNiq1z{{VuC5F)l1Z{_I76(yFOt80IzoMv16zX4`Kf`3Y>1z_fqB#z8eN+R`3kvA< z*F~~(bI>m^%Q}wd+OB_8I`3|3RWX~Yf>u>K8xN}afHs1|#yIV{2GS6OOn}ECxXdN7 ziLs04jGANmC3!^Ce)x}J9tMJ+KG1-_VZSDyAN}0#Zg#DMx7Wb;Ho#*)Xg)V-(m2J$ zyxQ4#(EP$*(D&yv?nZY37o7Ph7kD{fENB4xOOx?f84aV%w#3;Zy$qD;2;C2M?z8NVNNh?hCYpc;b)&syKv#co&N<0e;lp( zy3>X@5(b~wReI^>+5nnB0t8`Fz=z8P?Y5|HXVYa{KZ=>0Iw6s};(C>g9m`0ZgKAo^ z(XEobdnx&HJx9v79rjHwuW>Y$U-#|r7<42MIUKY{Z3Qy`l?ig1=BXcty(h=4d;B%F;3P-_c<-@-exU^h& zwForXWf>_MlgA{E+n|_L>Zjz>@>M>U-?a-|!&l*>G5}dC zAGE4WjsbvhtH1|5QTyeG=I)K#Xs4wYz0EP(Cqlf1q&S=8+;}rxq{h&*#rY}Y*!Zku zx+IN|(b-guhcqRQh$C&40A{FoNMewd zC$v>17Jx4uxdZ@bCG&J@R<1BnI43EU&r3H8k{#?QXn5IUfW0_EMaU>CKEhh6h+11s zXp5If2Mz_LkLv0xOQb_SiIsqI+6;ZfK^%?-WmJM+*)Snd@H!!?SO3zd?R=6yelVRY zuT^6Z0DvVP;F|#;76z2SRb%q_q`W+p^3W^fj#Wuq0{mD|t1r3kcLTlrwlhRR2)@$Q2;Dq&$joxL=ErNSj!L{jg|pO<8te~tqF0wXbw5QHE9mm}Lh=hWr~ zj?FBnUKNvJDkm`l<^f-aQ>Q{JM*wQ4r&@4KXxj*w+;5-DQ7F$-FPrxSnGLj`9fBoe zKod@bk4L3h=(L2Xrg40}BbK-ozddoRL(Vq~Z0aPQvq0e%fDodh%mq%<=8Y;}23j^) z8Bn%2HI%OpV8X4@3uy>QLF@%fu~Z0+G{HgHHG3uIUHJBzwuS&cAeWxR381wEfFv2< z%Le!s1K|^VOj;QeM=frr>YFi3v@KjD(}YBoU_i=jVdTUAie$%5PHk;fn7^4{CGcE1 z=ts;0hOQqw0FKmxIf`RKDW*M6fX@c-r2}0yEd`$puw=tui$VKMNQh5ZnP^J1H2Rx- zOGYfVT~4l~>2R_M;TbF6w@Bj zRPZb7xs!gfu1|s&i!Y<%LbY& z1yT^p!L_zF?r^O*xYag!?seo%Uu7_T{g-J=&X~n4%U3Gebe$kLTEF;#$YRE}9vfkH zSMf}clg}{!9{kCfkc>YDL6{dISYgYF6+K5=CHEbWhR}15dB406<2StfE5B)DfW<*o zjsp0`0U){XoRyKlO%@Zmcq$WrbEE1Rcjl~#!IWByeBN{u9g{<;J&{mLJgAjYLZ5kE zF$G5knwodjvUlbkNLfg6H*t&;W0jKuOaAE9X4)uT`>s{WuRWA56@R zdnAlLrT~1)6@^(9MOwi`Hd$b%Hvz_URZt4gIE%BL4LLJNxRd412*O@(OxH&tQmX_7_HUd@27MVR3Cmu!hT^#K44Ge zZ@xSXzThaBIG`dIAd~>Yd1jtw07y7%0K?hh{wnd(ig&C9KYvo94m*V5As_br6;5^3 zy-EL`mEc+r$M|s&HfXvX@cm49t{Pz%_QH8ds!bqvfl3#!uQbiG=*)l8n!;Cv;*x+3 zNQeXNHwS7Z8}pD!Je`pmPqY0#)==hShaoW^J7?aR=d(i_?ZL&F7WG>fa4Z9Ygzj3x zy|-31KfOieau>9IwP}4Z_C?S+OGkt3eK@ZLe84P-zg0tI^?jVY0P5W|)kJ-jFMjIM zum5|`PvvZ8f}>#KKwIU)TM|Gx4Ye7*F2E%ThM|zv zCz_xID{tT`rex6AbqC_&cvr5Xa1!U>=FvDVgE^Ux3Xo1w6_I7xrqE^Cmy_GhiVxai ziRp=Vg5;~9lYLS3E9gwU42%#OBk~Yw-eI;YnT;M+wfx(6?p^ig|B$#D&7^s(BJH}f zs9z@NuxUUY#0c2*^n>pIX@Q!)0Ekgg&{XCWD<9kFQ)GZA4@^k(NAPi!gr@h1pEV_Y z%k!9g?TVkMbmd}|ytS4i@7?bY1nxB6+S-;+=hU%~mX;6K)Z2E<5SB}6~#-XW7H z&X&M@BSMG(uFLwDSfP+O(0bXJ(ZE>{;H%{UH0TRb9E1&yOe;Vs7M!v8cGKsdrYd8s zHs#4{xZt>H#8kSINDscEShstbJa1{m+Kp?U0IQf`ni7Mw@ZD-SuNz(`0|Q6lxonY* zYc2_>yzt8EfPVeqnd@eNB-RC|0(kNOq7$wk-cP4i|0`ErO}Uw~Wb)m+AQ&8^ZjM>! z-ANTL9#}n!W8)45~eS>h=G+-orVc4Duk9@hMFJ>p2AwNA@ z4_=+Z062;gZ{|!b0Tno85Mm&9U?md{t$^2l9!(oCN#ChS|E=j^*UIEeEv7&G#7}Sh zq2gm7S|sm-)_1QTS$ijFJaB=i1w!y9I8pt@V;%nY4|~$#9L?B6pE1J9&2a5faQ6I_ z*JpwYNGt$ZOn6=(Ha5(J;WVN+ux^{-JZ=ooKyC5M7oGE<>C+EKkz^r3`NI;xqG!_Zw0Cg&)xTO(W-Aji^1|Ss%pY^YvjW+=xu>&mH^=n!^l=id&RJ>pDZ=E)qPbgTV(8nKTH9XJNQf4|6 zJ`(^q0glzKAI?!fdxGHKc0k6?M7#cRSv>dM(;=*G=vFsm{vYO z0&dvx@(Jehz~h1z4!4&-kUC|)m`ZLYJC#2vbnh-7ky*MHJC)m}V}bic>ggQfXIn{I z`D8rd)@&rU!+OmQA$Rura);9gn^GF1i^5yQz_GL;VO8a>KDy6 zB@l4i%{W1H>bQ5wxk4_PmoJjrUauutQ;xEAThFFRW?pHOc-{)-2O*EDnCd+yB}9Tp9!%?FG~$oFdGOSF8% zPv$D!GEOtX`Fs`t(c0`+?9g~+&={>TW*$0Ntzps^%hUd9zdvvRe~A$Pk4HS*l|QjI zaj$Sqf#32QuF9;r8JC@a;{?#4X3&1>H4|byFYRl^8TMFr{!BZs>Pr>+u3RbtB&ZZc z2o9Z8!n~=lENkv&^*l$iG92Jw5dLG!9He z4$MUrptAsoRshkC6LR5oE4)_04Arh5XGBoWQFYW;oA}_*)5#BiSY0ebdRL zWRZMtT_u^f=#XpGr{~8=qUvKNq)(uB&g_u_s{M_xd7Kx03YptuX6qQ@r$2r|?axw$ zx(19{GDCaqTC;uVG+?wQgvYb+xTU}5r!H@^i9AF;EeBhIyiMRl2&A}8kZb}twRvP1 z#eVhJi03W$Dhrg$m9$rX>x*6aAv5dbVRYR|dp7WPGr zUxg?ucWJIe(MQ5quU>|8*XU728($U+rlMKv{RwdZG{-;#20)V_K)B$NqfqkIm#+X@#Ofl$D!1Nl-dld2LBn zAy2UV))0Ia0X(;s>}v|o;|njWR2WxSN~cWAHgUH=ZsECBvTa*Qk-KPNn<4eM7&Qv;EdCl}>A%BK4+S2$|1D}*Z#iKbc_b7fW-~8F(pb1W80rsJf zVD_t)|Ch9E&Lo1i4jD#6h4cJj2hJ*qzI64N+l{fnXAmjo0Lr#f+8ES%tuK-92Xhi~v zbX5YVucBLY|>V5kNc!hqZyW!x{ECY*GNIgRMc8 zjf)r2ej?{7Aq~i1y^I3~4HM6%Owhcw5Ou_LUC`WuNM&m*cq^z0{h>*=+{Ncz`l9^S zYZDX`%_a{_wz#jqg>(G#*+B4tJzmgoKJJ1Qdq2DN?sLLx%^~mhC$G-4A+IhF{JljzO%DDAg^WY+}fmC1wc}? zuu3v$tq7m3FsASeGJQraPjBHA`gcFsx)lLj+;$!u*5=S=*i&t64Q3S~7oZuUQ2v_3 z9s6HXiwpVk4=9TxTq+ACO#W!j;^-3!JPl=1pNHJ>*C7tQt)9%KnUAv5ee)94||DGnG)<-YC ztZdyk@47JemUF1fqhj=h0))8Mj0ifGhv<%f>=cUvX%7y3K$`m6YDxbsPkcO`<9W&& zT2vlwUta(M2{Pg5PZpFNr80?}M)aNM7QMHtp(6cHPiFJqxw9fTHDx3KSiBEDZAXT|>veZSzjKfg`hdM%wiI*X8dw?bi8)D++R?RM9n zn{pAYZW&E;&a9;e?yqA7J6_ZfTB*&LV1^GdxeeCA`k1DYVD8|1Mu zT#!kO2m0h%g{Z!lKW(dc_SS2eDo+xE|Cb-TH_6VA9GD=x2I_l-N- zG|_~IFQhwn`lyp>%UlRDz&z7LmBjgW^}S*@%YCE$QisuNc;doKbxkUXj#z%@`9<&S zs;@|Y;?LRiu5VYU9Ra9oLX3Li!cI8Zx4Zivy@sc@@>v~dtf+`30JxUSnw3Y`EfAi1 zmURSRnDOw4om!_|Oo|`BWk6;^47(2)Ha)exA5J}r9ER54ivu5!0}a@2 z0o`JAJ}n6Bi2{&}B)5_Y-2sTAueROMs@rp#zE7pnCfe|)N?Iy05z+)I8jg30dTmZplF6ZtB(W4Gz95q@TDuk zHA8iut#bg|`+(7ctFCplNy|L$XVmq~UaB@oR4Vaf^iKUMw6-8O`=&I-_g*8dXjX96 zLOat3`e;u1<#dbl`maw(eD$AO=)K!Qvl=>S2s2B+1)#Umo&T(*d1)d`efL~eck#!h z^iSQd)QoF}M*D2h08UBHu6^R><33=t;HqnV-RuR|42|~LIsmYp4|u{katmo+H+v~O zcsKpieP@uVuUy5VJHnm-sGXy94;`pYT22-d^x5!R4+3~U?@Q{TJHg>%_}t)E*_Hgh z?f^Uh0G4$Gpne{G{AaXG+we8&eYKWamc+B&7r)F#U$=}3HjW;A_7fEs1gHU<7{RS)uVp-It zERg`RU(XPlueoVv(rf?vQfma=0Eja6^;y7Eo#ThHk(3kJwrCrq-=JCjD{iOqy=t=vB>Ij14Kf5Y$>d(O5k_F7kM- zzPFXDUDZuw{YTevSD!_m$EPsX*=NyZbR@lvRu0x)fgOOyMg1KOU}&|j_Rn2v#11v! zOYyVlwJqJlwKZ!lomIK1+vD)&>$$z}`nDP7=nzAw!-s7l`uL9OCbIsc>$tPeqR-RS zXVK^B>3)D+LO8&C1%}~kgN-9)JY^n%QM*7{vj}_%lmxjDc@_wY2XR?EnbEi)BX(IO zS#kt~ood4q09=@c^38y2F=gR}6BXD+R&()5dR&l(7uxB*E&%&Ggw0$PM z-Ls9okvN-!_vlC~r$QncE2h_4FtM;O@`m7pkN8{faoT#HrlO)#67-?opYPb%c|1-z z`A0=iJu68d9+|Po`mYP9l)+omD>tip+c@M=a7q`sAXOwURtD)E-ffCr$JrKKCW%my zquO4K_&xoz#vo((oMqv(&$hLy?0eyMWm;26BliT%+4eYHl|81%?WCuB1up#TGT~@x zBg4G{tLI$Jx`U4+2LZT%NQuWxh#Nv@UK=5jjS_9>uNe9Uj;$B{jF^0c*xmTdNQ$3P zv!rTUjdTuS8-VX6&!&Ja-dvopiWAwi{rM80=w^vA3qXZ1MFWU8dsDNl?MR~U&o|o2 zv2veE<3!4wQfPlVIFB;c&XY5aZR+**PyipEI*fWoTOB@&WKZKgvSY3P0mw1;Se8 z&?<=uBEdSQwE-sQ*eC~WgKTP6w4r#o9uB^zFe)R!s7Ig-0Xla4<>csh&!@O2Ab(X8 z@o4)5Ucc##I7u2iUMbw<2E^!i_xEGSUNJk&95k+p&8dL8o_W=a(}D|`(s2T_%9ePDyP%XucF6JRKi|_);kI z0fe$8bpHitYvxu)ZM9&2*1)5hk;FPik^#gx9LgS4=w!JgE!YMihK#}7-~c3Tf4=Lp zOzOWYgC>AZ!Hq6S)c$aw-AF-_$hXQW-OwcSa0~*f?GJ~0ib18c?av3tdf~MXdeQ*& zd|Vcoq8BxEAB+i`om^NaAaIG>Os44;#^Se`&4ticB!*j?YU8;2se#}})1{!c|3VnX z;6OvTX=YK|{)ih$aohfg3rK;sEXUk!g?-9}M!O=g})mK zaBTQ9Yy`e=r=&p+AZqvIPu7_kpzv`2Q$M8?M{MKr+*;=a+Rd~mNhGb3LN+$5*v*Gl zLdB)^d17|ST46D`Msf^KJkSrzP{%%~V}68%(hLh1v!z)vfhP1o8FIFj`Wu2w1R${t z^QGw`9eLzSoa_tvz3X_~6VO~S-5hxI`^ovKcjQ>es(OjGNGbi+}!1qmnPEYopus&$ z>~Nuu15j^Gw~REIRy9bm;EA-f1X#{gp z_mqZzBS1^RB*hseaWMiJ0d-#86lAS%KKINxj^FCkHe1D22XdDr3Hzp0ZqoKOD7f~P zw8~%oq+vo*lcW5?zu98R!62NoDRNK19glWAezxG+<@TQL6=)Lz{w8^JQ}*pwa=w|_ z{>afWy7uGQUbG(ImQ+IL(was|1HzZP+Oht;a&|P2Ba(20_rym3j(j?@X0~tK_R+y{ zTR{7jswC+sBk{G+d|hy}{n1+Rp6_2kH4XSy;%q8_bBtQ-vZgHzqE_1eaPSKb!+UM} z!@=w3ur@TqjZGP2<5J+}^Y!3dHwD!oe0Jjgd>qayA|(Kv0LS6FDuM1Ip%DQWUHipt zGMVRX68M{vI8ORf6!R6E{kR(NddS2;0M`s5R*tKk7!1BWCm7sJLW>At&#&}X3!>%& z_Z>uRYG98CnB18bIsslgS{2d+ohN>VHC@aNHLp&~-d0HiQFcIPb9K}VfNw7iEItCng>-dgu z+rRO5;GTeSv*{RfJUhbIl63Ji(bl6q0jDRJNSQZPUOBBsZEhZEDr>0hYOg@QbIbuD zubjud0=E=>J^OKd4! zf>WLkH@pEVrQQB;F#@$i7dKsrWjCk_sgpfqv#L-JXu-Dq;lKAd48FE75ZDs# z{ez^Rkx|rsB)mUjG=MsUx&|cSNy@!}Fl>TSG!4Ulqj{T8aF+%WwLf17vgz=^Ww~%O zvCZM@Jib3)NDG#Se>1*^yS_Wakhk6cKig)0A2i$^GcLdzDho}*78_5-fQDPD+Q~vW z0DhkY5CdpXpSaOYDzu5ordTpcmWdSblKr69u%j&p2nB#F$7(0j0PIGvcQ!y9LG4-@ zD^Mk%vKXGD5Q1S9O)@EmD5%zP>3ag27qKa}8orTpna}LWo`7sp3`ZNJGyFH6b;NX_ zd@?;)y}HZ20%H@+&ep&I+$-?#L%&rz)_w{&SoIE2^hpo_%ZBIis~w+RG{G-gzpx+8 zjs{SNa0*RpJj0t&U1WD!XZrHjc#MAhZerSdpY&nJ%U#@(@}E$NbY4#a|OplvF?2BPx7l zxm8}C5v03qiue{(q7QDqwm%&BmEI5QB=ve{$2rC@d?c*-G=J!At8K~(pSO9JXqvx4 z6t3BCHjhF0@|&BE?ny}0%uxMr9l~jWz$$?Ciw`VT$N7HW_OS1x+26f|5H%lyq-#Jl zJrO?m`+a!6APk@OcO-=RcX|S$zD8ykJY5i)>)Y_auDH! z2nyTSD&amHIAhr#03Yx248aWbPoVx8)IUT%RW&(40zBooI+J3a2-TNr5!fNWDnZ;M zm>HyBDGFC!ZkCsiR=8bE65fKZ2k-K2dt9r-!sRsM>0g_JKl#ZuK4za}8ma8ylIe|I z?FmToN6sYaqn*^-oXBhmO+DEwkfcrdh?XC!!@UA)oom|x2-*)XUz?N-%@2Yv?vyRI zwP(%sj4*8#U`}1++TE?--ZldN&@$4*!h|+lwYF-9iofB#V zqF&l!mtUQIbx<7LyJioAy9Sp83&EY>?gR)DAUGiq90I{%aCd^k;BE;LB)}j6f)4H$ z+#$H%`M%%1wOh5d`^Q#SS66qRx4Wy~eqKAzIUUgA-J$vR?U3jUAn5y6(kDo3R~(|g z0Cm)*T3Jm_$JW#(_Y!LmIlQV|;$C|eM>(wg{@WZ++a!ZAw{qelP9WEJ9UTieTJ&Tf zx*1zvvxdk>{H7WaQm5cH3OKX7tsP1=N|cx*`7fz`ypcss=-Ndpnf%r-*mIuMgsT$t zdR!b%I1j~pTYi!jeSsZUSAW;7Ud-^Q?!=#4tL?-cND0)X>XS)x*hRL3;(Sl^D5q^o zmumlRD&nAP!skqP*|c5@j15n6YxG%3%O;P2NSXkeg$$jySmf1_5b1JuI5fyF?HFIt z_2KwpU<0i2N#m(03%wa`_kz1=^hX52;;mnU)?2!deS)akpMIM7P^-#hEq^CiOi({{ z9|~#d69e)3T{$g!|8g|pU5|Qb_Tfog-pqj{B_5W#ukrUunbt6SqufT6y>e2wr9L9j zyI&79<%3weNx^>oHMm#dt+s0(!Z>|OK#*sw9O{mY1cYC@Oqr`>z5f!m1D3au3Wh%y zVwj9gY8unwZ6lJPrOd)Sd5tTrfjR^aer8zy%r$^vLK<1a9&Pn%j!&3!9PgC_?{8@t z2iVrkWf<81IFvqKiY&V;u9-(E7uT>reLw$s3oB3REk8Bl{g5Z~$tIOM|7!2aEvWX2g`&7a6?GEns}jVsU@@dbX)wtc4C zZ+@C%JVa!jzlxlufHZXHcGoIsz$Fc~VJfXg=@y4pOGR!V(veUYJS|+&NVe@s2*icqN zapGDp`2tRi$K@hRK99|v4}L==@$q5F?49w3Kz`ia^VlnWTS!me8S);~RqLs+^v#Ry z`5}g1q23|u9J+ajlV7}azL)DdjC@s{eNQao=g}uOJqv#Af9YxB+S2kUM5>Et#+JDed|=(Cy#i2{^sD-zFd_FntT6NNH9mR zIbMa7S4c6+LQHT#AsdR`wI=+GI)njNmPL)<&yDJS0L8($rD34_jjw3mfWcEHjg?G%6AKaM@Mh85h;fBof!t_XXyq zozvWBu6A6RC7kHU_eFtR-Z8)HWd$YZ)iiv*I2jJQIb5xb5#QBJQMl)g{@|@7NM1%F zt3shy(_Ffb=8@uONAFu2(>f7`#N%~*Fq3eg>YROJy*#Q-c*UR|e45u?OGxHIg58Ge zhZ-&x7=uZ9QE~DT_s;La3|JT^Zz0Eg^h078`Mer*;;A(WUG&==$hggfN9(X}O1zoz*hLP+W{2O})VNS=fz|1%8%KL}(>c>3`G>j7 zSOk{0qWetbe2r9?^!R(P()vkuRb&l&uVwest|)>JkU8{@cqdAfc4+U z!xW3EiTlrad3`d*@IMF7B+o&41)XLxhClnAiyVsV{aXO7RBeO6sIx@miR`lC_#k(`GyLMdCQ`g z>S>&_kJs|=<02XB8fPz6e}P)nX;hYW%R!ns`CdF(=fu=(haLp8{9=>`B=+`8b#mLA4^Y)oKKG}tnx*5C1 z-|sxy_-kel-l--AR_XSRvwA+S2;S~};X&ph)o~(FbJfOd-)Q;SaufPlX3NU9Noqh{ z*xcpVwG|gTn4H4T+gOM>{Nv8V4(W2+VE`6w=FQnt*FLR+ZTnHZnJmEc{Y(kt&JTUn z(##~D{#p32-e^$AxO9ekXnXGiZK*DMZn#vckr|F2Y8?F0rw^q40^~C<{#g{pOMz*$ z!!SNz!M(?z$T>FnM=lZdVjqpDp77+Mi=06OIYjaysd~?!d4udDIulYhhmwFMp@n53 zwrUmm;wa6-!PEN5v#3*q6PKy3Raf~ZWHotZH*MyRU384^TtO=GlztmVx*?7!)XUz`jsAS6X|5uxbOVSADONB>-r)}Z*P6O@L+ zGhy^zHq7fHoo9n`WYJPMWMvP%EH=A|kf-h#Cf=nF4a7b(yZ0yoVb{nu<0Bu19t6D^3F(xH;iyxIJ__B7t5Rvbq--Oe!tBm%SKMP4WviZ%>sclF}N9Lp1akzBJ^oToA z^`l4b2%~>1@fQ_TsHQ>;vQQz6_*~R^h{~5n&;pLzO3p|;mtbui|>$=yC&DS zro%OhOLy5T*!_z}7wU&UWYlTmSF`eG_I-umVjyrSyY2>p;`^;W63>~{5e>t?GVr|w@n^-%9wT4y5**=D z^@4)cesoUh?1?YGA{+qyp|6)P=_jqk@qcq+irqx*4pK!bbIN&lBTUK%TI#phOVUt%PYG6n&)rA02=jPR`~F>1s!2V%kb?@pnkjN7cQCY zN`Ct^-(<(J#sc}nFgkO(Ekn=61eBaP#%Lz$*-vF()K5pl=%TAA(5x&(khS=7@B9ro z$#7OX)<2GImc6(-9{2|=upd;y{1vIGx|8Ys8=B&4YH}JAaR!rJzaoAf-V1^50jK(0 zw0p6hd`~jHwmtz9+1D*rE<&-{>|L|Mk#3bD@oR@K5 z?h3Y1f_|CW7m5=Qea5j7SCz=cz;vS>GT(?&@mZefeuQSqZUA?fCWSjpA7`%?itc=G zn>38DE;knm#7(XJ+cm`T9$+M9XG9HhUV8NNihmrPaghwy2oUU8H#6cUmdaCq+UapP zIEl1-Th@Oz=47{7p&$GR>$M7uVOa&XS)9Pe%H^#mVoUc#@PUI=z!qdefdx zETcs6njAtzS7qiKpuS3~3po&OeSxd-y%1b?WdnC_r0Ujl#JF^C|Fzv+`Km6g_{j}5XjQs+*5Tyh{-C<8#C8rS>N>Tq=Fi=WfmD%hUIqxk|fECX)>&pNPN zR@+7KC_#EuzhX6o2Ags1umQ;Bu1~gunYYBhYVb+Sk5!#%9)i~7%+^qlAtSKze|8l zQ1^TYe<}-8Q!V(_9b?#fag6h+*2VpbVTb<=NQ&9)0pic6honIO`>7W!cu8)tq`R@KX(CEBhR#gta~D zSD=p~846wc0VGGf~UWCTPf8|%91 ze5fRejOoi(Ss9<%-ejLEHb&G>NighfBUc??r)TWef168XME`(H=Hy@YRk6s#oG2)T zw#&0Emo2E2|9Pnwe$K~0ylb?3>ItlO42_2vWR&jm`-el7_-1D)GzHC))bDPZ zSr=4YGP742JM+g9WpN7|Lb@U;tIaMV{>j@ZLG6R2fMN~vk|%uMZ6S3La8W1&bn~VT zvoKLCkbU5RC86PG*Gf?Rg!;h7wC*x2}bS)cKzrz@x+BJ zN41w&xaY}*wQ(ig#U-?^PwH5c=LC{Jb$z)6Y`*)9S;)p}tJ|GjhVGJepCHJ2K zC9m;PvDcx9+fE-#VBqLX93iGUDcPpZnJw&q zqJ7!0F0EamJtNGN_TBw{V|*?8sHl2Ey3)_3S@o#0$RJ<*c#yk^mP??vsk@7p$`JJ- zC5V27#PZW>?~=C9`ORBQL&I>KKL1m*jeLdS>F{h6#;7!1()mQ+wtKX z$gd8sk3OAs?m8E)HIf{0nPjS375AcLzaBsZplC=umRhe{Ao(5=`wogktsnNaV-gpI z0b`0)>Ubov*aKIrr9jqhy4%kBtc-bRa+~G%kA9Itxb+x(c@-0L_!5izYZ-8HywJ-M zaNQVkSs?t;H8@wtx9ibWgVv`x{U{>Js*#e2{9#I}Ogx7u`?t6-wK$PezU9KBD}KQH z1c$#J?}_XdXdR^TVZ&wfh3BqDf!MTQT`8;6CcFdx80ex}D2TJw%~>ah$ZS&S^{WD2(LOhWpQK7H)em z{yB@{j>W7}&jT7v)hrDkhW3s3JO&Q*toxq4zAYAdbd&I@9*r!;v+Y^GJCj=P@(d92 zel&k)OM?^h`j@L57OKFMh5>uofNbRYLC^OW2?-^!%4*J8JIdJbsMWd+Ox_zhjvPG) zRr3wOqPG+1Qg#g*Ss-sy3?6WUY#2M;#Mn>a@&}trNZ%f8T8N zU8wIQvN~S)q%`Zp;J5PGQHU_4oQ?l|m1gV-`_dtX-aXuLoAmymx=n0}Rb#Ce_2W<1 zsqpU=w05g?eO@B-v|Q3yE~b%45cY3?8Bbb%0bZIQXZf>NAKBeXu8pHsUYiM4ym|d@ zghgV4x0>pp^`rbcUO9uO1O$z`xB(U4T60%V-GlB+t5Wlo&l3`di@YdWp4kXJFNvy0 z?RpuBq#YtYF|KGw*r>Eo+XnqtR}1>%>bwS1(67G^vZ_y%qx*hHcAyd}Tcn-NBKq%W zPFNcdc~;LwNyh62K@}4Dj6CZcdx7*Ve@lUy6ISJnocNA{>dT0T#Ng*w8G@CK8-qT} zZDzpN0OK6#IG6kt(uDZqss7YAL+ZZL9Jj60T#!->?(BRd)87QZa?}+PPzcZo9N1jn z-=G8gT~}D6+s_fCflu9k5mr&5t2FP^5@D08U#Uec1s#5Oc=MF`@@IH2VLSB594~dj zU9D625(Uo5-&(nqeRsgN#!Sv}G1h(AW_2PBU)eJWwdM6-FMc@DACDVf8sHqHZY?SO zNxXi_No5(*-lfivRf=WLCZJ2VRnsaRab31eJdX(fQ#@5vO-JLVHZ(gNodutu<4Xw4 zT|K($cXImu%{e&9hh@*_AW%82!qKHGjrePRNhm0%Lu0MWq5J0-UOxt5*5XL6c$TZbkF ziX$>}><8W?N(v*G@V%m9n4I2|kQC(~fOtNQdc-2=rL~U273d0M(yEeF)Gx_s2_8?F zCb&ypQDgqSg>OlUW==<~cvx)X&hG428={_UgwHu6c88^}=qWp=b)Gnn0x`pBA_1@g zNB}aI1PE4)k&D5s9UjJ{8%e@K+oQXgbvz*CRqXv|Y%12~eP~vjuaD`7Fg6TUh4wUx zigA4{`Gfb5TYxBC+Bm}dW8hTbn#Iw!#|3Sb@cdb2+n8vyOu~_VD}T#EhwpqeA>Ta>Ty{Zi}G|k3-z?| zd-4_|=q>N79is@S=TOR(K>BWYn7lv)UNUpz5Jv5MQ|^;_rA4RN-G_n*OEJ+#rR!%t zj^Ch@jJKks`xj7~7hPtY-MI7EQe^M`qm>!Eh^H}gzrAN+GGgunSc}D+yt`tb)!)o|H_uk*#O%Ucz24f0>4W@sGV5IgR0q`Ez1(IoS!1P^vZ46D-r{MxDAS&A{* zlrVLOm`mx}mS=bX%}t81S^GI~Jwm}se)=Oz_%YM+QzxVNTVE63(}Dh^A6wZ0w!QGw zia=LgLu>yQIsP^iMiK1Xlt_$4Q513K`Wzxi%-4N~$?I^!N0ShDPp|H%*(?HcsDCwK<7>=B>U2j5|?w z>w(%TKdIC%iJ>18l-B48{B4$&T49AJ)Lm2m@p@JDClckuP&Xxd^L3<+VXPn5C8ix- zE|!m^6((cV+;LyK?;){Cq!QgxvQ=W^$aG&o>?eM~m<{<<4mVC86UH)=fa&h%);I)2 z&aKADN~t^iRL+}q-K)~_3T(7*^v^FTuzp{AzoCAR*U!KN0#QYsz1b#%$;j0L24TP3 zeLtm{0Szy$6XtjdLe{s`;u!>y`-uef*|fOuwN~+nW8Q8w@CHetKiP~4_%hv_Ui%+j zDqy3T(;U=XV#&;+s(O48o#LM!A_$?U2Si1%P35fs`Rq8^(O~o$!FRyxHhSY?eW8Sl z<1a$X24IR4$AbM`!MI`;m7kT}1Q(R;$o@vM)aRS2MF&IS==u z(KdZRygzJkf0&OXGcX%JkWidOcy<{wB|SCd48rOoO0_I#6L%x6P|A_%rA=QQo#Pe| zG7|&zy6D2O0fFD=Y`$zf`vj0xunWIm!xB=9?f4d)u_3bnV1pTRJTzw+xSS>M{mTkf z?iVw1YXt)r08;3>R!&sJ&7(B*Ns?qVuD48q2q}QRK)Vq~bz(-*8ed=pgpEBNX>B&4 zHF}qaH|uyvT7^>ZPGTQ`Szf!l1M+?*{zs(F! zU21!YwG}XhELE2`q`vd}f{}CFNpV_rX&*F|@137IrAcY)j(5}=HSw;hSEur#4T+%M zXkleovCUOL=?N@*Gpc9!{yr%OT$)`I_D{z_e?kUdcxY_Mhx_2C9)F)3X?HK%<}!{` zqP5i>O=ZI~vc%8zFkVUr2T@tcBxRjMT$XS?=4-!zT9gT1K!nhcmv7!G3e|~Qdqka5 zcm<04&S-z1iJbtj0i|8BPqT_EE4RF*Me}MOeR7B_x634$d}h%VQDW^k5Y!;#IE(G8 zON$oy34MHYRmI)l8ye7f2BHT=iz-;T6-cK1tP`FFMORup)G<%&?PfQy%vuksxt3whP#92z86*U{&%tADB`BX&_JrtZ{ zFHvD7@lx@nJIn(?!1Cx_qSp?{<2KT&5)GgM0Ey?+wvvaU)akhzg3?W~Uy1g~?tQR; zG%bZLpmFLniN&fNEN*%mH<8)zzW;U>v&K*&1(mZ?Sp1uP=>>1uQ)2tHKN-c*VVn1| zvj5ZExu-9v1gV_&l9@ z$IkwE8gS1Eg7Kikv?~~@Py#tKC}o9DpIT6AStHtihZs+v*M)Y@K{-Szg*}DDc28Ap|C*_TK!7r?HgaAb7e{&vG6Ucg)G>~kh>TPw`DC~F2@q!@sbCJ zpbCW65_@;6-yvN15?-ipHRa%OlA4O$YaDR+u1|b#wf;1BWXLFm{j72RGCPx6)ycot z{(X~1_Ql-X(cHefUd62T%Fp3E9XMfzlaz7D8+*zy(N%!LJpB0sDOgeln_Qk7;OmJu zOEw1UX=t1%^$gZ^k5-%uMn*-A-auPqLdkf-$LWEB+(AqU^=M%`lk4WU{@sut?2VJ4x&C=SGU^Ky)ZxkqDqU zFJ%oNjxa}p5QJRp0y3u3e>YNO|2)dBEk!;nfOCS)T^KeFmA#+Sr2X{U1Kg6AG&pw( zYOk3<5~kW*(Ydz&D?0`aE4mjs3p|KCPv2oTDH@(!&>sy!`I7YaIfBax|ErY~o6=}0v$Un=PLa2rMuIMIAxgckQb z_?sm|%l(#2!SB6A&9+;d2NWk?N^BWyx=ZodYd0zM(0tNpWKIKABH6aiJX1@BC)Bos zehbt;?mL^}=T}$1A6A+q_Yc2ijSTc%X|nG0U2VIYQm^yokW#uk4k{>~@GCnmgc^?~ ztW0&v>{j|DE8^4FXQbNT5@#FjAYQDLCrqWxsc>AUxm* z`2{6IN*tl@lV5o|3oP#(=<59^qjMGgomA~1nRW1h1mhki8VqqRZ@ zXz=LMiDfP@x!OHbLJ9G@>CO(Lh~1xg$hF3Sr*hrz8b7jRhLVk-mJT{G=c{l3rGHMQ ze2v=T1BPkUgK~~G6-pRGE$DhAll=#_KoOwT+SHmm>4f%C4U;F0LYkJA#|Y97@xI6J zu5NDC=S1luL94qstC9eGs^$G!c0j032f0gt4rwT~%| zfJep_=pxe*um*&(fShShNw6dswuTH>lpzBs{(C_T@u%>FtqZOIaKK5A4}k=-asU6| zkobQG<^S)_EnBMn8^`xWw=u8zU4;goM!tG(sMn-mtK9smgd}jE^qEOxTA#wJF?bjE zdGfKZ>>z)#kiI-AO4Gaw!xZAFS8=h9ar{El+<`y9`C>!;eP|=WUW`e{V_xX0f6+ZI zXmY0gxKxwg<9cxpHRL6A!0goPJD05X7pca6>bhHdyUpInwC8^RqUClT>yqTBHMuJO z1!`De4EwF%j->((FMfv%=N0rvn`-;z&{Rg_*Z=|v9<&XKem?$wVa02TJ3pN(eq6Qq zY>$)Y%@m$BjxpoRj^T0#HE-k!?Pvd z&%LyeRv)`EN$Sok33$Xg9EiKc8MC}9z841}y1-i}{DK&}Uq5$k;xqkVfdB~&Ca>y0 zAmKuQq@(H}JeH2|zVi|1wk>WlFk!ythZ~#)lAUfl_MUfleCnB68~=lsi_bq}6EdJ< z__&NdV=-LcLD)*`Sea?Fs|6x}5i54R#B>5VMOBC!I@-WJ!T}#4xO=nK!ZyvIF$0iU}^-F74uHrQ`Plg+JFs;vShe2Y;?ILr`xoC2t4sn+SOi?kV0Pnt}9#yup2qVlwNg52BXuaR5mo+hh_}Rj=e2sb^!$GSj zDRBnq58UUipG~EO8W(zoIeA@%n<9udu$*~9~*IVZh-0|Hz3;f-wh_eZZt?(;Y88yygQ%zkIW;w~2CW(sN@ zqi#Y-XsO=&T4oykqL;Rr=|DpovN=P#ymBdAw3DaRh_FFsDa%OVC(k{aSYkMuUgHD` z&ElJPcQ=@7ekp-2T|Opf=*;t01m(34(L`A+exYT$EJrWKGfJnR@l!rz= zElB9Q1Fu%@DPkUnuNTw5AQI7jH$1n)VnMIukuTd)5y8)0^pA4{-ugZ~#K!imKt{9O zfdA7X>@1cx`eiLe5i;eZ`-lF7-nn>>lgc@ zk$6VH(GS4RB9fV{{@67WkUaEtPe-~rbTzMA+37q1lR@4!&f>q_D@t4Y?s-qN9Jv%!B)R(f3*LA#w%F8MTfb z3$#50`kHSQf4wtvb_ijyLvY-NI1bH>T+S`44|CU44{bX*6a|Avdm>;nB&d_4S1CwD z#L8p>U#2WT*fv=P#k78>J&l9<#yAMYM19~GC)gLWD+}nvKYUZJBEn8J4S6X;jof8r z1kOJ%vIE1C>U@^64tEyCSWF~}MLsvZ2Sl)XUF#JLKG5Y$%yWLX^EukN6PuE3oAPVB zF;<`Xu)Al73Ss7iTrZCK9)7wJ;|{w^4J9jnn45nHMW=Ntoxtzj1XBRG{x@FbNJSE0 z;5I8H%J)xQ$9J_ND}ik-0@=eBYaTp zsKkc96!_v@E&ZN)p9R8q&2H2F?EobGQI4hjtCxUUN5o}{nU~PK@daM%gG9*zvZKFu ztf&xQ))nA{0hHT8VcqoWpJsU4#NRp1folnd|D5DvLxnsLAz<^>5g0rO(q(Uu1t%8-d0x_TUU6#9=kT(?am*aB?l0pg;e&*dxs)TU z$G<@)BJAzwQiiVW4!(kcSr9Mcy@?zx&KOh^AMA{WO?y3=BCeCOeC;Gej2lD|D_?p% zCNSyUEw>E5p%f%sJAR@N0C2E2CR4?AmYp2q!@DHsIgo;}zafCiEQ4mM__P_kS+996 zHuhrXXI!O+A*loftU6XMLe!nFGGU8K*&XMVOJ?avW60i)$TgL{z+T6 z6VU;YInd6=gHUTZW7Jdg7AaW2pYHM)4vy~vxbNst-IXW?j1sWPJ$B#We{7;KeYYTk zv*{?wE~+PTb}k$Ja;J>b7Zo4sW`b%d1nfi|Uv_A>KmJ%7%x)PkfXRJ8ajzFCc7!@M(Fx1uZmiQZY#fv5wAgBknSaq# zLR)=gQ01+yPTbJc)PaNHn_Hx5Ng6AJB9*|V?izA5Gnp2xBGrQHtlkrVx7YIW2E8|y zr0b(IT~B!6BOcOh<^Z!8a&5^t<>zld09W^;cI)J20G@PqCGc8ewvW;!12juXZcS9l z*>3L0ukp?jn}iBAm^qaUxRk*rg2z8bf=ng+gYwj{cjFMD8sby=pB&}?x^pif7SCY# VVpsSI@hdJsN$!nowX|vAe*qgBmS6w? diff --git a/icons/obj/projectiles_muzzle.dmi b/icons/obj/projectiles_muzzle.dmi index b8f311e2dea4e2d806ca0bd1d7a31c7e54a76528..afce0784edf2474135628df815e6cee9a8fe45b1 100644 GIT binary patch literal 30724 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%0AL%-EA^mYvzOKqfM4T4jmx(mG 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 Date: Mon, 20 Jan 2025 06:22:36 -0600 Subject: [PATCH 104/330] Automatic changelog generation for PR #4028 [ci skip] --- html/changelogs/AutoChangeLog-pr-4028.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4028.yml diff --git a/html/changelogs/AutoChangeLog-pr-4028.yml b/html/changelogs/AutoChangeLog-pr-4028.yml new file mode 100644 index 000000000000..897a2f04de12 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4028.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {rscadd: You can now purchase high conductivity gauss rounds from the outpost.} +delete-after: true From 9f215d9fc8404e0c9de55ecc543aa1f40632e661 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Mon, 20 Jan 2025 07:16:13 -0500 Subject: [PATCH 105/330] Partially ports boxed messages, fieldset message blocks, and improves vote visibility (#3994) ## About The Pull Request This PR partially ports https://github.com/tgstation/tgstation/pull/88678 and implements the boxed_message and fieldset_legend blocks that Aylong designed for votes. | Light Mode |![image](https://github.com/user-attachments/assets/b1562425-7ca4-4208-ab51-22690da7b650)| |------------|---| | Dark Mode |![image](https://github.com/user-attachments/assets/fbe9f13b-c55f-4684-b5f4-b36d529d8303)| Examine blocks were swapped with the boxed message class that Aylong designed, as shown below. | Old |![image](https://github.com/user-attachments/assets/6a020869-51fd-4eb4-aa41-4a315b89f4ec)| |------------|---| | New |![image](https://github.com/user-attachments/assets/573930f9-cd1b-496f-92e1-b403c38e58b8)| This PR also adds a blinking red background to the vote icon that is displayed in the top left corner of the screen whenever a vote is called. ![dreamseeker_R8TtiRICIA](https://github.com/user-attachments/assets/74e5f6c3-53e4-4977-9812-3f21e3a513d2) ## Why It's Good For The Game There have been instances where a player has been distracted, or may have missed the vote notification sound. These visibility changes may help increase voter turnout in some of these instances. ## Changelog :cl: Aylong add: Added a blinking background icon to vote action buttons add: Added boxed message blocks and fieldset message blocks add: Added a boxed message block for votes and a fieldset message block for vote results /:cl: --- code/__DEFINES/chat.dm | 6 +- code/controllers/subsystem/ticker.dm | 2 +- code/controllers/subsystem/vote.dm | 7 +- code/datums/components/mood.dm | 2 +- code/datums/mind.dm | 2 +- code/datums/votes/_vote_datum.dm | 9 ++- code/game/machinery/cryopod.dm | 2 +- code/game/objects/items/devices/scanners.dm | 6 +- code/modules/admin/verbs/debug.dm | 2 +- code/modules/buildmode/submodes/advanced.dm | 2 +- code/modules/buildmode/submodes/area_edit.dm | 2 +- code/modules/buildmode/submodes/basic.dm | 2 +- code/modules/buildmode/submodes/boom.dm | 2 +- code/modules/buildmode/submodes/copy.dm | 2 +- code/modules/buildmode/submodes/delete.dm | 2 +- code/modules/buildmode/submodes/fill.dm | 2 +- code/modules/buildmode/submodes/lightmaker.dm | 2 +- code/modules/buildmode/submodes/outfit.dm | 2 +- code/modules/buildmode/submodes/proccall.dm | 2 +- .../modules/buildmode/submodes/relocate_to.dm | 2 +- code/modules/buildmode/submodes/throwing.dm | 2 +- code/modules/buildmode/submodes/tweakcomps.dm | 2 +- .../buildmode/submodes/variable_edit.dm | 2 +- code/modules/hydroponics/grown.dm | 2 +- code/modules/hydroponics/growninedible.dm | 2 +- code/modules/hydroponics/hydroponics.dm | 2 +- code/modules/hydroponics/seeds.dm | 2 +- .../mob/living/carbon/human/human_defense.dm | 2 +- code/modules/mob/mob.dm | 2 +- .../tgui-panel/styles/tgchat/chat-dark.scss | 76 +++++++++++++++++-- .../tgui-panel/styles/tgchat/chat-light.scss | 40 ++++++++-- 31 files changed, 144 insertions(+), 50 deletions(-) diff --git a/code/__DEFINES/chat.dm b/code/__DEFINES/chat.dm index f816c0317f4c..14f0c8829dd9 100644 --- a/code/__DEFINES/chat.dm +++ b/code/__DEFINES/chat.dm @@ -36,4 +36,8 @@ /// Used for debug messages to the server #define debug2_world_log(msg) if (GLOB.Debug2) log_world("DEBUG: [msg]") /// Adds a generic box around whatever message you're sending in chat. Really makes things stand out. -#define examine_block(str) ("
" + str + "
") +#define boxed_message(str) ("
" + str + "
") +/// Adds a box around whatever message you're sending in chat. Can apply color and/or additional classes. Available colors: red, green, blue, purple. Use it like red_box +#define custom_boxed_message(classes, str) ("
" + str + "
") +/// Makes a fieldset with a neaty styled name. Can apply additional classes. +#define fieldset_block(title, content, classes) ("
" + title + "" + content + "
") diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 2b3ac0619c5a..3961a854cf15 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -351,7 +351,7 @@ SUBSYSTEM_DEF(ticker) m = pick(memetips) if(m) - to_chat(world, span_purple(examine_block("Tip of the round: [html_encode(m)]"))) + to_chat(world, span_purple(boxed_message("Tip of the round: [html_encode(m)]"))) /datum/controller/subsystem/ticker/proc/check_queue() if(!queued_players.len) diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 03c244ae05d2..476d9fcc9dce 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -87,7 +87,7 @@ SUBSYSTEM_DEF(vote) var/log_string = replacetext(to_display, "\n", "\\n") // 'keep' the newlines, but dont actually print them as newlines log_vote(log_string) - to_chat(world, span_infoplain(vote_font("\n[to_display]"))) + to_chat(world, span_infoplain(vote_font("[to_display]"))) // Finally, doing any effects on vote completion if (final_winner) // if no one voted, or the vote cannot be won, final_winner will be null @@ -209,9 +209,9 @@ SUBSYSTEM_DEF(vote) var/to_display = current_vote.initiate_vote(vote_initiator_name, duration) log_vote(to_display) - to_chat(world, span_infoplain(vote_font("\n[span_bold(to_display)]\n\ + to_chat(world, custom_boxed_message("purple_box center", span_infoplain(vote_font("[span_bold(to_display)]
\ Type vote or click
here to place your votes.\n\ - You have [DisplayTimeText(duration)] to vote."))) + You have [DisplayTimeText(duration)] to vote.")))) // And now that it's going, give everyone a voter action for(var/client/new_voter as anything in GLOB.clients) @@ -344,6 +344,7 @@ SUBSYSTEM_DEF(vote) /datum/action/vote name = "Vote!" button_icon_state = "vote" + background_icon_state = "bg_blink" /datum/action/vote/IsAvailable() return TRUE // Democracy is always available to the free people diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index a37fd00c3b5b..130cf3572ebc 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -92,7 +92,7 @@ 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)) + to_chat(user, boxed_message(msg)) ///Called after moodevent/s have been added/removed. /datum/component/mood/proc/update_mood() diff --git a/code/datums/mind.dm b/code/datums/mind.dm index ea9f6918706b..1b0d456ebacd 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -247,7 +247,7 @@ var/datum/skill/the_skill = i msg += "[initial(the_skill.name)] - [get_skill_level_name(the_skill)]\n" msg += "" - to_chat(user, examine_block(msg)) + to_chat(user, boxed_message(msg)) /datum/mind/proc/set_death_time() SIGNAL_HANDLER diff --git a/code/datums/votes/_vote_datum.dm b/code/datums/votes/_vote_datum.dm index 7118695bf1bb..e387e7fba48e 100644 --- a/code/datums/votes/_vote_datum.dm +++ b/code/datums/votes/_vote_datum.dm @@ -169,13 +169,14 @@ * Return a formatted string of text to be displayed to everyone. */ /datum/vote/proc/get_result_text(list/all_winners, real_winner, list/non_voters) + var/title_text = "" var/returned_text = "" if(override_question) - returned_text += span_bold(override_question) + title_text += span_bold(override_question) else - returned_text += span_bold("[capitalize(name)] Vote") + title_text += span_bold("[capitalize(name)] Vote") - returned_text += "\nWinner Selection: " + returned_text += "Winner Selection: " switch(winner_method) if(VOTE_WINNER_METHOD_NONE) returned_text += "None" @@ -215,7 +216,7 @@ returned_text += "\n" returned_text += get_winner_text(all_winners, real_winner, non_voters) - return returned_text + return fieldset_block(title_text, returned_text, "boxed_message purple_box") /** * Gets the text that displays the winning options within the result text. diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 9bad37507a35..4b3c7a8eae08 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -450,7 +450,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/retro, 17) wakeupmessage += " A sickly feeling along with the pangs of hunger greet you upon your awakening." sleepyhead.set_nutrition(100) sleepyhead.apply_effect(rand(3,10), EFFECT_DROWSY) - to_chat(sleepyhead, span_danger(examine_block(wakeupmessage))) + to_chat(sleepyhead, span_danger(boxed_message(wakeupmessage))) /obj/machinery/cryopod/syndicate icon_state = "sleeper_s-open" diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 4df753123bba..a981d08fb05f 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -381,7 +381,7 @@ GENE SCANNER SEND_SIGNAL(M, COMSIG_NANITE_SCAN, user, FALSE) // we handled the last
so we don't need handholding - to_chat(user, examine_block(jointext(render_list, "")), trailing_newline = FALSE, type = MESSAGE_TYPE_INFO) + to_chat(user, boxed_message(jointext(render_list, "")), trailing_newline = FALSE, type = MESSAGE_TYPE_INFO) /proc/chemscan(mob/living/user, mob/living/M) if(istype(M) && M.reagents) @@ -399,7 +399,7 @@ GENE SCANNER else render_list += "Subject is not addicted to any reagents.\n" // we handled the last
so we don't need handholding - to_chat(user, examine_block(jointext(render_list, "")), type = MESSAGE_TYPE_INFO) + to_chat(user, boxed_message(jointext(render_list, "")), type = MESSAGE_TYPE_INFO) /obj/item/healthanalyzer/verb/toggle_mode() set name = "Switch Verbosity" @@ -612,7 +612,7 @@ GENE SCANNER \nInstability of the last fusion reaction: [round(cached_scan_results["fusion"], 0.01)]." // we let the join apply newlines so we do need handholding - to_chat(user, examine_block(jointext(render_list, "\n")), type = MESSAGE_TYPE_INFO) + to_chat(user, boxed_message(jointext(render_list, "\n")), type = MESSAGE_TYPE_INFO) return TRUE /obj/item/nanite_scanner diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 61d8b2757836..2406d7d51564 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -692,7 +692,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that var/datum/asset/fuckywucky = get_asset_datum(/datum/asset/simple/fuckywucky) fuckywucky.send(m) SEND_SOUND(m, 'sound/misc/fuckywucky.ogg') - to_chat(m, span_purple(examine_block(""))) + to_chat(m, span_purple(boxed_message(""))) addtimer(CALLBACK(src, PROC_REF(restore_fucky_wucky)), 600) diff --git a/code/modules/buildmode/submodes/advanced.dm b/code/modules/buildmode/submodes/advanced.dm index 4fd6f30ca52b..f9eb00250c46 100644 --- a/code/modules/buildmode/submodes/advanced.dm +++ b/code/modules/buildmode/submodes/advanced.dm @@ -6,7 +6,7 @@ // of the currently selected path /datum/buildmode_mode/advanced/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Set object type")] -> Right Mouse Button on buildmode button\n\ [span_bold("Copy object type")] -> Left Mouse Button + Alt on turf/obj\n\ [span_bold("Place objects")] -> Left Mouse Button on turf/obj\n\ diff --git a/code/modules/buildmode/submodes/area_edit.dm b/code/modules/buildmode/submodes/area_edit.dm index b0d8925c0c85..c16744213e86 100644 --- a/code/modules/buildmode/submodes/area_edit.dm +++ b/code/modules/buildmode/submodes/area_edit.dm @@ -22,7 +22,7 @@ return ..() /datum/buildmode_mode/area_edit/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Select corner")] -> Left Mouse Button on obj/turf/mob\n\ [span_bold("Paint area")] -> Left Mouse Button + Alt on turf/obj/mob\n\ [span_bold("Select area to paint")] -> Right Mouse Button on obj/turf/mob\n\ diff --git a/code/modules/buildmode/submodes/basic.dm b/code/modules/buildmode/submodes/basic.dm index 180331e94ba8..b35a0b240ad1 100644 --- a/code/modules/buildmode/submodes/basic.dm +++ b/code/modules/buildmode/submodes/basic.dm @@ -2,7 +2,7 @@ key = "basic" /datum/buildmode_mode/basic/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Construct / Upgrade")] -> Left Mouse Button\n\ [span_bold("Deconstruct / Delete / Downgrade")] -> Right Mouse Button\n\ [span_bold("R-Window")] -> Left Mouse Button + Ctrl\n\ diff --git a/code/modules/buildmode/submodes/boom.dm b/code/modules/buildmode/submodes/boom.dm index f0837735c641..a2ba9cadeaf0 100644 --- a/code/modules/buildmode/submodes/boom.dm +++ b/code/modules/buildmode/submodes/boom.dm @@ -8,7 +8,7 @@ var/flames = -1 /datum/buildmode_mode/boom/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Set explosion destructiveness")] -> Right Mouse Button on buildmode button\n\ [span_bold("Kaboom")] -> Mouse Button on obj\n\n\ [span_warning("NOTE:")] Using the \"Config/Launch Supplypod\" verb allows you to do this in an IC way (i.e., making a cruise missile come down from the sky and explode wherever you click!)")) diff --git a/code/modules/buildmode/submodes/copy.dm b/code/modules/buildmode/submodes/copy.dm index 4ac7f9ec4796..6f555e9dc84c 100644 --- a/code/modules/buildmode/submodes/copy.dm +++ b/code/modules/buildmode/submodes/copy.dm @@ -7,7 +7,7 @@ return ..() /datum/buildmode_mode/copy/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Spawn a copy of selected target")] -> Left Mouse Button on obj/turf/mob\n\ [span_bold("Select target to copy")] -> Right Mouse Button on obj/mob")) ) diff --git a/code/modules/buildmode/submodes/delete.dm b/code/modules/buildmode/submodes/delete.dm index 4ef4fe37156c..9d35dba3d779 100644 --- a/code/modules/buildmode/submodes/delete.dm +++ b/code/modules/buildmode/submodes/delete.dm @@ -2,7 +2,7 @@ key = "delete" /datum/buildmode_mode/delete/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Delete an object")] -> Left Mouse Button on obj/turf/mob\n\ [span_bold("Delete all objects of a type")] -> Right Mouse Button on obj/turf/mob")) ) diff --git a/code/modules/buildmode/submodes/fill.dm b/code/modules/buildmode/submodes/fill.dm index 75f4f2d221b7..20428738d7d6 100644 --- a/code/modules/buildmode/submodes/fill.dm +++ b/code/modules/buildmode/submodes/fill.dm @@ -7,7 +7,7 @@ var/atom/objholder = null /datum/buildmode_mode/fill/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Select corner")] -> Left Mouse Button on turf/obj/mob\n\ [span_bold("Delete region")] -> Left Mouse Button + Alt on turf/obj/mob\n\ [span_bold("Select object type")] -> Right Mouse Button on buildmode button")) diff --git a/code/modules/buildmode/submodes/lightmaker.dm b/code/modules/buildmode/submodes/lightmaker.dm index 2b50343c641a..3b83ee64e4f9 100644 --- a/code/modules/buildmode/submodes/lightmaker.dm +++ b/code/modules/buildmode/submodes/lightmaker.dm @@ -6,7 +6,7 @@ var/light_color = COLOR_WHITE /datum/buildmode_mode/lightmaker/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[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")) diff --git a/code/modules/buildmode/submodes/outfit.dm b/code/modules/buildmode/submodes/outfit.dm index 56faf5d507cc..d1bb144357a3 100644 --- a/code/modules/buildmode/submodes/outfit.dm +++ b/code/modules/buildmode/submodes/outfit.dm @@ -7,7 +7,7 @@ return ..() /datum/buildmode_mode/outfit/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Select outfit to equip")] -> Right Mouse Button on buildmode button\n\ [span_bold("Equip the selected outfit")] -> Left Mouse Button on mob/living/carbon/human\n\ [span_bold("Strip and delete current outfit")] -> Right Mouse Button on mob/living/carbon/human")) diff --git a/code/modules/buildmode/submodes/proccall.dm b/code/modules/buildmode/submodes/proccall.dm index 47e7130aa386..996e5736aef0 100644 --- a/code/modules/buildmode/submodes/proccall.dm +++ b/code/modules/buildmode/submodes/proccall.dm @@ -6,7 +6,7 @@ var/list/proc_args = null /datum/buildmode_mode/proccall/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Choose procedure and arguments")] -> Right Mouse Button on buildmode button\n\ [span_bold("Apply procedure on object")] -> Left Mouse Button on machinery")) ) diff --git a/code/modules/buildmode/submodes/relocate_to.dm b/code/modules/buildmode/submodes/relocate_to.dm index 3a2d52bc5d17..4d9f94ba21a8 100644 --- a/code/modules/buildmode/submodes/relocate_to.dm +++ b/code/modules/buildmode/submodes/relocate_to.dm @@ -8,7 +8,7 @@ return ..() /datum/buildmode_mode/relocate_to/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Select")] -> Left Mouse Button on obj/mob\n\ [span_bold("Relocate")] -> Right Mouse Button on turf/obj/mob")) ) diff --git a/code/modules/buildmode/submodes/throwing.dm b/code/modules/buildmode/submodes/throwing.dm index 0539d2ec4f9f..14d843d1005b 100644 --- a/code/modules/buildmode/submodes/throwing.dm +++ b/code/modules/buildmode/submodes/throwing.dm @@ -8,7 +8,7 @@ return ..() /datum/buildmode_mode/throwing/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Select")] -> Left Mouse Button on turf/obj/mob\n\ [span_bold("Throw")] -> Right Mouse Button on turf/obj/mob")) ) diff --git a/code/modules/buildmode/submodes/tweakcomps.dm b/code/modules/buildmode/submodes/tweakcomps.dm index 4072f8dd8f2f..cab04143707a 100644 --- a/code/modules/buildmode/submodes/tweakcomps.dm +++ b/code/modules/buildmode/submodes/tweakcomps.dm @@ -4,7 +4,7 @@ var/rating = null /datum/buildmode_mode/tweakcomps/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Choose the rating of the components")] -> Right Mouse Button on buildmode button\n\ [span_bold("Sets the chosen rating of the components on the machinery")] -> Left Mouse Button on machinery")) ) diff --git a/code/modules/buildmode/submodes/variable_edit.dm b/code/modules/buildmode/submodes/variable_edit.dm index 728c909860b5..25c0ab8d394a 100644 --- a/code/modules/buildmode/submodes/variable_edit.dm +++ b/code/modules/buildmode/submodes/variable_edit.dm @@ -10,7 +10,7 @@ return ..() /datum/buildmode_mode/varedit/show_help(client/target_client) - to_chat(target_client, span_purple(examine_block( + to_chat(target_client, span_purple(boxed_message( "[span_bold("Select var(type) & value")] -> Right Mouse Button on buildmode button\n\ [span_bold("Set var(type) & value")] -> Left Mouse Button on turf/obj/mob\n\ [span_bold("Reset var's value")] -> Right Mouse Button on turf/obj/mob")) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 4f2b2420ee55..482a8aae3c89 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -81,7 +81,7 @@ if(reag_txt) msg += reag_txt - to_chat(user, examine_block(msg)) + to_chat(user, boxed_message(msg)) else if(seed) for(var/datum/plant_gene/trait/T in seed.genes) diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index 8ab59cc6f658..58a317319774 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -40,7 +40,7 @@ var/msg = "This is \a [src]\n" if(seed) msg += seed.get_analyzer_text() - to_chat(usr, examine_block(msg)) + to_chat(usr, boxed_message(msg)) return /obj/item/grown/proc/add_juice() diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 13faaf5f15a5..ca857e88dcca 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -570,7 +570,7 @@ msg += "Toxicity level: [span_notice("[toxic] / [HYDRO_MAX_TOXIC]")]\n" msg += "Water level: [span_notice("[waterlevel] / [maxwater]")]\n" msg += "Nutrition level: [span_notice("[reagents.total_volume] / [maxnutri]")]\n" - to_chat(user, examine_block(msg)) + to_chat(user, boxed_message(msg)) return else if(istype(O, /obj/item/cultivator)) diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index 65f47357899a..e02c3f197394 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -444,7 +444,7 @@ for(var/datum/plant_gene/reagent/Gene in genes) msg += "\n- [Gene.get_name()] -" msg += "\n*---------*" - to_chat(user, examine_block(msg)) + to_chat(user, boxed_message(msg)) return diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 081c94f4a8f9..4f3857841d7a 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -861,7 +861,7 @@ if(roundstart_quirks.len) combined_msg += "You have these quirks: [get_trait_string()]." - to_chat(src, examine_block(combined_msg.Join("\n"))) + to_chat(src, boxed_message(combined_msg.Join("\n"))) /mob/living/carbon/human/damage_clothes(damage_amount, damage_type = BRUTE, damage_flag = 0, def_zone) if(damage_type != BRUTE && damage_type != BURN) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index eb3ee07a322b..c0af36bc9f33 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -512,7 +512,7 @@ for(var/i in 1 to (length(result) - 1)) result[i] += "\n" - to_chat(src, examine_block("[result.Join()]")) + to_chat(src, boxed_message("[result.Join()]")) SEND_SIGNAL(src, COMSIG_MOB_EXAMINATE, examinify) diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss index 1acd0cf0094c..3c94228d5757 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss @@ -39,6 +39,10 @@ a.popt { text-decoration: none; } +.center { + text-align: center; +} + /* POPUPS */ .popup { @@ -703,6 +707,10 @@ em { font-size: 60%; } +.smallish { + font-size: 80%; +} + .big { font-size: 185%; } @@ -895,14 +903,68 @@ em { margin-left: 3em; } -.examine_block { - background: #1b1c1e; - border: 1px solid #a4bad6; - margin: 0.5em; - padding: 0.5em 0.75em; -} - .tooltip { font-style: italic; border-bottom: 1px dashed #fff; } + +.fieldset_legend { + position: relative; + max-width: 95%; + font-size: 120%; + padding: 0.2em 0.5em; + background: #151515; // Chat background color + border: 1px solid; + border-color: inherit; + border-radius: 0.33em; + z-index: 1; + + // "Mask" a half of the border + // It very rough but it only possible way i see with IE compat + // Replace it with normal mask-image when 516 got stable + &:before { + content: ''; + position: absolute; + left: 0; + height: 1.15em; + width: 100%; + background: #151515; // Chat background color + transform: translateY(-50%) scaleX(1.05); + z-index: -1; + } +} + +.boxed_message { + background: hsl(220, 10%, 10%); + border: 2px solid; + border-left: 5px solid; + border-color: hsla(220, 40%, 75%, 0.25); + margin: 0.5em 0; + padding: 0.5em 0.75em; + border-radius: 0.33em; + + &.red_box { + background: hsl(0, 20%, 10%); + border-color: hsla(0, 100%, 50%, 0.5); + } + + &.green_box { + background: hsl(140, 20%, 10%); + border-color: hsla(120, 100%, 50%, 0.5); + } + + &.blue_box { + background: hsl(220, 20%, 10%); + border-color: hsla(225, 90%, 65%, 0.5); + } + + &.purple_box { + background: hsl(260, 25%, 12.5%); + border-color: hsla(260, 100%, 75%, 0.5); + } + + hr { + margin: 0.5em -0.75em; + border-color: inherit; + } +} diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss index 49ccc958d5cf..219a0ebc853a 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss @@ -942,14 +942,40 @@ h2.alert { margin-left: 3em; } -.examine_block { - background: #f2f7fa; - border: 1px solid #111a27; - margin: 0.5em; - padding: 0.5em 0.75em; -} - .tooltip { font-style: italic; border-bottom: 1px dashed #000; } + +.fieldset_legend { + background: #ffffff; // Chat background color + + &:before { + background: #ffffff; // Chat background color + } +} + +.boxed_message { + background: hsl(220, 100%, 97.5%); + border-color: hsla(220, 75%, 25%, 0.5); + + &.red_box { + background: hsl(0, 100%, 97.5%); + border-color: hsla(0, 100%, 50%, 0.5); + } + + &.green_box { + background: hsl(140, 100%, 97.5%); + border-color: hsl(120, 100%, 33%, 0.5); + } + + &.blue_box { + background: hsl(220, 100%, 97.5%); + border-color: hsla(225, 100%, 50%, 0.5); + } + + &.purple_box { + background: hsl(260, 100%, 97.5%); + border-color: hsla(260, 100%, 50%, 0.5); + } +} From d0d8997aed3ff0424b03c434883b57abbec04c18 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 20 Jan 2025 06:37:01 -0600 Subject: [PATCH 106/330] Automatic changelog generation for PR #3994 [ci skip] --- html/changelogs/AutoChangeLog-pr-3994.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3994.yml diff --git a/html/changelogs/AutoChangeLog-pr-3994.yml b/html/changelogs/AutoChangeLog-pr-3994.yml new file mode 100644 index 000000000000..f0a6e3cdf5b5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3994.yml @@ -0,0 +1,7 @@ +author: Aylong +changes: + - {rscadd: Added a blinking background icon to vote action buttons} + - {rscadd: Added boxed message blocks and fieldset message blocks} + - {rscadd: Added a boxed message block for votes and a fieldset message block for + vote results} +delete-after: true From 2105e479f28b30b8bf66f21245050b1126ee9759 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Mon, 20 Jan 2025 11:22:11 -0600 Subject: [PATCH 107/330] copys some tg code to fix the cleanbot fails (#4052) ## About The Pull Request fixes the linters! copy pastes the code from the tg cleanbot file at this point in history https://github.com/Ryll-Ryll/tgstation/blob/b9318c10ae1ee4d1d88871c7c31c7f8265f8ee6b/code/modules/mob/living/simple_animal/bot/cleanbot.dm ## Why It's Good For The Game No more failing test! ## Changelog :cl: refactor: lightly refactors the get path section of the cleanbot ai. Has the byproduct of stoping the linter fail. /:cl: --- .../mob/living/simple_animal/bot/cleanbot.dm | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index aad4a7a63f86..c452810e9892 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -261,20 +261,18 @@ mode = BOT_IDLE return - if(target && (!path || path.len == 0) && (get_dist(src,target) > 1)) + if(!path || path.len == 0) //No path, need a new one + //Try to produce a path to the target, and ignore airlocks to which it has access. path = get_path_to(src, target, 30, id=access_card) - mode = BOT_MOVING - if(!path.len) //try to get closer if you can't reach the target directly - path = get_path_to(src, target, 30, id=access_card) - if(!path.len) //Do not chase a target we cannot reach. - add_to_ignore(target) - target = null - path = list() - - if(path.len > 0 && target) - if(!bot_move(path[path.len])) + if(!bot_move(target)) + add_to_ignore(target) target = null - mode = BOT_IDLE + path = list() + return + mode = BOT_MOVING + else if(!bot_move(target)) + target = null + mode = BOT_IDLE return oldloc = loc From c9da7683d5fc6beada8edaffe2d14be2d31b48b7 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 20 Jan 2025 11:43:01 -0600 Subject: [PATCH 108/330] Automatic changelog generation for PR #4052 [ci skip] --- html/changelogs/AutoChangeLog-pr-4052.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4052.yml diff --git a/html/changelogs/AutoChangeLog-pr-4052.yml b/html/changelogs/AutoChangeLog-pr-4052.yml new file mode 100644 index 000000000000..a15c210dcc0b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4052.yml @@ -0,0 +1,5 @@ +author: FalloutFalcon +changes: + - {refactor: lightly refactors the get path section of the cleanbot ai. Has the + byproduct of stoping the linter fail.} +delete-after: true From 5186152390f8681fd8800830b63f27700c120fca Mon Sep 17 00:00:00 2001 From: Ical <86125936+Ical92@users.noreply.github.com> Date: Mon, 20 Jan 2025 14:17:24 -0500 Subject: [PATCH 109/330] Arke-Class Surveying Ship | CLIP-LAND (#3910) ## About The Pull Request Adds a new specialist ship to CLIP's roster, a small CLIP-LAND ship for surveying planets and relaying information to friendly ships. Has a telecommunications setup and basic equipment, as well as a small armory for the Captain to distribute. ![image](https://github.com/user-attachments/assets/b749ff44-d50d-4059-b6f6-5a574abc2b51)
SDMM Screenshots

![image](https://github.com/user-attachments/assets/97a6b133-37b1-48d4-ae95-de031ad5c9d5) ![image](https://github.com/user-attachments/assets/1d589431-3af3-4f41-8747-ffb766c43130)

More In-Game Screenshots

![image](https://github.com/user-attachments/assets/ea473637-1ea6-4544-9036-9c15772861a2) ![image](https://github.com/user-attachments/assets/589bbf21-aac9-41be-8bbe-f9b6985b3aa9) ![image](https://github.com/user-attachments/assets/3b3a885c-4b74-4a42-9ba8-2c171f1d4213) ![image](https://github.com/user-attachments/assets/2be483e7-a005-497e-82ab-e0e8dad864cf)

Also adds a tcomms relay to the Atlas, located in the port side of engineering, as well as giving CLIP headsets to start with. ## Why It's Good For The Game Adds a new small-crew ship and a new ship for CLIP that isn't part of CMM. Gives telecommunications access to CLIP ships without the need for a larger command ship. ## Changelog :cl: add: Arke-Class Surveying Ship add: The Atlas-Class now has a Telecomms Relay /:cl: --- _maps/configs/minutemen_arke.json | 39 + _maps/shuttles/minutemen/minutemen_arke.dmm | 2251 +++++++++++++++++ _maps/shuttles/minutemen/minutemen_atlas.dmm | 6 +- .../decals/turfdecal/flooring_decals.dm | 12 + .../clothing/outfits/factions/minutemen.dm | 57 +- 5 files changed, 2343 insertions(+), 22 deletions(-) create mode 100644 _maps/configs/minutemen_arke.json create mode 100644 _maps/shuttles/minutemen/minutemen_arke.dmm diff --git a/_maps/configs/minutemen_arke.json b/_maps/configs/minutemen_arke.json new file mode 100644 index 000000000000..5ea65d05681f --- /dev/null +++ b/_maps/configs/minutemen_arke.json @@ -0,0 +1,39 @@ + { + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Arke-class Surveying Ship", + "prefix": "CLSV", + "namelists": [ + "GENERAL", + "CLIP MINUTEMEN", + "NATURAL" + ], + "description": "The Arke-Class is a relatively new appearance in the Frontier, continuing it's use as a planet surveying ship for CLIP-LAND's colony development. The Arke is lightly equipped and crewed, specializing in gathering data to relay to allied ships in the sector. Despite it's size, it boasts a telecommunications array for sharing data and communication with other ships. Descending from the Proteus-Class, designed for low-cost manufacturing and modularity, the Arke is deployed into the frontier with a specific goal, but remains able to adapt with it's relatively spaceful cargo bay.", + "tags": [ + "Telecomms", + "Specialist" + ], + "map_short_name": "Arke-class", + "faction": "/datum/faction/clip", + "map_path": "_maps/shuttles/minutemen/minutemen_arke.dmm", + "limit": 1, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/clip/captain", + "officer": true, + "slots": 1 + }, + "Mechanic": { + "outfit": "/datum/outfit/job/clip/mechanic", + "slots": 1 + }, + "Medical Technician": { + "outfit": "/datum/outfit/job/clip/medtech", + "slots": 1 + }, + "Surveyor": { + "outfit": "/datum/outfit/job/clip/assistant/surveyor", + "slots": 2 + } + }, + "enabled": true +} diff --git a/_maps/shuttles/minutemen/minutemen_arke.dmm b/_maps/shuttles/minutemen/minutemen_arke.dmm new file mode 100644 index 000000000000..4072f94cda08 --- /dev/null +++ b/_maps/shuttles/minutemen/minutemen_arke.dmm @@ -0,0 +1,2251 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"aJ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"aW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"bb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"bh" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + 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-8" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"bi" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/structure/cable/yellow, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/item/stack/sheet/mineral/plasma/five, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"bF" = ( +/obj/structure/catwalk/over, +/obj/effect/decal/fakelattice{ + icon_state = "lattice-8" + }, +/obj/machinery/light/floor, +/turf/open/floor/plating, +/area/ship/external/dark) +"bK" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "arke_crew" + }, +/turf/open/floor/plating, +/area/ship/crew) +"bV" = ( +/obj/effect/decal/fakelattice{ + icon_state = "lattice-6" + }, +/obj/machinery/light/floor, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/external/dark) +"ci" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/door/window/brigdoor/northleft{ + req_access = list(10) + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 22; + pixel_y = -28 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/communications) +"cu" = ( +/obj/machinery/door/poddoor{ + id = "arke_cargo" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"cN" = ( +/obj/effect/turf_decal/siding/wideplating/dark, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/loading/stripes{ + color = "#75A2BB" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"cP" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"cV" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/telecomms/server/presets/minutemen, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) +"dt" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/light/directional/east, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"es" = ( +/turf/template_noop, +/area/space) +"ev" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_y = 21; + pixel_x = 12 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"fc" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "arke_engi_lockdown" + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"fg" = ( +/obj/machinery/porta_turret/ship/clip{ + id = "arke"; + dir = 6 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"fG" = ( +/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/cargo) +"fJ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/telecomms/bus/preset_five, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) +"fW" = ( +/obj/effect/turf_decal/minutemen/corner, +/obj/structure/closet/secure_closet/wall/directional/north{ + icon_state = "solgov_wall"; + req_access = list(1); + name = "Captain's Locker" + }, +/obj/item/clothing/under/clip/formal/alt, +/obj/item/clothing/under/clip/formal, +/obj/item/clothing/suit/toggle/lawyer/clip, +/obj/item/storage/backpack/security/clip, +/obj/item/radio/headset/clip/captain, +/obj/item/clothing/head/clip/slouch, +/obj/item/clothing/shoes/laceup, +/obj/item/storage/backpack/satchel/cap, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"hu" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "5-9" + }, +/obj/structure/cable{ + icon_state = "5-10" + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"hA" = ( +/turf/open/floor/carpet/blue{ + icon_state = "carpet_blue-55" + }, +/area/ship/crew) +"hH" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/machinery/telecomms/broadcaster/preset_right{ + autolinkers = list("broadcasterB","hub"); + network = "clip_commnet" + }, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) +"iW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 9 + }, +/obj/structure/closet/wall/directional/west, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/storage/backpack/satchel, +/obj/item/storage/backpack/duffelbag, +/obj/item/clothing/under/clip/medic, +/obj/item/clothing/under/clip, +/obj/item/clothing/under/clip, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"jr" = ( +/obj/effect/turf_decal/minutemen/middle, +/obj/machinery/holopad/emergency/command, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"ju" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/engineering/communications) +"jZ" = ( +/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/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Engineering" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"kg" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/northleft{ + req_access = list(1) + }, +/obj/item/clothing/suit/armor/vest{ + pixel_y = 3 + }, +/obj/item/clothing/suit/armor/vest{ + pixel_y = 3 + }, +/obj/item/clothing/head/helmet/bulletproof/m10{ + pixel_y = 1 + }, +/obj/item/clothing/head/helmet/bulletproof/m10{ + pixel_y = 1 + }, +/obj/item/storage/box/ammo/c10mm{ + pixel_y = -3 + }, +/obj/item/storage/box/ammo/c10mm{ + pixel_y = -3 + }, +/obj/item/reagent_containers/spray/pepper{ + pixel_y = 3; + pixel_x = 9 + }, +/obj/item/reagent_containers/spray/pepper{ + pixel_y = 3; + pixel_x = 9 + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"lm" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"lD" = ( +/obj/structure/catwalk/over, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/ship/engineering) +"lT" = ( +/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" + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/engineering) +"mD" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/cloth, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/blue{ + icon_state = "carpet_blue-74" + }, +/area/ship/crew) +"mL" = ( +/obj/machinery/porta_turret/ship/clip{ + id = "arke"; + dir = 6 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"mR" = ( +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + port_direction = 8; + preferred_direction = 4; + name = "arke dock" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"na" = ( +/obj/machinery/button/door{ + dir = 1; + id = "arke_crew"; + name = "Lounge Shutters"; + pixel_y = -21; + pixel_x = -7 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20; + pixel_x = 2 + }, +/turf/open/floor/carpet/blue{ + icon_state = "carpet_blue-21" + }, +/area/ship/crew) +"nb" = ( +/obj/structure/curtain/cloth/grey, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"np" = ( +/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, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"nZ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"oz" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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/cargo) +"oD" = ( +/obj/machinery/porta_turret/ship/clip{ + id = "arke"; + dir = 10 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"pp" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 4; + id = "arke_cargo"; + name = "Cargo Blast Door"; + pixel_x = -22; + pixel_y = 5 + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = -4; + pixel_x = -20; + id = "arke_holo" + }, +/obj/effect/turf_decal/industrial/stand_clear/white{ + color = "#75A2BB" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"pt" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/radio/intercom/wideband/table{ + dir = 4; + pixel_x = 1; + pixel_y = -17 + }, +/obj/machinery/computer/crew{ + dir = 8 + }, +/obj/machinery/turretid/ship{ + pixel_y = 24; + id = "arke" + }, +/obj/machinery/button/door{ + id = "arke_bridge"; + dir = 8; + pixel_y = 2; + name = "bridge shutters"; + pixel_x = 24 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"pE" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 17 + }, +/obj/item/pen{ + pixel_y = 5; + pixel_x = 16 + }, +/obj/item/storage/fancy/donut_box{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/machinery/jukebox/boombox{ + pixel_y = 6; + pixel_x = -3 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"pO" = ( +/obj/structure/sign/warning/coldtemp, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/communications) +"pS" = ( +/obj/structure/catwalk/over, +/obj/machinery/light/floor, +/obj/effect/decal/fakelattice{ + icon_state = "lattice-74" + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"pX" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 1 + }, +/obj/structure/table/reinforced, +/obj/item/radio/weather_monitor{ + pixel_y = 5; + pixel_x = -9 + }, +/obj/item/binoculars{ + pixel_x = 1; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"qg" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + 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/plasteel/dark, +/area/ship/cargo) +"re" = ( +/obj/machinery/autolathe, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/twenty, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"rf" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"ru" = ( +/obj/structure/crate_shelf, +/obj/structure/closet/crate, +/obj/item/shovel, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/storage/box/emptysandbags, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/structure/sign/poster/clip/gold{ + pixel_y = 32 + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"rG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"rI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"rY" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/structure/cable{ + icon_state = "9-10" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"sc" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/telecomms/receiver/preset_right{ + autolinkers = list("receiverB","hub"); + network = "clip_commnet"; + freq_listening = list(1353,1355,1459) + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) +"sR" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"sW" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/communications) +"sZ" = ( +/obj/structure/catwalk/over, +/obj/effect/decal/fakelattice{ + icon_state = "lattice-12" + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"to" = ( +/obj/effect/turf_decal/minutemen/edge{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"tE" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"tG" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"tN" = ( +/obj/effect/turf_decal/minutemen/edge{ + dir = 4 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"tV" = ( +/obj/docking_port/stationary{ + width = 30; + height = 15; + dwidth = 7; + name = "Arke External Airlock"; + dir = 4 + }, +/turf/template_noop, +/area/space) +"tY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"uf" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = 12 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"up" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4; + pixel_y = 1 + }, +/obj/structure/table, +/obj/item/trash/can{ + pixel_y = 11 + }, +/obj/item/reagent_containers/food/drinks/waterbottle/empty{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"uQ" = ( +/obj/structure/table, +/obj/item/cutting_board, +/obj/item/melee/knife/kitchen, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"uW" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"ve" = ( +/obj/machinery/door/airlock/grunge{ + name = "Bathroom" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"vP" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 26 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/closet/emcloset/wall/directional/south{ + populate = 0 + }, +/obj/item/clothing/suit/space/fragile{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/head/helmet/space/fragile{ + pixel_x = -2; + pixel_y = -14 + }, +/obj/item/tank/internals/oxygen/red{ + pixel_y = -21 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"vT" = ( +/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/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"wd" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 6 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"wF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"wV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 37 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/light_switch{ + pixel_y = 21; + pixel_x = 10 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"xs" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"yu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"zd" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "arke_engi_lockdown" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/engineering) +"zn" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/grunge{ + req_access = list(10); + name = "Communications Equipment" + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 1 + }, +/area/ship/engineering/communications) +"zs" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Ak" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"AK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"AP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/cargo) +"Bt" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"Bu" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/structure/sign/warning/fire{ + pixel_x = 24; + pixel_y = -6 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = 24; + pixel_y = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 11 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = 1; + pixel_x = 2 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"BH" = ( +/obj/structure/railing{ + layer = 3.31 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8; + piping_layer = 2 + }, +/obj/machinery/light_switch{ + pixel_y = 21; + pixel_x = 6 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"CB" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"CV" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 6 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/loading/stripes{ + color = "#75A2BB" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"DB" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"DP" = ( +/obj/structure/catwalk/over, +/obj/effect/decal/fakelattice{ + icon_state = "lattice-29" + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"EJ" = ( +/obj/structure/table, +/obj/effect/turf_decal/techfloor/orange{ + dir = 10 + }, +/obj/item/radio{ + pixel_y = 8; + pixel_x = -6 + }, +/obj/item/radio{ + pixel_y = 8; + pixel_x = -3 + }, +/obj/item/radio{ + pixel_y = 8 + }, +/obj/item/radio{ + pixel_y = 8; + pixel_x = 3 + }, +/obj/item/radio{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"EK" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/window/reinforced/tinted, +/obj/machinery/firealarm/directional/east, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"EN" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/communications) +"Fu" = ( +/obj/machinery/firealarm/directional/north, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 5 + }, +/obj/structure/closet/crate/bin, +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/candy, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"FB" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/window/reinforced/tinted, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"FG" = ( +/obj/effect/turf_decal/minutemen/edge, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"FH" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 13 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Gg" = ( +/obj/machinery/computer/cryopod/directional/north, +/obj/machinery/light_switch{ + pixel_y = 21; + pixel_x = -15 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew) +"Gj" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"Gt" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Gw" = ( +/obj/structure/catwalk/over, +/obj/effect/decal/fakelattice{ + icon_state = "lattice-23" + }, +/obj/item/toy/plush/moth/royal{ + pixel_x = 9; + pixel_y = 8; + name = "Specialist Agave"; + 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 = 17 + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"GM" = ( +/obj/structure/toilet{ + dir = 8; + pixel_x = 4 + }, +/obj/machinery/shower{ + dir = 1; + pixel_x = -6 + }, +/obj/structure/curtain, +/obj/machinery/light/small/directional/west, +/obj/structure/sign/poster/official/cleanliness{ + pixel_y = -32 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew) +"GP" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/machinery/telecomms/processor/preset_five, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) +"GS" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"HG" = ( +/obj/structure/catwalk/over/plated_catwalk/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-8" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"HU" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/cloth, +/turf/open/floor/carpet/blue{ + icon_state = "carpet_blue-137" + }, +/area/ship/crew) +"HX" = ( +/obj/effect/turf_decal/minutemen/edge{ + dir = 1 + }, +/obj/machinery/computer/cargo{ + dir = 1; + icon_state = "computer-left" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Id" = ( +/obj/machinery/porta_turret/ship/clip{ + id = "arke"; + dir = 5 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"Ig" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/telecomms/hub{ + autolinkers = list("hub","bus","relay","messaging","minutemen","broadcasterB","receiverB"); + id = "CLIP Communications Hub"; + network = "clip_commnet" + }, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) +"Iw" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + name = "exhaust injector"; + layer = 3.1 + }, +/obj/structure/sign/warning/hottemp{ + pixel_x = 32 + }, +/obj/effect/decal/fakelattice{ + icon_state = "lattice-6" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"IA" = ( +/obj/machinery/door/poddoor{ + id = "arke_cargo" + }, +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "arke_holo" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"Ki" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/rack, +/obj/item/t_scanner/adv_mining_scanner{ + pixel_y = 4; + pixel_x = 5 + }, +/obj/item/gun/energy/plasmacutter, +/obj/item/t_scanner/adv_mining_scanner{ + pixel_y = 4; + pixel_x = 5 + }, +/obj/structure/sign/poster/clip/enlist{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/gps{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/gps{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 2; + pixel_x = 1 + }, +/obj/item/clothing/glasses/meson, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Kx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"KX" = ( +/obj/effect/turf_decal/siding/wideplating/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Lc" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/cryopod{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"Li" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Ly" = ( +/obj/docking_port/stationary{ + width = 30; + height = 15; + dwidth = 1; + dheight = 3; + name = "Arke Cargo Bay" + }, +/turf/template_noop, +/area/space) +"LX" = ( +/obj/structure/dresser{ + dir = 8 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = 2; + pixel_y = 14 + }, +/obj/structure/sign/poster/clip/lanchester{ + pixel_x = 32 + }, +/turf/open/floor/carpet/blue{ + icon_state = "carpet_blue-203" + }, +/area/ship/crew) +"Mk" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/structure/closet/emcloset/wall/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"MK" = ( +/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/wideplating/dark{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Nl" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/wall/directional/south{ + name = "spare headsets" + }, +/obj/item/radio/headset, +/obj/item/radio/headset, +/obj/item/radio/headset, +/obj/item/radio/headset, +/obj/item/radio/headset, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"No" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Nr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"NP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + 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-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"NU" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"NV" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/stand_clear/white{ + color = "#75A2BB" + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Ov" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Oy" = ( +/obj/structure/catwalk/over, +/obj/machinery/light/floor, +/obj/effect/decal/fakelattice{ + icon_state = "lattice-21" + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"OF" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 10 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/engineering/communications) +"OJ" = ( +/obj/item/storage/guncase/pistol/cm23, +/obj/item/storage/guncase/pistol/cm23{ + pixel_y = 8 + }, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/northright{ + req_access = list(1) + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"OK" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/telecomms/relay/preset/minutemen, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) +"Qn" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/engineering/communications) +"QN" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/fax/clip, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"QS" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/engineering/communications) +"QW" = ( +/obj/machinery/firealarm/directional/west, +/obj/machinery/light/dim/directional/north, +/obj/machinery/washing_machine, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Rk" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Rm" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Rs" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "arke_bridge"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"RA" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 4 + }, +/obj/machinery/computer/monitor{ + dir = 1; + icon_state = "computer-right" + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"RB" = ( +/obj/machinery/door/poddoor{ + id = "arke_cargo" + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "arke_holo" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"Sd" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"SB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"SD" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/firealarm/directional/north, +/obj/item/screwdriver{ + pixel_y = 5 + }, +/obj/machinery/cell_charger{ + pixel_y = 3 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"SY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Ta" = ( +/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/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/command{ + dir = 1; + name = "Bridge"; + req_one_access = list(19,3) + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Ts" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/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 = 4; + pixel_y = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"TU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/blue{ + icon_state = "carpet_blue-38" + }, +/area/ship/crew) +"TW" = ( +/obj/structure/closet/firecloset/wall/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/loading/stripes{ + color = "#e32424"; + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Uo" = ( +/obj/machinery/firealarm/directional/north, +/obj/machinery/light/directional/west, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/folder/blue{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"UN" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -12; + pixel_y = 6 + }, +/obj/structure/closet/wall/white/directional/east, +/obj/structure/mirror{ + pixel_x = -28; + pixel_y = 7 + }, +/obj/item/soap, +/obj/item/towel, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plastic, +/area/ship/crew) +"UO" = ( +/obj/machinery/porta_turret/ship/clip{ + id = "arke"; + dir = 9 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"UP" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/catwalk/over, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + id = "arke_engi_lockdown"; + name = "Engine Shutters"; + pixel_y = 22; + pixel_x = -13 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Vb" = ( +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Vx" = ( +/obj/structure/crate_shelf, +/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/item/reagent_containers/glass/bottle/formaldehyde{ + pixel_x = 5 + }, +/obj/item/storage/box/bodybags, +/obj/structure/closet/crate/medical, +/obj/item/clothing/accessory/armband/medblue, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"Vy" = ( +/obj/structure/catwalk/over, +/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) +"VV" = ( +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/machinery/light/directional/east, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Wd" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "arke_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Xl" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/computer/helm{ + dir = 8; + layer = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"ZB" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/door/firedoor/border_only, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"ZP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"ZQ" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"ZU" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 5 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/engineering/communications) + +(1,1,1) = {" +es +es +es +es +GS +fc +fc +fc +GS +es +es +es +es +"} +(2,1,1) = {" +es +es +es +es +GS +Gt +Gt +Gt +GS +Gw +Oy +es +es +"} +(3,1,1) = {" +es +es +es +UO +GS +UP +Vy +lD +GS +cP +cP +cP +oD +"} +(4,1,1) = {" +es +es +es +GS +nZ +Rm +hu +bb +bi +cP +Lc +EJ +cP +"} +(5,1,1) = {" +es +es +Iw +zd +Bu +rY +Ak +wF +tE +cP +Gg +Nl +cP +"} +(6,1,1) = {" +bV +sW +sW +sW +sW +BH +lT +VV +GS +cP +nb +cP +cP +"} +(7,1,1) = {" +EN +sW +fJ +GP +sW +GS +jZ +GS +cP +QW +Kx +sR +bK +"} +(8,1,1) = {" +sW +OK +ju +OF +pO +iW +vT +tG +aW +SB +rI +uQ +bK +"} +(9,1,1) = {" +sW +Ig +Qn +ci +zn +Nr +NP +Gj +ZB +rG +aD +np +bK +"} +(10,1,1) = {" +sW +cV +ZU +QS +sW +uf +NP +pE +FB +TU +hA +na +cP +"} +(11,1,1) = {" +sW +sW +sc +hH +sW +Fu +Ts +up +EK +mD +LX +HU +mR +"} +(12,1,1) = {" +pS +sW +sW +sW +sW +cP +SY +cP +cP +cP +cP +cP +NU +"} +(13,1,1) = {" +es +es +RB +pp +cN +FH +bh +Rk +ve +UN +GM +cP +DP +"} +(14,1,1) = {" +es +Ly +cu +zs +KX +Sd +bh +Mk +CB +CB +CB +CB +CB +"} +(15,1,1) = {" +es +es +IA +NV +CV +qg +ZP +Vb +CB +Uo +QN +CB +mL +"} +(16,1,1) = {" +es +es +DB +dt +ZQ +xs +Bt +aJ +CB +fW +tN +RA +CB +"} +(17,1,1) = {" +es +es +Id +lm +Vx +rf +HG +oz +Ta +FG +jr +HX +Wd +"} +(18,1,1) = {" +es +es +es +lm +ru +fG +AP +wd +CB +ev +to +pX +Wd +"} +(19,1,1) = {" +es +es +es +lm +lm +SD +MK +kg +lm +pt +Xl +Rs +Rs +"} +(20,1,1) = {" +es +es +es +es +lm +AK +No +OJ +lm +CB +Rs +Rs +es +"} +(21,1,1) = {" +es +es +es +es +lm +Ov +yu +Ki +lm +es +es +sZ +es +"} +(22,1,1) = {" +es +es +es +es +lm +wV +TW +re +lm +es +es +sZ +es +"} +(23,1,1) = {" +es +es +es +es +lm +tY +lm +DB +fg +es +es +sZ +es +"} +(24,1,1) = {" +es +es +es +es +lm +vP +lm +es +sZ +es +es +bF +es +"} +(25,1,1) = {" +es +es +es +es +lm +Li +lm +es +sZ +es +es +es +es +"} +(26,1,1) = {" +es +es +es +es +DB +uW +lm +es +bF +es +es +es +es +"} +(27,1,1) = {" +es +es +es +es +es +tV +es +es +es +es +es +es +es +"} diff --git a/_maps/shuttles/minutemen/minutemen_atlas.dmm b/_maps/shuttles/minutemen/minutemen_atlas.dmm index 3828409fe94c..ac42351b5aef 100644 --- a/_maps/shuttles/minutemen/minutemen_atlas.dmm +++ b/_maps/shuttles/minutemen/minutemen_atlas.dmm @@ -4255,7 +4255,11 @@ /area/ship/crew/crewtwo) "Ti" = ( /obj/machinery/light/directional/west, -/turf/open/floor/engine/hull/interior, +/obj/machinery/telecomms/relay/preset/minutemen, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/engineering) "Tx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, diff --git a/code/game/objects/effects/decals/turfdecal/flooring_decals.dm b/code/game/objects/effects/decals/turfdecal/flooring_decals.dm index 1309d8f8fc7d..345209348769 100644 --- a/code/game/objects/effects/decals/turfdecal/flooring_decals.dm +++ b/code/game/objects/effects/decals/turfdecal/flooring_decals.dm @@ -389,6 +389,18 @@ TURF_DECAL_COLOR_HELPER(transparent/cybersunteal, "#4C9C9C", 140) detail_color = COLOR_WHITE detail_overlay = "loadingarea_stripes" +/obj/effect/turf_decal/industrial/loading/stripes + name = "loading area stripes" + icon_state = "loadingarea_stripes" + color = COLOR_WARNING + detail_overlay = null + +/obj/effect/turf_decal/industrial/loading/stripes/red + color = COLOR_RED_GRAY + +/obj/effect/turf_decal/industrial/loading/stripes/white + color = COLOR_WHITE + /obj/effect/turf_decal/industrial/caution icon_state = "caution" color = COLOR_YELLOW diff --git a/code/modules/clothing/outfits/factions/minutemen.dm b/code/modules/clothing/outfits/factions/minutemen.dm index 040acb06d7c4..02263a06ce96 100644 --- a/code/modules/clothing/outfits/factions/minutemen.dm +++ b/code/modules/clothing/outfits/factions/minutemen.dm @@ -9,6 +9,10 @@ faction_icon = "bg_clip" box = /obj/item/storage/box/survival/clip + ears = /obj/item/radio/headset + + backpack = /obj/item/storage/backpack/security/clip + satchel = /obj/item/storage/backpack/satchel/sec/clip // var/list/selectable_alt_titles = list() @@ -37,6 +41,17 @@ r_pocket = /obj/item/radio +/datum/outfit/job/clip/assistant/surveyor + name = "CLIP - Surveyor" + job_icon = "scribe" + + suit = /obj/item/clothing/suit/hazardvest + head = /obj/item/clothing/head/soft/utility_navy + gloves = /obj/item/clothing/gloves/color/black + accessory = /obj/item/clothing/accessory/pocketprotector/full + shoes = /obj/item/clothing/shoes/workboots + l_pocket = /obj/item/clipboard + /datum/outfit/job/clip/captain name = "CLIP - Captain" job_icon = "captain" @@ -155,6 +170,27 @@ duffelbag = /obj/item/storage/backpack/duffelbag/med courierbag = /obj/item/storage/backpack/messenger/med +/datum/outfit/job/clip/medtech + name = "CLIP - Medical Technician" + job_icon = "paramedic" + jobtype = /datum/job/paramedic + + l_hand = null + + uniform = /obj/item/clothing/under/clip/medic + head = /obj/item/clothing/head/soft/paramedic + shoes = /obj/item/clothing/shoes/sneakers/blue + gloves = /obj/item/clothing/gloves/color/latex/nitrile/clip + belt = /obj/item/storage/belt/medical/paramedic + l_pocket = /obj/item/flashlight/pen + + 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 + /datum/outfit/job/clip/scientist name = "CLIP - Researcher" job_icon = "scientist" @@ -388,27 +424,6 @@ suit = null suit_store = null -/datum/outfit/job/clip/minutemen/paramedic - name = "CLIP Minutemen - BARD Combat Medic" - job_icon = "paramedic" - jobtype = /datum/job/paramedic - - uniform = /obj/item/clothing/under/rank/medical/paramedic/emt - head = /obj/item/clothing/head/soft/paramedic - suit = /obj/item/clothing/suit/armor/vest - shoes = /obj/item/clothing/shoes/sneakers/blue - gloves = /obj/item/clothing/gloves/color/latex/nitrile - belt = /obj/item/storage/belt/medical/paramedic - suit_store = /obj/item/flashlight/pen - backpack_contents = list(/obj/item/roller=1) - - 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 - ///vehicle crew /datum/outfit/job/clip/minutemen/vehicle_crew From fb702016f59c34f6e2dd9dbe4007e89246abc562 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 20 Jan 2025 13:28:18 -0600 Subject: [PATCH 110/330] Automatic changelog generation for PR #3910 [ci skip] --- html/changelogs/AutoChangeLog-pr-3910.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3910.yml diff --git a/html/changelogs/AutoChangeLog-pr-3910.yml b/html/changelogs/AutoChangeLog-pr-3910.yml new file mode 100644 index 000000000000..176f5c5385f7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3910.yml @@ -0,0 +1,5 @@ +author: Ical92 +changes: + - {rscadd: Arke-Class Surveying Ship} + - {rscadd: The Atlas-Class now has a Telecomms Relay} +delete-after: true From 7f188e3e6d6b3b57644be7450ebc99312f9723cb Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Mon, 20 Jan 2025 13:31:14 -0600 Subject: [PATCH 111/330] corgis no longer attack like they are jojo characters (#4047) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## About The Pull Request https://github.com/tgstation/tgstation/pull/60579 ## Why It's Good For The Game from this https://github.com/user-attachments/assets/eea1647d-96d8-4e24-86d4-29e3ac7dfec3 to this https://github.com/user-attachments/assets/06b2b784-e125-4ede-92c3-fb018bec5b12 ## Changelog 🆑 Ryll/Shaps fix: Default AI behavior cooldowns have been returned back to 0,8 seconds instead of 0.1 seconds, meaning corgis will no longer disembowel you with 20 attacks in 2 seconds. /:cl: Co-authored-by: Sun-Soaked <45698967+Sun-Soaked@users.noreply.github.com> --- code/datums/ai/_ai_behavoir.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/ai/_ai_behavoir.dm b/code/datums/ai/_ai_behavoir.dm index fad64f6e97d6..ba7e91868b0f 100644 --- a/code/datums/ai/_ai_behavoir.dm +++ b/code/datums/ai/_ai_behavoir.dm @@ -5,7 +5,7 @@ ///Flags for extra behavior var/behavior_flags = NONE ///Cooldown between actions performances - var/action_cooldown = 0 + var/action_cooldown = CLICK_CD_MELEE /// Called by the ai controller when first being added. Additional arguments depend on the behavior type. /// Return FALSE to cancel From 2e5e090415e06fa0e430791645abcf3f96c504da Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 21 Jan 2025 01:02:34 +0000 Subject: [PATCH 112/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3910.yml | 5 ----- html/changelogs/AutoChangeLog-pr-3994.yml | 7 ------- html/changelogs/AutoChangeLog-pr-3996.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4008.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4028.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4052.yml | 5 ----- html/changelogs/archive/2025-01.yml | 18 ++++++++++++++++++ 7 files changed, 18 insertions(+), 30 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3910.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3994.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3996.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4008.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4028.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4052.yml diff --git a/html/changelogs/AutoChangeLog-pr-3910.yml b/html/changelogs/AutoChangeLog-pr-3910.yml deleted file mode 100644 index 176f5c5385f7..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3910.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Ical92 -changes: - - {rscadd: Arke-Class Surveying Ship} - - {rscadd: The Atlas-Class now has a Telecomms Relay} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3994.yml b/html/changelogs/AutoChangeLog-pr-3994.yml deleted file mode 100644 index f0a6e3cdf5b5..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3994.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Aylong -changes: - - {rscadd: Added a blinking background icon to vote action buttons} - - {rscadd: Added boxed message blocks and fieldset message blocks} - - {rscadd: Added a boxed message block for votes and a fieldset message block for - vote results} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3996.yml b/html/changelogs/AutoChangeLog-pr-3996.yml deleted file mode 100644 index f86240097673..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3996.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: zimon9 -changes: - - {balance: The bone breakage damage proc now depends on the movement intent of - a carbon. Walking reduces the proc call probability} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4008.yml b/html/changelogs/AutoChangeLog-pr-4008.yml deleted file mode 100644 index e5ff599e7a7c..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4008.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {bugfix: you can no longer grind down the outpost} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4028.yml b/html/changelogs/AutoChangeLog-pr-4028.yml deleted file mode 100644 index 897a2f04de12..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4028.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {rscadd: You can now purchase high conductivity gauss rounds from the outpost.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4052.yml b/html/changelogs/AutoChangeLog-pr-4052.yml deleted file mode 100644 index a15c210dcc0b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4052.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: FalloutFalcon -changes: - - {refactor: lightly refactors the get path section of the cleanbot ai. Has the - byproduct of stoping the linter fail.} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index 695358a3bfea..9d282f3138d8 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -186,3 +186,21 @@ - rscadd: Resprites everything eoehoma related! - rscadd: E-11 is more accurate. This isn't saying much. - bugfix: E-60's charge overlay should now work +2025-01-21: + Aylong: + - rscadd: Added a blinking background icon to vote action buttons + - rscadd: Added boxed message blocks and fieldset message blocks + - rscadd: Added a boxed message block for votes and a fieldset message block for + vote results + Erikafox: + - rscadd: You can now purchase high conductivity gauss rounds from the outpost. + - bugfix: you can no longer grind down the outpost + FalloutFalcon: + - refactor: lightly refactors the get path section of the cleanbot ai. Has the byproduct + of stoping the linter fail. + Ical92: + - rscadd: Arke-Class Surveying Ship + - rscadd: The Atlas-Class now has a Telecomms Relay + zimon9: + - balance: The bone breakage damage proc now depends on the movement intent of a + carbon. Walking reduces the proc call probability From 2b232bb11416d07678b2cdc32f80baab211f7fc8 Mon Sep 17 00:00:00 2001 From: Jedi-Toothpaste <53096233+Jedi-Toothpaste@users.noreply.github.com> Date: Tue, 21 Jan 2025 01:05:01 +0000 Subject: [PATCH 113/330] fixes spacesuits being in the wrong category (#4041) ## About The Pull Request Spacesuits are in the correct category now. Also the price of the laser tag crate is 500 like it was meant to be ## Why It's Good For The Game Fixes my big mistake ## Changelog :cl: fix: spacesuit crates are now correctly categorised fix: laser tag crates are 500 instead of 100 /:cl: --- code/modules/cargo/packs/costumes_toys.dm | 2 +- code/modules/cargo/packs/spacesuits.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index f6d288839ad4..2ac1ebebf339 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -35,7 +35,7 @@ /datum/supply_pack/costumes_toys/lasertag name = "Laser Tag Crate" desc = "Are you tired of Foam Force? Looking for a real thrill? The new NT-Lasertag System is sure to Rock Your Socks, no cleanup required, just plain fun. The NT Way: includes enough equipment for a 3v3 laser-tag shootout." - cost = 100 + cost = 500 contains = list(/obj/item/gun/energy/laser/redtag, /obj/item/gun/energy/laser/redtag, /obj/item/gun/energy/laser/redtag, diff --git a/code/modules/cargo/packs/spacesuits.dm b/code/modules/cargo/packs/spacesuits.dm index b5580f587d69..4323ce5486e8 100644 --- a/code/modules/cargo/packs/spacesuits.dm +++ b/code/modules/cargo/packs/spacesuits.dm @@ -6,7 +6,7 @@ Spacesuits (two parts, helm and suit) */ -/datum/supply_pack/spacesuit_armor/spacesuit +/datum/supply_pack/spacesuits/spacesuit name = "Space Suit Crate" desc = "Contains two basic space suits. Although the technology is centuries old, it should protect you from the vacuum of space." cost = 500 //changed the suit type to be the one without pockets, making it more consistent with the rest of the EVA suits available From df06c58bd329736288dd54853dcae83210489d11 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 20 Jan 2025 19:25:59 -0600 Subject: [PATCH 114/330] Automatic changelog generation for PR #4041 [ci skip] --- html/changelogs/AutoChangeLog-pr-4041.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4041.yml diff --git a/html/changelogs/AutoChangeLog-pr-4041.yml b/html/changelogs/AutoChangeLog-pr-4041.yml new file mode 100644 index 000000000000..c55b713fa3ef --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4041.yml @@ -0,0 +1,5 @@ +author: Jedi-Toothpaste +changes: + - {bugfix: spacesuit crates are now correctly categorised} + - {bugfix: laser tag crates are 500 instead of 100} +delete-after: true From 65cdce3707b1cbefd41ad40d3c2ebcb93a2c2edd Mon Sep 17 00:00:00 2001 From: Ratvar <61395690+Ratvarr@users.noreply.github.com> Date: Mon, 20 Jan 2025 22:11:35 -0800 Subject: [PATCH 115/330] Removes ireland. (#4044) ## About The Pull Request removes Ireland from corned beef. welcome back British government "fixes" https://github.com/shiptest-ss13/Shiptest/issues/4042 ## Why It's Good For The Game by the king jolly gee wizzlers, this is quite a crummy situation, don't worry my good fellow I shall have the king's finest chigureons and knaves fix this issue post-haste ## Changelog :cl: fix: The Irish have been removed from corned beef. /:cl: --- code/modules/food_and_drinks/food/snacks_meat.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index 540c6f1a94ea..ff36516b5efb 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -185,7 +185,7 @@ /obj/item/reagent_containers/food/snacks/cornedbeef name = "corned beef and cabbage" - desc = "Now you can feel like a real tourist vacationing in Ireland." + desc = "A nice hearty meal." icon_state = "cornedbeef" trash = /obj/item/trash/plate bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 4) From c59609a7ef6cfaaf9fa44e88e26272cd23e31efa Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Mon, 20 Jan 2025 22:11:45 -0800 Subject: [PATCH 116/330] Security Belt Additions (#4045) ## About The Pull Request Adds the ability for secbelts to carry binoculars, attachments, and pocket fire extinguishers. ## Why It's Good For The Game These are all small items with utility that make sense that they could be stored in a webbing, attachments especially. This should provide some utility while still not being particularly overpowered, given that there are no other changes to vest sizes. ## Changelog :cl: balance: Vests now have pockets for binoculars, attachments and pocket fire extinguishers /:cl: --- code/game/objects/items/storage/belt.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index de4dcb5684cc..616e3011c2f2 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -296,6 +296,7 @@ /obj/item/restraints/handcuffs, /obj/item/assembly/flash/handheld, /obj/item/clothing/glasses, + /obj/item/binoculars, /obj/item/ammo_casing/shotgun, /obj/item/ammo_box/magazine, /obj/item/ammo_box/c38, //speed loaders don't have a common path like magazines. pain. @@ -310,6 +311,8 @@ /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic, /obj/item/radio, + /obj/item/attachment, + /obj/item/extinguisher/mini, /obj/item/clothing/gloves, /obj/item/restraints/legcuffs/bola, /obj/item/holosign_creator/security, From be682e60478c9e5070e5bcca264302eba0017b60 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 21 Jan 2025 00:22:32 -0600 Subject: [PATCH 117/330] Automatic changelog generation for PR #4044 [ci skip] --- html/changelogs/AutoChangeLog-pr-4044.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4044.yml diff --git a/html/changelogs/AutoChangeLog-pr-4044.yml b/html/changelogs/AutoChangeLog-pr-4044.yml new file mode 100644 index 000000000000..b7775ca32801 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4044.yml @@ -0,0 +1,4 @@ +author: Ratvarr +changes: + - {bugfix: The Irish have been removed from corned beef.} +delete-after: true From a7cde9647406c00919a5df6bc39b4ae83f5bc3fd Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 21 Jan 2025 00:22:52 -0600 Subject: [PATCH 118/330] Automatic changelog generation for PR #4045 [ci skip] --- html/changelogs/AutoChangeLog-pr-4045.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4045.yml diff --git a/html/changelogs/AutoChangeLog-pr-4045.yml b/html/changelogs/AutoChangeLog-pr-4045.yml new file mode 100644 index 000000000000..86d3330a4784 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4045.yml @@ -0,0 +1,5 @@ +author: firebudgy +changes: + - {balance: 'Vests now have pockets for binoculars, attachments and pocket fire + extinguishers'} +delete-after: true From cb07e4ae51d31ae8b196611a63183b8ca1a4c8e0 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 21 Jan 2025 01:11:58 -0500 Subject: [PATCH 119/330] fix medpen name (#4046) :cl: fix: mannitol pens now have their proper name /:cl: --- code/modules/reagents/reagent_containers/hypospray.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 32dd2b760e88..f15e37044f2c 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -310,7 +310,7 @@ item_state = "morphen" /obj/item/reagent_containers/hypospray/medipen/mannitol - name = "tricordrazine injector" + name = "mannitol injector" desc = "An injector filled with mannitol, a restorative compound that targets the brain." list_reagents = list(/datum/reagent/medicine/mannitol = 15) volume = 15 From 943413dfa65fc269417687d301752007fd8d95b5 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 21 Jan 2025 00:37:42 -0600 Subject: [PATCH 120/330] Automatic changelog generation for PR #4046 [ci skip] --- html/changelogs/AutoChangeLog-pr-4046.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4046.yml diff --git a/html/changelogs/AutoChangeLog-pr-4046.yml b/html/changelogs/AutoChangeLog-pr-4046.yml new file mode 100644 index 000000000000..22b8d72c8acc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4046.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {bugfix: mannitol pens now have their proper name} +delete-after: true From c6ce9dc5eb1cf146c168c7235ca9592008d3a2f2 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Mon, 20 Jan 2025 23:26:47 -0800 Subject: [PATCH 121/330] Singular Vox Sprite (#4059) ## About The Pull Request Adds a singular Vox sprite for the Inteq Gas Mask. This is just a recolor of the VI gas mask for Vox (same with how the VI and Inteq gas masks are recolors of eachother). ![image](https://github.com/user-attachments/assets/6bd59f88-81fb-44db-a512-03498cbb8d5f) This gas mask sprite gave me a stroke when I first made it, spriting masks for Vox is hard. ## Why It's Good For The Game No more floating gas masks. I like seeing actual sprites on my characters. ## Changelog :cl: add: Inteq Gas Mask sprites for Vox. /:cl: --- icons/mob/species/vox/onmob_mask_vox.dmi | Bin 34636 -> 35528 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/species/vox/onmob_mask_vox.dmi b/icons/mob/species/vox/onmob_mask_vox.dmi index e005fabe5e27e1aef5e11a4c643194f4acf411f3..ac7e46d1dac42d12ea8f9fd6e147be1a4a83805e 100644 GIT binary patch delta 3563 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 Date: Tue, 21 Jan 2025 01:48:12 -0600 Subject: [PATCH 122/330] Automatic changelog generation for PR #4059 [ci skip] --- html/changelogs/AutoChangeLog-pr-4059.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4059.yml diff --git a/html/changelogs/AutoChangeLog-pr-4059.yml b/html/changelogs/AutoChangeLog-pr-4059.yml new file mode 100644 index 000000000000..49e8fbd55eb3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4059.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {rscadd: Inteq Gas Mask sprites for Vox.} +delete-after: true From 1cc6ed1bbc00f9a63a83e389d34ad0477cd2b6ab Mon Sep 17 00:00:00 2001 From: HelmCrab <90987989+Thera-Pissed@users.noreply.github.com> Date: Tue, 21 Jan 2025 09:11:20 -0600 Subject: [PATCH 123/330] fixes qdel bug (mobs in wrapped closets can qdel contents) #4053 (#4058) ## About The Pull Request fixes #4053 with a check for if a closet's loc is a delivery package, and qdels the package thus dropping the stuff within. There's probably a better way to do this but that requires redoing much more package code than I want to right now. ## Why It's Good For The Game weird ass qdel bug from weird ass package wrap code. THERES CAMEL CASE IN THIS STUFF WHAT THE HELL. ## Changelog :cl: fix: broken closet in package wrap qdel contents bug /:cl: --- code/game/objects/structures/crates_lockers/closets.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index cd1c880eae74..386ba96e5ffc 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -67,6 +67,9 @@ return /obj/structure/closet/Destroy() + if(istype(loc, /obj/structure/bigDelivery)) + var/obj/structure/bigDelivery/wrap = loc + qdel(wrap) dump_contents() return ..() From a118819541010b632fbac57b91d4918dd4bcecda Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 21 Jan 2025 09:22:33 -0600 Subject: [PATCH 124/330] Automatic changelog generation for PR #4058 [ci skip] --- html/changelogs/AutoChangeLog-pr-4058.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4058.yml diff --git a/html/changelogs/AutoChangeLog-pr-4058.yml b/html/changelogs/AutoChangeLog-pr-4058.yml new file mode 100644 index 000000000000..70598ddc8c31 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4058.yml @@ -0,0 +1,4 @@ +author: Thera-Pissed +changes: + - {bugfix: broken closet in package wrap qdel contents bug} +delete-after: true From bec97ce7888f2f3bb94599b5abf138d960b4ae8f Mon Sep 17 00:00:00 2001 From: HelmCrab <90987989+Thera-Pissed@users.noreply.github.com> Date: Tue, 21 Jan 2025 09:12:21 -0600 Subject: [PATCH 125/330] fixes #4043 (extra space in bodypart info) (#4056) ## About The Pull Request fixes #4043 (weird space as shown) ![404732061-c679297e-b40d-4791-9417-573307458506](https://github.com/user-attachments/assets/628cb960-9ba7-4ef9-ae66-131e89b5c04b) ## Why It's Good For The Game ![image](https://github.com/user-attachments/assets/b59460cb-4525-4e23-a347-689a743fd04b) ![image](https://github.com/user-attachments/assets/a8166f41-5503-4b80-9147-f8d3d3598750) ## Changelog :cl: fix: extra space in disabled bodypart text. /:cl: --- code/modules/mob/living/carbon/human/human_defense.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 4f3857841d7a..d16079014000 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -763,9 +763,9 @@ if(LB.bodypart_disabled) isdisabled = " is disabled" if(no_damage) - isdisabled += " but otherwise " + isdisabled += " but otherwise" else - isdisabled += " and " + isdisabled += " and" combined_msg += "\t Your [LB.name][isdisabled][self_aware ? " has " : " is "][status]." for(var/obj/item/I in LB.embedded_objects) From 74258414f4dd5e8bff3ef066227a03394e8a0f59 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 21 Jan 2025 09:43:39 -0600 Subject: [PATCH 126/330] Automatic changelog generation for PR #4056 [ci skip] --- html/changelogs/AutoChangeLog-pr-4056.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4056.yml diff --git a/html/changelogs/AutoChangeLog-pr-4056.yml b/html/changelogs/AutoChangeLog-pr-4056.yml new file mode 100644 index 000000000000..dee7eb62e792 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4056.yml @@ -0,0 +1,4 @@ +author: Thera-Pissed +changes: + - {bugfix: extra space in disabled bodypart text.} +delete-after: true From ac263cb0e7e2e05ce8c4b4a50174c8296fe4aa16 Mon Sep 17 00:00:00 2001 From: Ahmedok Date: Wed, 22 Jan 2025 00:42:36 +0500 Subject: [PATCH 127/330] Adding an NGR mining webbing variant (#4051) ## About The Pull Request In this PR I add the approved new (recolored) sprites for NGR mining webbings, and replace generic ones on NGR ships with them instead. Also I sneaked in mesons for the Wrecker on Kali-Adhil, since wrecking without them proves to be quite difficult. ## Why It's Good For The Game Adds variety in NGR drip, brings us closer to faction unique aesthetics. ## Changelog :cl: balance: added mesons in Kali-Adhil Wrecker locker imageadd: added NGR variant of mining webbing /:cl: --- .../syndicate/syndicate_ngr_derecho.dmm | 6 +++--- .../syndicate/syndicate_ngr_kaliandhi.dmm | 3 ++- code/modules/clothing/factions/ngr.dm | 8 ++++++++ icons/mob/clothing/faction/ngr/belt.dmi | Bin 505 -> 770 bytes icons/obj/clothing/faction/ngr/belt.dmi | Bin 350 -> 483 bytes 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm index 2fefe2a23261..192f779fda33 100644 --- a/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm +++ b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm @@ -1404,11 +1404,11 @@ pixel_x = 12; pixel_y = 12 }, -/obj/item/storage/belt/mining{ - pixel_x = 5; +/obj/item/storage/belt/utility, +/obj/item/storage/belt/mining/ngr{ + pixel_x = 4; pixel_y = 8 }, -/obj/item/storage/belt/utility, /turf/open/floor/pod, /area/ship/storage/equip) "mJ" = ( diff --git a/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm b/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm index a8a712f55109..124fe97a4ba4 100644 --- a/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm +++ b/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm @@ -4887,7 +4887,8 @@ /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, +/obj/item/storage/belt/mining/ngr, +/obj/item/clothing/glasses/meson, /turf/open/floor/pod, /area/ship/hallway/fore) "FJ" = ( diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index 81feb19e02c4..5d6a9891707a 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -273,3 +273,11 @@ new /obj/item/ammo_box/magazine/m556_42_hydra(src) new /obj/item/ammo_casing/a40mm(src) new /obj/item/ammo_casing/a40mm(src) + +/obj/item/storage/belt/mining/ngr + name = "NGR industrial webbing" + desc = "A set of industrial webbing used primarily by salvagers of the New Gorlex Republic, capable of holding mining equipment." + icon_state = "ngr_webbing_tan" + item_state = "ngr_webbing_tan" + icon = 'icons/obj/clothing/faction/ngr/belt.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/ngr/belt.dmi' diff --git a/icons/mob/clothing/faction/ngr/belt.dmi b/icons/mob/clothing/faction/ngr/belt.dmi index 5ec3ffa92932b58d094972a28546770b2247beb8..520808c88a54d254f5b0b700c7c5d736136e6cb0 100644 GIT binary patch delta 710 zcmV;%0y+Kp1A+#BiBL{Q4GJ0x0000DNk~Le0001B0001B1Oos701&on3jhEBBv4FL zMZmzo5)l?3ASN?4I!{kf!8Rj|8Z;mf06;JjRy-SRVN1Zkz&g$iAOHXW0d!JMQvg8b z*k%9#0C##+Sad{Xb7OL8aCB*JZU6vyoKseCa&`CgQ*iN-a7ll}sy4nPF%Oq|Wd&D1 z7qDXh6frAVCyi$#0006BNkle2c?d|4-nftK;rNSXNv1i zigi*dSFxd@Gq|DyQ(YIrQ{JpZ#5Yc~chXfS`CD1yThDLTv$kd+>h(X%;(@YxpuD>d z;M2e{cq>U9xuSnRnF?S$3DL)n6$b(cvv0S;=TGSGiRPI|VU|Bdn8Iul#^4#A<(P)$ zvcxmbA8~%9Sy=z01qq#{3LNDFdiciL@b!_yd?GnVEaBE zo6jj=06(#d$H>23+>yMSY$1}qT;OlSvC8k@FLe9INx6Td9Zf!j+d(WMBp#7N9r4#A zBE+|6e+bv|(72yP^y<~?qJgN+iU(@QL&(t`0Q{0h1sObfQ^%TOz-B7~R+~lw*_`ML z_$K?l#`{hFEc{^cC`yky=FfXf;kaoI2-v!^!Vaor!F|=9-}VAXQ?BS&zdxN$ue+-+ zw{2Tv61IQt4hX!m5LmWtiGZcM0|51&1zA>Ad#D7UI~-KHic`PUB}I>&}eo&*I*t+O`m7q|h@4;83W8Sh3m`YHI*~5uL>!+3Za8)c~xC zjya?;TD(!Wt95qZ>bbu9p{}f^9dKluM3-Fc3uBW)9#F${GU)z?cIh4o4WWA1U1b z3bCb;s175nY%?i~MYSKOjNDE1(JK;Zp=4T2mMV4R$+jIU)NRj!e)(>gU+>I|X}x=l zFtz>20G)(B%vXGYe2nojY+iqNAvg@-FG&d45HteLCqXJ>!e|h%DFPOR)7oJMb6RdJ z545lwUQ~P8!vFvP07*qo IM6N<$g0D`fI{*Lx diff --git a/icons/obj/clothing/faction/ngr/belt.dmi b/icons/obj/clothing/faction/ngr/belt.dmi index d88e67d332babf3b39642eb15cce48e235bbf9a1..9b6deeeb7257325509f8f6213e77bbe151e25b35 100644 GIT binary patch delta 392 zcmV;30eAl10^#@J7o5|0002(Nkln*o zQW4mp5P==^in`TF)yAC%_Xhy(nPz9I-Wk-qthsupmPs(4F)JldXV}?xgSR_8wD8L) zBvDMp78v(ngNL6Wqz54xesA3XaXQvm=}^z}RmWPd7%yo$ mYL*~irREQqEMjZ2{6gMvDL>5-zpXd`0000x3`su@q(lRJLR=3VI3TZ}W^8ID zBq-+ZA8^o2xkt(*BYayZPyu5}kY6x^!?PP{Ku-R|__TU$?H#{%Ht@1DFnG)K|9Uf_ z94Jxa>EaloG4brVM&1Sm9u|iStSm7OB@CK63qs6Sa7%oTcRb4Sis_g?^U0-KI6l5V z5uy{-vFag%c#nR7SMh{I#S)pe(!+ht`wv;K;=G-icEOED@N}G{&=hm4FJiwKi?|Q) zihc5*<6p?br=)g^`^q_)E!y+juPvLyzh|9(5mQTy;PL?d$#;PcVeoYIb6Mw<&;$T! CTUT@d From 5cee2561445a925a466eaedab9e2d036eda6f51d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 21 Jan 2025 13:53:38 -0600 Subject: [PATCH 128/330] Automatic changelog generation for PR #4051 [ci skip] --- html/changelogs/AutoChangeLog-pr-4051.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4051.yml diff --git a/html/changelogs/AutoChangeLog-pr-4051.yml b/html/changelogs/AutoChangeLog-pr-4051.yml new file mode 100644 index 000000000000..08d87e20c2ec --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4051.yml @@ -0,0 +1,5 @@ +author: Ahmedok +changes: + - {balance: added mesons in Kali-Adhil Wrecker locker} + - {imageadd: added NGR variant of mining webbing} +delete-after: true From 3fdbca1de059df41230979c018267dd02c588ba0 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 21 Jan 2025 14:49:39 -0500 Subject: [PATCH 129/330] Add Hyposprays to Cargo (#4049) ## About The Pull Request I got to play with one of these and it was cool so I'm adding it to cargo Also adds chitosan, a coagulant. since we didn't have a coagulant. for some reason. ## Why It's Good For The Game i think its cool :) ## Changelog :cl: add: chitosan! a coagulant that you can make by mixing 1 silicon, 2 sugar, 1 cryptobiolin and warming it all up. add: hyposprays and hypospray vials to cargo /:cl: --- _maps/shuttles/inteq/inteq_valor.dmm | 2 +- .../syndicate_cybersun_litieguai.dmm | 2 +- .../syndicate/syndicate_twinkleshine.dmm | 2 +- code/game/objects/items/storage/boxes.dm | 8 +- .../crates_lockers/closets/secure/medical.dm | 2 +- code/modules/cargo/packs/medical.dm | 123 ++++++++++++++++++ .../chemistry/reagents/medicine_reagents.dm | 22 ++++ .../reagents/chemistry/recipes/medicine.dm | 10 ++ .../reagents/reagent_containers/hypospray.dm | 17 ++- .../reagents/reagent_containers/hypovial.dm | 25 ++++ 10 files changed, 196 insertions(+), 17 deletions(-) diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index dd828389c380..7e36f1cc310d 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -4936,7 +4936,7 @@ name = "honorable corpsman beret" }, /obj/item/clothing/glasses/hud/health/sunglasses, -/obj/item/storage/box/hypospray/CMO, +/obj/item/storage/box/hypospray/mkiii, /obj/item/clothing/gloves/color/latex/nitrile, /obj/item/stamp/inteq/corpsman, /turf/open/floor/carpet/blue, diff --git a/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm b/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm index b007f06698d7..36165159f5bc 100644 --- a/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm +++ b/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm @@ -3072,7 +3072,7 @@ }, /obj/item/storage/belt/medical, /obj/item/healthanalyzer/advanced, -/obj/item/hypospray/mkii/CMO, +/obj/item/hypospray/mkii/mkiii, /obj/item/storage/backpack/satchel/med, /obj/item/defibrillator/compact/loaded, /obj/item/clothing/gloves/color/latex/nitrile/evil, diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 49e0cacc0c02..eb34cbc79eb5 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -8334,7 +8334,7 @@ /obj/structure/sign/warning/chemdiamond{ pixel_x = 30 }, -/obj/item/hypospray/mkii/CMO/combat, +/obj/item/hypospray/mkii/mkiii/combat, /obj/item/reagent_containers/glass/bottle/vial/large, /obj/item/reagent_containers/glass/bottle/vial/large, /obj/item/reagent_containers/glass/bottle/vial/large, diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index a43109109235..eb7bf60195bb 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -285,11 +285,11 @@ new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/kelotane(src) new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin(src) -/obj/item/storage/box/hypospray/CMO - name = "advanced hypospray mk. II kit" +/obj/item/storage/box/hypospray/mkiii + name = "hypospray mk. III kit" -/obj/item/storage/box/hypospray/CMO/PopulateContents() - new /obj/item/hypospray/mkii/CMO(src) +/obj/item/storage/box/hypospray/mkiii/PopulateContents() + new /obj/item/hypospray/mkii/mkiii(src) new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/bicaridine(src) new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/antitoxin(src) new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/kelotane(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 6c01be326e7a..6c4a6fa93463 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -83,7 +83,7 @@ new /obj/item/storage/bag/medical(src) //Medibags new /obj/item/clothing/head/beret/cmo(src) //Berets new /obj/item/clothing/under/rank/command(src) //Better command uniforms - new /obj/item/storage/box/hypospray/CMO(src) //Hypo mk. 2s + new /obj/item/storage/box/hypospray/mkiii(src) //Hypo mk. 2s new /obj/item/clothing/neck/cloak/cmo(src) new /obj/item/clothing/suit/bio_suit/cmo(src) new /obj/item/clothing/head/bio_hood/cmo(src) diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index a3e7adc239fa..46f4edf07421 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -178,3 +178,126 @@ contains = list(/obj/item/storage/box/medipens) crate_name = "epinephrine medipen crate" +/* Hypospray supplies */ + +/datum/supply_pack/medical/mkii_hypo + name = "mk.II Hypospray kit" + desc = "Contains an Nanotrasen Hypospray, for on the field medical care. Comes with an assortment of Ready-To-Go Vials" + cost = 1200 + contains = list(/obj/item/storage/box/hypospray) + crate_name = "mk.II hypospray crate" + faction = /datum/faction/nt + +/datum/supply_pack/medical/mkiii_hypo + name = "mk.III Hypospray kit" + desc = "Contains a mk.III Nanotrasen Hypospray, for on the field medical care. Comes with an assortment of Ready-To-Go Vials" + cost = 2000 + contains = list(/obj/item/storage/box/hypospray/mkiii) + crate_name = "mk.III hypospray crate" + faction = /datum/faction/nt + faction_locked = TRUE + faction_discount = 0 + +/datum/supply_pack/medical/vials + faction = /datum/faction/nt + faction_discount = 50 + +/datum/supply_pack/medical/vials/bica_vial + name = "Bicardine Vial Crate" + desc = "Contains 2 spare bicardine vials, for usage in a Hypospray." + cost = 800 + contains = list( + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/bicaridine, + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/bicaridine + ) + crate_name = "bicardine vial crate" + +/datum/supply_pack/medical/vials/kelo_vial + name = "Kelotane Vial Crate" + desc = "Contains 2 spare kelotane vials, for usage in a Hypospray." + cost = 800 + contains = list( + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/kelotane, + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/kelotane + ) + crate_name = "kelotane vial crate" + +/datum/supply_pack/medical/vials/dylo_vial + name = "Dylovene Vial Crate" + desc = "Contains 2 spare dylovene vials, for usage in a Hypospray." + cost = 1200 + contains = list( + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/antitoxin, + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/antitoxin + ) + crate_name = "dylovene vial crate" + +/datum/supply_pack/medical/vials/dexa_vial + name = "Dexalin Vial Crate" + desc = "Contains 2 spare dexalin vials, for usage in a Hypospray." + cost = 800 + contains = list( + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin, + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin + ) + crate_name = "dexalin vial crate" + +/datum/supply_pack/medical/vials/tric_vial + name = "Tricordrazine Vial Crate" + desc = "Contains 2 spare tricordrazine vials, for usage in a Hypospray." + cost = 800 + contains = list( + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/tricord, + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/tricord + ) + crate_name = "tricordrazine vial crate" + +/datum/supply_pack/medical/vials/morb_vial + name = "Morphine Vial Crate" + desc = "Contains 2 spare morphine vials, for usage in a Hypospray." + cost = 800 + contains = list( + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/morphine, + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/morphine + ) + crate_name = "morphine vial crate" + +/datum/supply_pack/medical/vials/atro_vial + name = "Atropine Vial Crate" + desc = "Contains 2 spare atropine vials, for usage in a Hypospray." + cost = 800 + contains = list( + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/atropine, + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/morphine + ) + crate_name = "atropine vial crate" + +/datum/supply_pack/medical/vials/erp_vial + name = "Radiation Purgant Vial Crate" + desc = "Contains 2 spare radiation purgant vials, for usage in a Hypospray." + cost = 800 + contains = list( + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/erp, + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/erp + ) + crate_name = "radiation purgant vial crate" + +/datum/supply_pack/medical/vials/sal_vial + name = "SalGlu Vial Crate" + desc = "Contains 2 spare SalGlu Solution vials, for usage in a Hypospray." + cost = 800 + contains = list( + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/salclu, + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/salclu + ) + crate_name = "SalGlu vial crate" + +/datum/supply_pack/medical/vials/chit_vial + name = "Chitosan Vial Crate" + desc = "Contains 2 spare Chitosan vials, for usage in a Hypospray." + cost = 800 + contains = list( + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/chitosan, + /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/chitosan + ) + crate_name = "chitosan vial crate" diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 0da4b838d56e..0369b5ee711b 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -2097,3 +2097,25 @@ ADD_TRAIT(M, TRAIT_ALLBREAK, TRAIT_GENERIC) REMOVE_TRAIT(M, TRAIT_NOBREAK, TRAIT_GENERIC) ..() + +/datum/reagent/medicine/chitosan + name = "Chitosan" + description = "Vastly improves the blood's natural ability to coagulate and stop bleeding by hightening platelet production and effectiveness. Overdosing will cause extreme blood clotting, resulting in potential brain damage." + reagent_state = LIQUID + color = "#CC00FF" + overdose_threshold = 10 + +/datum/reagent/medicine/chitosan/on_mob_life(mob/living/carbon/M) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + H.heal_bleeding(1) + ..() + . = 1 + +/datum/reagent/medicine/chitosan/overdose_process(mob/living/M) + M.adjustOxyLoss(4) + if(prob(10)) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2) + if(prob(5)) + M.adjustToxLoss(1) + ..() diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index 2397d67a1d2c..cd1261b0824e 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -325,3 +325,13 @@ WS End */ /datum/chemical_reaction/chartreuse results = list(/datum/reagent/medicine/chartreuse = 10) required_reagents = list(/datum/reagent/medicine/puce_essence = 5, /datum/reagent/consumable/tinlux = 5, /datum/reagent/consumable/entpoly = 1) + +/datum/chemical_reaction/chitosan + results = list(/datum/reagent/medicine/chitosan = 10) + required_reagents = list(/datum/reagent/silicon = 1, /datum/reagent/consumable/sugar = 2, /datum/reagent/cryptobiolin = 1) + required_temp = 380 + +/datum/chemical_reaction/chitosan_failure + results = list(/datum/reagent/carbon = 1) + required_reagents = list(/datum/reagent/medicine/chitosan = 1) + required_temp = 405 diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index f15e37044f2c..412ac3ae14be 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -6,8 +6,8 @@ #define SELF_SPRAY 15 #define SELF_INJECT 15 -#define DELUXE_WAIT_SPRAY 20 -#define DELUXE_WAIT_INJECT 20 +#define DELUXE_WAIT_SPRAY 15 +#define DELUXE_WAIT_INJECT 15 #define DELUXE_SELF_SPRAY 10 #define DELUXE_SELF_INJECT 10 @@ -324,7 +324,7 @@ name = "hypospray mk.II" icon = 'icons/obj/syringe.dmi' icon_state = "hypo2" - desc = "A new development from DeForest Medical, this hypospray takes 30-unit vials as the drug supply for easy swapping." + desc = "A medical product traditionally manufactured by Nanotrasen and Cybersun, this hypospray takes 30-unit vials as the drug supply for easy swapping." w_class = WEIGHT_CLASS_TINY var/list/allowed_containers = list(/obj/item/reagent_containers/glass/bottle/vial/tiny, /obj/item/reagent_containers/glass/bottle/vial/small) var/mode = HYPO_INJECT @@ -336,7 +336,7 @@ var/spray_self = SELF_SPRAY var/inject_self = SELF_INJECT var/quickload = FALSE - var/penetrates = FALSE + var/penetrates = TRUE /obj/item/hypospray/mkii/brute start_vial = /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/bicaridine @@ -353,11 +353,11 @@ /obj/item/hypospray/mkii/tricord start_vial = /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/tricord -/obj/item/hypospray/mkii/CMO - name = "hypospray mk.II deluxe" +/obj/item/hypospray/mkii/mkiii + name = "hypospray mk.III" allowed_containers = list(/obj/item/reagent_containers/glass/bottle/vial/tiny, /obj/item/reagent_containers/glass/bottle/vial/small, /obj/item/reagent_containers/glass/bottle/vial/large) icon_state = "cmo2" - desc = "The Deluxe Hypospray can take larger-size vials. It also acts faster and delivers more reagents per spray." + desc = "The mk.III Hypospray can take larger-size vials. It also acts faster and delivers more reagents per spray." resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF start_vial = /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/CMO inject_wait = DELUXE_WAIT_INJECT @@ -365,7 +365,7 @@ spray_self = DELUXE_SELF_SPRAY inject_self = DELUXE_SELF_INJECT -/obj/item/hypospray/mkii/CMO/combat +/obj/item/hypospray/mkii/mkiii/combat name = "combat hypospray mk.II" desc = "A combat-ready deluxe hypospray that acts almost instantly. It can be tactically reloaded by using a vial on it." icon_state = "combat2" @@ -375,7 +375,6 @@ spray_self = COMBAT_SELF_SPRAY inject_self = COMBAT_SELF_INJECT quickload = TRUE - penetrates = TRUE /obj/item/hypospray/mkii/Initialize() . = ..() diff --git a/code/modules/reagents/reagent_containers/hypovial.dm b/code/modules/reagents/reagent_containers/hypovial.dm index 7696bf0d950a..bcd3d38022b8 100644 --- a/code/modules/reagents/reagent_containers/hypovial.dm +++ b/code/modules/reagents/reagent_containers/hypovial.dm @@ -142,6 +142,31 @@ icon_state = "hypovial" comes_with = list(/datum/reagent/medicine/tricordrazine = 60) +/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/morphine + name = "hypovial (morphine)" + icon_state = "hypovial-pink" + comes_with = list(/datum/reagent/medicine/morphine = 60) + +/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/atropine + name = "hypovial (atropine)" + icon_state = "hypovial-t" + comes_with = list(/datum/reagent/medicine/atropine = 60) + +/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/erp //its not what it looks like i swear + name = "hypovial (radiation purgant)" + icon_state = "hypovial-k" + comes_with = list(/datum/reagent/medicine/anti_rad = 60) + +/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/salclu + name = "hypovial (SalGlu Solution)" + icon_state = "hypovial" + comes_with = list(/datum/reagent/medicine/salglu_solution = 60) + +/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/chitosan + name = "hypovial (chitosan)" + icon_state = "hypovial-b" + comes_with = list(/datum/reagent/medicine/chitosan = 60) + /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/CMO name = "deluxe hypovial" icon_state = "hypoviallarge-cmos" From 899a53efeebb48ce3c20e053fbe65e6c2cc827b8 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 21 Jan 2025 14:07:21 -0600 Subject: [PATCH 130/330] Automatic changelog generation for PR #4049 [ci skip] --- html/changelogs/AutoChangeLog-pr-4049.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4049.yml diff --git a/html/changelogs/AutoChangeLog-pr-4049.yml b/html/changelogs/AutoChangeLog-pr-4049.yml new file mode 100644 index 000000000000..80cf568af578 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4049.yml @@ -0,0 +1,6 @@ +author: Erikafox +changes: + - {rscadd: 'chitosan! a coagulant that you can make by mixing 1 silicon, 2 sugar, + 1 cryptobiolin and warming it all up.'} + - {rscadd: hyposprays and hypospray vials to cargo} +delete-after: true From 0c8d7f9139c54f90ce0c788ad79d75c26b4c9a6a Mon Sep 17 00:00:00 2001 From: Slim-Pickems <144301516+Slim-Pickems@users.noreply.github.com> Date: Tue, 21 Jan 2025 13:50:44 -0600 Subject: [PATCH 131/330] Combat Medic Hardsuit Changes (#4055) ## About The Pull Request Makes a small buff on the bullet protection to the Combat Medic hardsuit for it can actually be better than the regular medic hardsuit. ## Why It's Good For The Game Make buying the combat medic hardsuit from the black market worth the cash it costs, but not a better option than some of the more dedicated combat suits. ## Changelog :cl: balance: moved combat medic hardsuit bullet protection from 10 to 20 /:cl: --- code/modules/clothing/spacesuits/miscellaneous.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index f739afcf8219..07f0b571d1e7 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -500,7 +500,7 @@ Contains: desc = "The integrated helmet of the combat medic hardsuit, this has a bright, glowing facemask." icon_state = "hardsuit0-combatmedic" item_state = "hardsuit0-combatmedic" - armor = list("melee" = 35, "bullet" = 10, "laser" = 20, "energy" = 30, "bomb" = 5, "bio" = 100, "rad" = 50, "fire" = 65, "acid" = 75) + armor = list("melee" = 35, "bullet" = 20, "laser" = 20, "energy" = 30, "bomb" = 5, "bio" = 100, "rad" = 50, "fire" = 65, "acid" = 75) hardsuit_type = "combatmedic" /obj/item/clothing/suit/space/hardsuit/combatmedic @@ -509,7 +509,7 @@ Contains: icon_state = "combatmedic" item_state = "combatmedic" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/combatmedic - armor = list("melee" = 35, "bullet" = 10, "laser" = 20, "energy" = 30, "bomb" = 5, "bio" = 100, "rad" = 50, "fire" = 65, "acid" = 75) + armor = list("melee" = 35, "bullet" = 20, "laser" = 20, "energy" = 30, "bomb" = 5, "bio" = 100, "rad" = 50, "fire" = 65, "acid" = 75) allowed = list(/obj/item/gun, /obj/item/melee/baton, /obj/item/circular_saw, /obj/item/tank/internals, /obj/item/storage/box/pillbottles,\ /obj/item/storage/firstaid, /obj/item/stack/medical/gauze, /obj/item/stack/medical/suture, /obj/item/stack/medical/mesh, /obj/item/storage/bag/chemistry) From 8080e97201641469df4d414e071ecff28ba13001 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 21 Jan 2025 14:18:58 -0600 Subject: [PATCH 132/330] Automatic changelog generation for PR #4055 [ci skip] --- html/changelogs/AutoChangeLog-pr-4055.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4055.yml diff --git a/html/changelogs/AutoChangeLog-pr-4055.yml b/html/changelogs/AutoChangeLog-pr-4055.yml new file mode 100644 index 000000000000..70d298378644 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4055.yml @@ -0,0 +1,4 @@ +author: Slim-Pickems +changes: + - {balance: moved combat medic hardsuit bullet protection from 10 to 20} +delete-after: true From 96c1d4fbc25b52fd42aa9073acff70b35e9a05e5 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Tue, 21 Jan 2025 12:30:55 -0800 Subject: [PATCH 133/330] Mech Zoom (#4048) ## About The Pull Request Changes mech zooming to use the updated version added in #3736. Mech zooming is now tied to the equipment on the mech. Reflavours the Solaris to be a beam sniper, and adds zoom to the pulse cannon. Removes inherent zoom ability from the Marauder. ## Why It's Good For The Game Mechs using the better zooming system is good, and gives the Solaris a stronger distinct niche. ## Changelog :cl: add: Mechs use the new zoom system add: Solaris and Ez-Pulse cannon can zoom. del: Zoom on the Marauder /:cl: --- code/game/mecha/combat/marauder.dm | 2 -- code/game/mecha/equipment/weapons/weapons.dm | 14 +++++++++--- code/game/mecha/mecha.dm | 24 ++++++++++++++++---- code/game/mecha/mecha_actions.dm | 11 +++++---- code/game/mecha/mecha_topic.dm | 2 +- code/modules/cargo/packs/mechs.dm | 2 +- 6 files changed, 40 insertions(+), 15 deletions(-) diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index b35cc1e370ff..219c1501c83e 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -21,12 +21,10 @@ /obj/mecha/combat/marauder/GrantActions(mob/living/user, human_occupant = 0) ..() smoke_action.Grant(user, src) - zoom_action.Grant(user, src) /obj/mecha/combat/marauder/RemoveActions(mob/living/user, human_occupant = 0) ..() smoke_action.Remove(user) - zoom_action.Remove(user) /obj/mecha/combat/marauder/loaded/Initialize() . = ..() diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index d36cab972fde..ce208805cd7b 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -16,6 +16,10 @@ var/one_casing = FALSE // for shotgun type weapons so it doesnt throw out more casings than it's suppossed too var/casing_type + var/scoped = FALSE //whether this weapon is scoped + var/zoom_mod = 6 + var/zoom_out_mod = 2 + /obj/item/mecha_parts/mecha_equipment/weapon/can_attach(obj/mecha/M) if(!..()) return FALSE @@ -123,13 +127,16 @@ /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser equip_cooldown = 16 - name = "\improper CH-LC \"Solaris\" beam cannon" - desc = "A weapon for combat exosuits. Shoots heavy beam lasers." + name = "\improper CH-LC \"Solaris\" beam sniper" + desc = "A scoped weapon for combat exosuits. Shoots long range heavy beam lasers." icon_state = "mecha_laser" energy_drain = 60 projectile = /obj/projectile/beam/emitter/hitscan fire_sound = 'sound/weapons/lasercannonfire.ogg' full_auto = FALSE + scoped = TRUE + zoom_mod = 10 + zoom_out_mod = 3 /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion equip_cooldown = 20 @@ -153,13 +160,14 @@ /obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse equip_cooldown = 4 name = "eZ-13 MK2 heavy pulse rifle" - desc = "A weapon for combat exosuits. Shoots powerful destructive blasts capable of demolishing obstacles." + desc = "A scoped weapon for combat exosuits. Shoots powerful destructive blasts capable of demolishing obstacles." icon_state = "mecha_pulse" energy_drain = 120 projectile = /obj/projectile/beam/pulse/heavy fire_sound = 'sound/weapons/marauder.ogg' harmful = TRUE full_auto = TRUE + scoped = TRUE /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma equip_cooldown = 10 diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 11b3b3c5a08f..332f14557786 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -116,7 +116,6 @@ var/defense_mode = FALSE var/leg_overload_mode = FALSE var/leg_overload_coeff = 100 - var/zoom_mode = FALSE var/smoke = 5 var/smoke_ready = 1 var/smoke_cooldown = 100 @@ -125,6 +124,10 @@ var/phase_state = "" //icon_state when phasing var/strafe = FALSE //If we are strafing + var/zoom_mode = FALSE + var/zoom_mod = 6 + var/zoom_out_mod = 2 + var/nextsmash = 0 var/smashcooldown = 3 //deciseconds @@ -1004,7 +1007,7 @@ if(!internal_damage) SEND_SOUND(occupant, sound('sound/mecha/nominal.ogg',volume=50)) SEND_SIGNAL(src,COMSIG_MECH_ENTERED, occupant) - autofire_check() + equipment_check() return TRUE /obj/mecha/proc/mmi_move_inside(obj/item/mmi/M, mob/user) @@ -1050,7 +1053,7 @@ B.update_mouse_pointer() icon_state = initial(icon_state) SEND_SIGNAL(src,COMSIG_MECH_ENTERED, occupant) - autofire_check() + equipment_check() update_appearance() setDir(dir_in) log_message("[M] moved in as pilot.", LOG_MECHA) @@ -1263,7 +1266,9 @@ GLOBAL_VAR_INIT(year_integer, text2num(year)) // = 2013??? to_chat(user, "None of the equipment on this exosuit can use this ammo!") return FALSE -/obj/mecha/proc/autofire_check() +// handles actions tied to mech equipment +/obj/mecha/proc/equipment_check() + occupant.client.view_size.zoomIn() if(istype(selected,/obj/item/mecha_parts/mecha_equipment/weapon)) var/obj/item/mecha_parts/mecha_equipment/weapon/mech_gun = selected if(mech_gun.full_auto) @@ -1271,8 +1276,19 @@ GLOBAL_VAR_INIT(year_integer, text2num(year)) // = 2013??? SEND_SIGNAL(src,COMSIG_MECH_SET_AUTOFIRE_SPEED, mech_gun.equip_cooldown) else SEND_SIGNAL(src,COMSIG_MECH_DISABLE_AUTOFIRE) + if(mech_gun.scoped) + zoom_action.Grant(occupant,src) + zoom_mod = mech_gun.zoom_mod + zoom_out_mod = mech_gun.zoom_out_mod + else + zoom_action.Remove(occupant) + zoom_mod = initial(zoom_mod) + zoom_out_mod = initial(zoom_out_mod) else SEND_SIGNAL(src,COMSIG_MECH_DISABLE_AUTOFIRE) + zoom_action.Remove(occupant) + zoom_mod = initial(zoom_mod) + zoom_out_mod = initial(zoom_out_mod) /////////////////////// diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm index 3f24b261c74b..040e91395231 100644 --- a/code/game/mecha/mecha_actions.dm +++ b/code/game/mecha/mecha_actions.dm @@ -19,6 +19,9 @@ lights_action.Remove(user) stats_action.Remove(user) strafing_action.Remove(user) + if(zoom_action) + zoom_action.Remove(user) + user.client.view_size.zoomIn() /datum/action/innate/mecha @@ -81,7 +84,7 @@ send_byjax(chassis.occupant,"exosuit.browser","eq_list",chassis.get_equipment_list()) button_icon_state = "mech_cycle_equip_on" UpdateButtonIcon() - chassis.autofire_check() + chassis.equipment_check() return var/number = 0 for(var/A in available_equipment) @@ -96,7 +99,7 @@ chassis.occupant_message("You switch to [chassis.selected].") button_icon_state = "mech_cycle_equip_on" send_byjax(chassis.occupant,"exosuit.browser","eq_list",chassis.get_equipment_list()) - chassis.autofire_check() + chassis.equipment_check() UpdateButtonIcon() return @@ -226,10 +229,10 @@ chassis.log_message("Toggled zoom mode.", LOG_MECHA) chassis.occupant_message("Zoom mode [chassis.zoom_mode?"en":"dis"]abled.") if(chassis.zoom_mode) - owner.client.view_size.setTo(4.5) + owner.client.view_size.zoomOut(chassis.zoom_out_mod, chassis.zoom_mod, chassis.dir) SEND_SOUND(owner, sound('sound/mecha/imag_enh.ogg',volume=50)) else - owner.client.view_size.resetToDefault() //Let's not let this stack shall we? + owner.client.view_size.zoomIn() UpdateButtonIcon() /datum/action/innate/mecha/mech_switch_damtype diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm index d18c81b51c13..b43a576c9937 100644 --- a/code/game/mecha/mecha_topic.dm +++ b/code/game/mecha/mecha_topic.dm @@ -324,7 +324,7 @@ return selected = equip // enable autofire - autofire_check() + equipment_check() occupant_message("You switch to [equip].") visible_message("[src] raises [equip].") send_byjax(usr, "exosuit.browser", "eq_list", get_equipment_list()) diff --git a/code/modules/cargo/packs/mechs.dm b/code/modules/cargo/packs/mechs.dm index c35f4bb7ebc2..0853299b142a 100644 --- a/code/modules/cargo/packs/mechs.dm +++ b/code/modules/cargo/packs/mechs.dm @@ -326,7 +326,7 @@ weapons /datum/supply_pack/mech/weapon/biglaser name = "Solaris kit" - desc = "A heavy beam cannon designed for combat usage." + desc = "A heavy beam sniper cannon designed for combat usage." cost = 2000 contains = list( /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser From 606239579f4fab8a7cab72a05d97aab9fe32dc6a Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 21 Jan 2025 14:41:46 -0600 Subject: [PATCH 134/330] Automatic changelog generation for PR #4048 [ci skip] --- html/changelogs/AutoChangeLog-pr-4048.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4048.yml diff --git a/html/changelogs/AutoChangeLog-pr-4048.yml b/html/changelogs/AutoChangeLog-pr-4048.yml new file mode 100644 index 000000000000..1c97de050582 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4048.yml @@ -0,0 +1,6 @@ +author: Gristlebee +changes: + - {rscadd: Mechs use the new zoom system} + - {rscadd: Solaris and Ez-Pulse cannon can zoom.} + - {rscdel: Zoom on the Marauder} +delete-after: true From 0af5815ff6bf94bb425fc9440df0cefda907d249 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 22 Jan 2025 01:03:50 +0000 Subject: [PATCH 135/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4041.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4044.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4045.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4046.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4048.yml | 6 ------ html/changelogs/AutoChangeLog-pr-4049.yml | 6 ------ html/changelogs/AutoChangeLog-pr-4051.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4055.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4056.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4058.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4059.yml | 4 ---- html/changelogs/archive/2025-01.yml | 26 +++++++++++++++++++++++ 12 files changed, 26 insertions(+), 51 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4041.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4044.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4045.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4046.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4048.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4049.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4051.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4055.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4056.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4058.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4059.yml diff --git a/html/changelogs/AutoChangeLog-pr-4041.yml b/html/changelogs/AutoChangeLog-pr-4041.yml deleted file mode 100644 index c55b713fa3ef..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4041.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Jedi-Toothpaste -changes: - - {bugfix: spacesuit crates are now correctly categorised} - - {bugfix: laser tag crates are 500 instead of 100} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4044.yml b/html/changelogs/AutoChangeLog-pr-4044.yml deleted file mode 100644 index b7775ca32801..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4044.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Ratvarr -changes: - - {bugfix: The Irish have been removed from corned beef.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4045.yml b/html/changelogs/AutoChangeLog-pr-4045.yml deleted file mode 100644 index 86d3330a4784..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4045.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: firebudgy -changes: - - {balance: 'Vests now have pockets for binoculars, attachments and pocket fire - extinguishers'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4046.yml b/html/changelogs/AutoChangeLog-pr-4046.yml deleted file mode 100644 index 22b8d72c8acc..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4046.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {bugfix: mannitol pens now have their proper name} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4048.yml b/html/changelogs/AutoChangeLog-pr-4048.yml deleted file mode 100644 index 1c97de050582..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4048.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Gristlebee -changes: - - {rscadd: Mechs use the new zoom system} - - {rscadd: Solaris and Ez-Pulse cannon can zoom.} - - {rscdel: Zoom on the Marauder} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4049.yml b/html/changelogs/AutoChangeLog-pr-4049.yml deleted file mode 100644 index 80cf568af578..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4049.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Erikafox -changes: - - {rscadd: 'chitosan! a coagulant that you can make by mixing 1 silicon, 2 sugar, - 1 cryptobiolin and warming it all up.'} - - {rscadd: hyposprays and hypospray vials to cargo} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4051.yml b/html/changelogs/AutoChangeLog-pr-4051.yml deleted file mode 100644 index 08d87e20c2ec..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4051.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Ahmedok -changes: - - {balance: added mesons in Kali-Adhil Wrecker locker} - - {imageadd: added NGR variant of mining webbing} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4055.yml b/html/changelogs/AutoChangeLog-pr-4055.yml deleted file mode 100644 index 70d298378644..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4055.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Slim-Pickems -changes: - - {balance: moved combat medic hardsuit bullet protection from 10 to 20} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4056.yml b/html/changelogs/AutoChangeLog-pr-4056.yml deleted file mode 100644 index dee7eb62e792..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4056.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Thera-Pissed -changes: - - {bugfix: extra space in disabled bodypart text.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4058.yml b/html/changelogs/AutoChangeLog-pr-4058.yml deleted file mode 100644 index 70598ddc8c31..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4058.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Thera-Pissed -changes: - - {bugfix: broken closet in package wrap qdel contents bug} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4059.yml b/html/changelogs/AutoChangeLog-pr-4059.yml deleted file mode 100644 index 49e8fbd55eb3..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4059.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {rscadd: Inteq Gas Mask sprites for Vox.} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index 9d282f3138d8..7ef4e51b18b1 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -204,3 +204,29 @@ zimon9: - balance: The bone breakage damage proc now depends on the movement intent of a carbon. Walking reduces the proc call probability +2025-01-22: + Ahmedok: + - balance: added mesons in Kali-Adhil Wrecker locker + - imageadd: added NGR variant of mining webbing + Erikafox: + - rscadd: chitosan! a coagulant that you can make by mixing 1 silicon, 2 sugar, + 1 cryptobiolin and warming it all up. + - rscadd: hyposprays and hypospray vials to cargo + - bugfix: mannitol pens now have their proper name + Gristlebee: + - rscadd: Mechs use the new zoom system + - rscadd: Solaris and Ez-Pulse cannon can zoom. + - rscdel: Zoom on the Marauder + Jedi-Toothpaste: + - bugfix: spacesuit crates are now correctly categorised + - bugfix: laser tag crates are 500 instead of 100 + Ratvarr: + - bugfix: The Irish have been removed from corned beef. + Slim-Pickems: + - balance: moved combat medic hardsuit bullet protection from 10 to 20 + Thera-Pissed: + - bugfix: broken closet in package wrap qdel contents bug + - bugfix: extra space in disabled bodypart text. + firebudgy: + - rscadd: Inteq Gas Mask sprites for Vox. + - balance: Vests now have pockets for binoculars, attachments and pocket fire extinguishers From 096f729865638845822dee2f8e8897191086af15 Mon Sep 17 00:00:00 2001 From: MemeSnorfer <116136632+MemeSnorfer@users.noreply.github.com> Date: Tue, 21 Jan 2025 18:31:12 -0800 Subject: [PATCH 136/330] Kepori Balaclava + Webbing Sprice (#4061) ## About The Pull Request Adds Kepori variants of various combat webbings and balaclavas, sprites credited to Moffball. ![image](https://github.com/user-attachments/assets/36661e5f-d7aa-4dcb-82dc-fefc9a3162a9) ![image](https://github.com/user-attachments/assets/d9fbf465-fce1-4ff0-a5aa-fa1e2d189090) (also amends a mistake I had made in a previous balaclava pr I made concerning NGR balaclavas) ## Why It's Good For The Game Sprite support for a species is good I think. ## Changelog :cl: MemeSnorfer & Moffball imageadd: Kepori will no longer be haunted by floating combat webbings and balaclavas. Hurray! fix: Fixes a mistake concerning NGR balaclavas not fitting Sarathi snouts. /:cl: --- code/game/objects/items/storage/belt.dm | 4 +++- code/modules/clothing/factions/clip.dm | 1 + code/modules/clothing/factions/hardliners.dm | 1 + code/modules/clothing/factions/ngr.dm | 4 +++- code/modules/clothing/masks/boxing.dm | 2 +- code/modules/clothing/masks/breath.dm | 1 + icons/mob/species/kepori/onmob_belt_kepori.dmi | Bin 184 -> 3557 bytes icons/mob/species/kepori/onmob_mask_kepori.dmi | Bin 710 -> 2392 bytes 8 files changed, 10 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 616e3011c2f2..3b550ffbb2c4 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -168,6 +168,7 @@ icon_state = "medicwebbing" item_state = "medicwebbing" custom_premium_price = 900 + supports_variations = KEPORI_VARIATION /obj/item/storage/belt/medical/ComponentInitialize() . = ..() @@ -447,6 +448,7 @@ icon_state = "militarywebbing" item_state = "militarywebbing" resistance_flags = FIRE_PROOF + supports_variations = KEPORI_VARIATION unique_reskin = list( "None" = "militarywebbing", @@ -905,7 +907,7 @@ desc = "A set of tactical webbing for operators of the IRMG, can hold security gear." icon_state = "inteq_webbing" item_state = "inteq_webbing" - supports_variations = VOX_VARIATION + supports_variations = VOX_VARIATION | KEPORI_VARIATION /obj/item/storage/belt/security/webbing/inteq/skm/PopulateContents() . = ..() diff --git a/code/modules/clothing/factions/clip.dm b/code/modules/clothing/factions/clip.dm index 41019a0e62ab..d5b1215dcc5f 100644 --- a/code/modules/clothing/factions/clip.dm +++ b/code/modules/clothing/factions/clip.dm @@ -393,6 +393,7 @@ item_state = "combat_balaclava" alternate_worn_layer = BODY_LAYER flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEARS|HIDEHAIR + supports_variations = KEPORI_VARIATION //gloves diff --git a/code/modules/clothing/factions/hardliners.dm b/code/modules/clothing/factions/hardliners.dm index 3f9f0f2871cb..021098b9cf53 100644 --- a/code/modules/clothing/factions/hardliners.dm +++ b/code/modules/clothing/factions/hardliners.dm @@ -220,6 +220,7 @@ item_state = "hl_webbing" icon = 'icons/obj/clothing/faction/hardliners/belt.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/belt.dmi' + supports_variations = KEPORI_VARIATION /obj/item/storage/belt/security/webbing/hardliners/sidewinder/PopulateContents() . = ..() diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index 5d6a9891707a..6c4be5f25dad 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -229,6 +229,7 @@ item_state = "ngr_balaclava" 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 | KEPORI_VARIATION /obj/item/clothing/mask/breath/ngr name = "NGR face mask" @@ -237,7 +238,7 @@ 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 + supports_variations = SNOUTED_VARIATION | SNOUTED_SMALL_VARIATION | KEPORI_VARIATION ////////// //Neck// @@ -262,6 +263,7 @@ item_state = "ngr_webbing" icon = 'icons/obj/clothing/faction/ngr/belt.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/belt.dmi' + supports_variations = KEPORI_VARIATION /obj/item/storage/belt/security/webbing/ngr/cobra/PopulateContents() . = ..() diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index d8713138ba97..7b2f67d4d60c 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -14,7 +14,7 @@ flags_cover = MASKCOVERSMOUTH visor_flags_cover = MASKCOVERSMOUTH resistance_flags = NONE - supports_variations = SNOUTED_VARIATION | SNOUTED_SMALL_VARIATION | VOX_VARIATION + supports_variations = SNOUTED_VARIATION | SNOUTED_SMALL_VARIATION | VOX_VARIATION | KEPORI_VARIATION equipping_sound = EQUIP_SOUND_VFAST_GENERIC unequipping_sound = UNEQUIP_SOUND_VFAST_GENERIC diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index d24e4efb2640..98520a30b597 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -49,3 +49,4 @@ 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" + supports_variations = KEPORI_VARIATION diff --git a/icons/mob/species/kepori/onmob_belt_kepori.dmi b/icons/mob/species/kepori/onmob_belt_kepori.dmi index 4a5a4ba7b32a424e1d1997c33d98c6cbc5e66041..d8b5a2b953569da58ac4b9a57b036adf164f29b5 100644 GIT binary patch literal 3557 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 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9$P6U&q%z}y6mx)2h%1m@US)d=NHLZK`2{mL zJiCzw=P@u;%n1%FC@TH_CAi?@*C$%ux?1PXoDbd*YH-o` z!6TjXKAI;P3Uzi^7zY_&Huh?eNmkZNWev9%-@wN3shhuKN_zPkps_rjE{-7_Gm{e} Z?g4oZ7#Nx4F1rI+44$rjF6*2UngC^=H`D+C diff --git a/icons/mob/species/kepori/onmob_mask_kepori.dmi b/icons/mob/species/kepori/onmob_mask_kepori.dmi index 51391bd773c28c93d5a4ec23180ab4d87b88416a..b974573a39dfed65acc1bedbfeb68c90c8c7041f 100644 GIT binary patch literal 2392 zcmai0cTf{}77lvUmBm6)j^YRwLJO-rda3-8uJW-tU_?zklAm@B7}oxa+X1(o%|2 z002PR;+mQ59xm-=o`l%md!8}rxd)kedt`u_r@x0E1{;8R;0pi*W!pJm{c!wMJM8k> z4A4p&*#CiQSBcOa1Win7QLQz)0S~q6As}1OFvv1e$wRGTDw&dOf80(3L{cZ~8bPZd zM&K$4DlQ&$vby-_tEhNT`I&QIIm$(|GjPif7S{b1T2|`Chuw9TIVmgtDTl4D4Ll_} zo4w@JP-g5y-`YE1*Zf6dPXGo{9uU}rZ9@P+BG|&r#6BpS$6Ab+Lnw7Ep9@u=NkaBn zv!p5KyHBK0UW%Jb%8gcY&KB?Hx4i6vzE_cw*D~42Gpmd_zZEx7k(r^hskStqKrQ>s z4$2N$WafYZ7x+y6PmikuZ_j3f{NI9RKM=O%MfWE1XDl?WPDME*@zc%Q`JZfm$#t|*6DxKY?aP}}38XA^wM$DnucK>ggVIBlQDJJU7==Ei z1tThV0(Zxc2%nGFG$5UtlAB0eJJst7o}R~*oLP0)tb<)C~zo^U+eJ}`LyvY)@|l{Vobi-8Ekur-)H zvQFz^!G#+WrGNLF?B_bAT5xmL^#n8A8FXcCn zGZV_z#0snOJVw_dxJ!%v@(bc#{ z+~ARxiz-eVy`^Qn$+bA-6+8Dv+k4Qff_+`HyRS1tm24$%oK|nCk5$J#=Y>ATA#?P_ zs`k6H;yT~gHht5VF z4Wzb65E3sr70z27+MzY+PRbg@Z|Oe6a&FP;?0aL~x~M)t)*^=O3G~7Img)%9Vn|KQ zz+G+DoJXsRB#H*s^{*m6jlMf+mNGH4__Nbvdso4cw0RFYesU1!|kOOj9;dStB3~0jmMc9E>LbM!cfOECct4{$8K7+(Jhi z1sKF6+UY8a5|UAvOon>>YNNs9M7huEf;}EyN1dD3i&64yxkHyfYviDau46~|jyUZE z$hSI0JU%wpu3)7Rt$E3T)~iW=Q9jd)9*C*KWEe5@Y=qFtN1f3OD`g1rbWeL-k*p`{pH#Qs|aPU_Un&4!%cX^LzrpH0< zJ|45Gys{5*dDCR^-mYUoXc4rkS)DFBf0n-b&RaXBdv%jvCucqdhX#*P;nL1rTR6rKqdox?I zjl&I6wfcE_GoXKS#@xOKuk&PuVvz@RmL+EFu^U@htW?$)hQp<3I@a~Xnr7ZPXe?OZr7i+zL}Brdgk-= zdy;o|6&-)S4EbCTndU+lYZ7ZIm|Hat4j?4x9&rCIFKZ}J-gPnohzMuVZcit5nj%nX z@+7?qZ$R62=83iBL{Q4GJ0x0000DNk~Le0001B0000$2nGNE0Od4t4gdfEb&(}& zf8%>C@$R1n%($*lFRI_WM(|i&FmG= zI0pa#fPe-E#wvcBH-9z%rZhVJKKVQ*f1#(V+s(}`R@9~`cmg^)`jTL4;`Z^M=YaxW z>prCB&>fb`&u(|wx$%|B>a(-$OEheqfq7`6bt%OW$L24}t zVy99RybuYn^9fUv(@7%4f**Seik<-DuL!*)^-D#q0(fw^SNA;CuL7?`I@+%vi5>XN zvqK$?_M`n>D}nO~5h)3IIh_Ll000000001hz}^A(iPwpOz)w&B0000 Date: Tue, 21 Jan 2025 20:42:15 -0600 Subject: [PATCH 137/330] Automatic changelog generation for PR #4061 [ci skip] --- html/changelogs/AutoChangeLog-pr-4061.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4061.yml diff --git a/html/changelogs/AutoChangeLog-pr-4061.yml b/html/changelogs/AutoChangeLog-pr-4061.yml new file mode 100644 index 000000000000..471cca5a69d5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4061.yml @@ -0,0 +1,6 @@ +author: MemeSnorfer & Moffball +changes: + - {imageadd: Kepori will no longer be haunted by floating combat webbings and balaclavas. + Hurray!} + - {bugfix: Fixes a mistake concerning NGR balaclavas not fitting Sarathi snouts.} +delete-after: true From 5cbdb1bf6a45c56fffe63b825de0493b762b7e3d Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Wed, 22 Jan 2025 13:26:44 -0800 Subject: [PATCH 138/330] Libertatia 2 (#3968) ## About The Pull Request ![falmouth_ingame](https://github.com/user-attachments/assets/fe66c0fa-2f79-448f-b3c4-e12d683c9d37) > "A small, cheap cargo ship most remarkable for its very high speed and maneuverability for a ship of its type. Marketed as a do-it-all light ship suitable for short-range runs and courier work, the Falmouth is extremely popular among smugglers and the occasional ambitious pirate; Falmouths operating on legitimate business are downright rare in some areas, particularly on the Frontier." Replaces the Libertatia with the Falmouth-class Light Freighter, a ship with a similar design, but a slightly different focus. ![falmouth](https://github.com/user-attachments/assets/da6be93c-d726-4e7d-be29-402d9e881768) ![falmouth_areas](https://github.com/user-attachments/assets/88c3e7b3-ab15-40c7-95fc-8d92ce0db5e5) The Falmouth shifts the Libertatia's "combat" focus (which had been devastated by power creep anyway) to lean more into the flavor of being a smuggling ship rather than an outright pirate ship. While not a combat ship, the Falmouth _does_ nevertheless come with an eclectic collection of weapons: - One CM357 Heavy Pistol (stolen) - One Model 11 Buckmaster Shotgun - One Candor Pistol - One E-10 Laser Pistol - One E-11 Heap Of Garbage Crew complement consists of a captain, a first mate, a security detail, and two deckhands for a total of 5 crew. My hope is that the Falmouth can take the broad pattern and flavor of the old Libertatia and make it a much more liveable, balanced, and _playable_ ship. ## Why It's Good For The Game The Libertatia sucks. This, hopefully, doesn't. ## Changelog :cl: add: added Miskilamo Falmouth-class Light Freighter del: removed Libertatia-class Hauler /:cl: --- _maps/configs/independent_mudskipper.json | 2 +- _maps/configs/pirate_falmouth.json | 43 + _maps/configs/pirate_libertatia.json | 47 - _maps/shuttles/pirate/pirate_falmouth.dmm | 3385 +++++++++++++++++++ _maps/shuttles/pirate/pirate_libertatia.dmm | 2390 ------------- 5 files changed, 3429 insertions(+), 2438 deletions(-) create mode 100644 _maps/configs/pirate_falmouth.json delete mode 100644 _maps/configs/pirate_libertatia.json create mode 100644 _maps/shuttles/pirate/pirate_falmouth.dmm delete mode 100644 _maps/shuttles/pirate/pirate_libertatia.dmm diff --git a/_maps/configs/independent_mudskipper.json b/_maps/configs/independent_mudskipper.json index 15ca44b9096c..e47782f99c83 100644 --- a/_maps/configs/independent_mudskipper.json +++ b/_maps/configs/independent_mudskipper.json @@ -3,7 +3,7 @@ "map_name": "Mudskipper-class Salvage Clipper", "map_short_name": "Mudskipper-class", "faction": "/datum/faction/independent", - "prefix": "ISV", + "prefix": "SV", "manufacturer": "Miskilamo Spacefaring", "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": [ diff --git a/_maps/configs/pirate_falmouth.json b/_maps/configs/pirate_falmouth.json new file mode 100644 index 000000000000..20e9e7d51c35 --- /dev/null +++ b/_maps/configs/pirate_falmouth.json @@ -0,0 +1,43 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Falmouth-class Light Freighter", + "map_short_name": "Falmouth-class", + "faction": "/datum/faction/independent", + "prefix": "ISV", + "manufacturer": "Miskilamo Spacefaring", + "description": "A small, cheap cargo ship most remarkable for its very high speed and maneuverability for a ship of its type. Marketed as a do-it-all light ship suitable for short-range runs and courier work, the Falmouth is extremely popular among smugglers and the occasional ambitious pirate; Falmouths operating on legitimate business are downright rare in some areas, particularly on the Frontier.", + "tags": [ + "Specialist", + "Cargo", + "Combat" + ], + "namelists": [ + "GENERAL", + "SPACE", + "PIRATES" + ], + "map_path": "_maps/shuttles/pirate/pirate_falmouth.dmm", + "limit": 1, + "starting_funds": 1250, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/independent/captain/cheap", + "officer": true, + "slots": 1 + }, + "First Mate": { + "outfit": "/datum/outfit/job/independent/hop", + "officer": true, + "slots": 1 + }, + "Security Detail": { + "outfit": "/datum/outfit/job/independent/security/merc", + "slots": 1 + }, + "Deckhand": { + "outfit": "/datum/outfit/job/independent/assistant", + "slots": 2 + } + }, + "enabled": true +} diff --git a/_maps/configs/pirate_libertatia.json b/_maps/configs/pirate_libertatia.json deleted file mode 100644 index 5ba322f61f84..000000000000 --- a/_maps/configs/pirate_libertatia.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Libertatia-class Hauler", - "map_short_name": "Libertatia-class", - "map_path": "_maps/shuttles/pirate/pirate_libertatia.dmm", - "description": "A widely-available and dirt-cheap courier ship by Miskilamo Spacefaring, Libertatias are shoddy overhauls of old civilian atmospheric ships or the burned-out wrecks of other Libertatias, made nominally space worthy and capable of carrying a modest cargo at blistering speeds. While marketed as courier ships and short-range cargo shuttles, the Libertatia found its true target market in the hands of smugglers, blockade runners, and pirates, who find its speed, low sensor signature, and rock-bottom price point extremely attractive. In recent years, it’s become far more common to see Libertatias captained by pirates than anyone else, especially in the loosely-patrolled Frontier sectors. Surprisingly enough, the more organized Frontiersmen pirate group shows little love for the humble Libertatia, instead preferring larger and more threatening ships.", - "tags": [ - "Combat" - ], - "faction": "/datum/faction/frontier", - "prefix": "ISV", - "manufacturer": "Miskilamo Spacefaring", - "namelists": [ - "PIRATES", - "NATURAL_AGGRESSIVE" - ], - "space_spawn": true, - "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/independent/captain/pirate", - "officer": true, - "slots": 1 - }, - "First Mate": { - "outfit": "/datum/outfit/job/independent/hop/pirate", - "officer": true, - "slots": 1 - }, - "Buccaneer": { - "outfit": "/datum/outfit/job/independent/security/pirate", - "slots": 2 - }, - "Motorman": { - "outfit": "/datum/outfit/job/independent/engineer/pirate", - "slots": 1 - }, - "Ship's Doctor": { - "outfit": "/datum/outfit/job/independent/doctor/pirate", - "slots": 1 - }, - "Deckhand": { - "outfit": "/datum/outfit/job/independent/assistant/pirate", - "slots": 4 - } - }, - "enabled": false -} diff --git a/_maps/shuttles/pirate/pirate_falmouth.dmm b/_maps/shuttles/pirate/pirate_falmouth.dmm new file mode 100644 index 000000000000..9fc71eb4ccd4 --- /dev/null +++ b/_maps/shuttles/pirate/pirate_falmouth.dmm @@ -0,0 +1,3385 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aM" = ( +/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/plasteel, +/area/ship/cargo) +"aY" = ( +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"be" = ( +/turf/closed/wall/yesdiag, +/area/ship/crew) +"bs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"bu" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_access_txt = "19" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/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 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"bw" = ( +/obj/structure/cable{ + icon_state = "1-9" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"bL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "falmouth_cargo_blast"; + name = "Cargo Bay Blast Door" + }, +/obj/docking_port/mobile{ + dir = 4; + launch_status = 0; + port_direction = 2; + preferred_direction = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"bO" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/rack, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/obj/item/mop{ + pixel_y = 4 + }, +/obj/item/reagent_containers/glass/bucket{ + pixel_x = 7 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"cj" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"cH" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"cQ" = ( +/obj/structure/dresser{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "8-9" + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"dh" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"dl" = ( +/turf/closed/wall/rust, +/area/ship/crew) +"dn" = ( +/obj/structure/closet/secure_closet/head_of_personnel{ + anchored = 1; + can_be_unanchored = 1; + name = "\proper first mate's locker"; + populate = 0 + }, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/sneakers/brown, +/obj/item/clothing/under/rank/command/head_of_personnel, +/obj/item/clothing/under/rank/command/head_of_personnel/skirt, +/obj/item/clothing/suit/jacket/leather/duster/command, +/obj/item/clothing/glasses/cheapsuns, +/obj/item/clothing/head/soft/utility_beige, +/obj/item/clothing/head/beanie, +/obj/item/storage/guncase/energy/e10, +/obj/structure/sign/poster/contraband/eoehoma{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"do" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"dB" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull, +/area/ship/engineering/engines/starboard) +"et" = ( +/turf/closed/wall/rust/yesdiag, +/area/ship/cargo) +"ew" = ( +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ship/cargo) +"eC" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/docking_port/stationary{ + dir = 8; + dwidth = 15; + height = 15; + width = 30 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"eJ" = ( +/obj/machinery/door/airlock/command{ + dir = 1; + name = "Captain's Quarters"; + req_access_txt = "19" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/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/captain) +"eX" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"fu" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "1-9" + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/cable{ + icon_state = "0-5" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"fH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-6" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"fZ" = ( +/obj/structure/chair/sofa/brown/old/right, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"gq" = ( +/turf/closed/wall/yesdiag, +/area/ship/crew/dorm/captain) +"gS" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/item/pickaxe, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"hb" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/storage/backpack/duffelbag, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"hc" = ( +/obj/structure/cable{ + icon_state = "6-10" + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"hm" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 24 + }, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/plasteel, +/area/ship/crew) +"hr" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 8; + id = "falmouth_thruster_starboard" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"hB" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/suit_storage_unit/independent/security{ + name = "security suit storage unit"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"ia" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Starboard Thrusters" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engines/starboard) +"ic" = ( +/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/machinery/light_switch{ + dir = 1; + pixel_y = -19 + }, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"ie" = ( +/obj/structure/cable{ + icon_state = "5-9" + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"iv" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall, +/area/ship/crew) +"iK" = ( +/obj/structure/sign/number/random, +/turf/closed/wall, +/area/ship/external/dark) +"iM" = ( +/obj/structure/cable{ + icon_state = "6-10" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/autolathe/hacked, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"iN" = ( +/obj/effect/turf_decal/miskilamo_small/right{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/ship/cargo) +"iY" = ( +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/structure/chair/bench/olive/directional/west, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel, +/area/ship/crew) +"kE" = ( +/turf/closed/wall/rust, +/area/ship/crew/dorm) +"ld" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/structure/cable{ + icon_state = "1-9" + }, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/plasteel, +/area/ship/crew) +"lh" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/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 = 4 + }, +/turf/open/floor/plating, +/area/ship/crew) +"ma" = ( +/obj/structure/chair/stool{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/fore) +"md" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm) +"mg" = ( +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"mI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"mQ" = ( +/obj/structure/closet/crate/bin, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/spawner/random/trash/food_packaging, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"na" = ( +/obj/structure/falsewall, +/obj/structure/sign/poster/contraband/hacking_guide, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"nc" = ( +/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/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ship/crew) +"nd" = ( +/obj/machinery/power/shuttle/engine/fire{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ship/engineering/engines/port) +"nJ" = ( +/obj/structure/fermenting_barrel, +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"oa" = ( +/obj/machinery/door/airlock{ + name = "Restroom" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"oo" = ( +/obj/structure/closet/crate/trashcart, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/spawner/random/trash/food_packaging, +/obj/effect/spawner/random/trash/food_packaging, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"op" = ( +/obj/machinery/power/port_gen/pacman/super, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/radiation/white, +/obj/structure/cable/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"oy" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "2-10" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"pn" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "falmouth_windows"; + name = "Blast Shutters" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"pJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew) +"pM" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos{ + dir = 4; + piping_layer = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"qj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"qu" = ( +/turf/closed/wall, +/area/ship/engineering/engines/port) +"qN" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs{ + dir = 4; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/cargo) +"qS" = ( +/obj/structure/bed, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/bedsheet/black, +/turf/open/floor/carpet, +/area/ship/crew/dorm/captain) +"qT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/crew) +"rE" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"sd" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"se" = ( +/obj/structure/cable{ + icon_state = "5-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/plated_catwalk, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"sj" = ( +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"sp" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/closet/crate, +/obj/item/storage/ration/vegan_chili, +/obj/item/storage/ration/vegan_chili, +/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/item/reagent_containers/food/drinks/waterbottle/large, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"sB" = ( +/turf/closed/wall/yesdiag, +/area/ship/engineering/engines/starboard) +"sO" = ( +/turf/closed/wall/rust, +/area/ship/bridge) +"tf" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"tn" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/clothing/head/cone{ + pixel_x = 10; + pixel_y = 11 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"tA" = ( +/obj/structure/railing{ + dir = 8 + }, +/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, +/turf/open/floor/plasteel, +/area/ship/cargo) +"ud" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"ul" = ( +/obj/structure/toilet{ + dir = 4; + pixel_x = -4 + }, +/obj/machinery/shower{ + pixel_y = 15 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = 14 + }, +/obj/structure/mirror{ + pixel_x = 24; + pixel_y = 0 + }, +/obj/machinery/light/small/directional/west, +/obj/item/soap{ + pixel_x = 1; + pixel_y = 11 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/fore) +"up" = ( +/turf/closed/wall/rust, +/area/ship/engineering/engines/starboard) +"us" = ( +/turf/closed/wall, +/area/ship/bridge) +"uw" = ( +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/structure/chair/bench/beige/directional/east{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"uy" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/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 = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ship/cargo) +"uz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"uZ" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/crew) +"vl" = ( +/obj/structure/cable{ + icon_state = "1-9" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"vv" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"vB" = ( +/turf/open/floor/plasteel, +/area/ship/crew) +"vC" = ( +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ + dir = 5 + }, +/obj/machinery/portable_atmospherics/canister/fuel, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"vF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb, +/obj/item/storage/fancy/cigarettes/cigpack_mindbreaker{ + pixel_x = -5; + pixel_y = -6 + }, +/obj/item/reagent_containers/food/drinks/bottle/absinthe/premium{ + pixel_x = 4 + }, +/obj/effect/spawner/random/trash/cigbutt, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"wi" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/power/ship_gravity, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"wo" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 5 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"wA" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"xh" = ( +/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/falsewall, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"xt" = ( +/turf/closed/wall/rust/yesdiag, +/area/ship/engineering/engines/port) +"xS" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"xX" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "falmouth_windows"; + name = "Blast Shutters" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"yl" = ( +/turf/closed/wall, +/area/ship/crew) +"yC" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/closet/crate/critter{ + name = "DANGER: DO NOT OPEN" + }, +/mob/living/simple_animal/bot/secbot{ + desc = "A little security robot. He looks downright furious!"; + emagged = 2; + name = "\improper Officer Berzerksky" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"yD" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/crew) +"yM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel, +/area/ship/crew) +"yV" = ( +/turf/closed/wall/rust/yesdiag, +/area/ship/engineering/engines/starboard) +"yZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/bridge) +"zb" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/fore) +"zg" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"zm" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/pump{ + name = "intake pump"; + piping_layer = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"zP" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer1{ + dir = 4 + }, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "falmouth_windows"; + name = "Blast Shutters" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"zX" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "falmouth_windows"; + name = "Blast Shutters" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Al" = ( +/obj/structure/guncloset{ + anchored = 1; + can_be_unanchored = 1; + req_access = list(19) + }, +/obj/item/gun/energy/e_gun/e11, +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Ao" = ( +/obj/effect/turf_decal/borderfloor, +/obj/item/storage/box/gloves{ + pixel_x = -10; + pixel_y = 12 + }, +/obj/item/storage/firstaid/radiation{ + pixel_x = 7; + pixel_y = 12 + }, +/obj/item/storage/firstaid/medical{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"At" = ( +/obj/structure/bed/roller, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"AB" = ( +/obj/structure/closet/wall/blue/directional/west{ + locked = 1; + name = "captain's locker"; + req_access_txt = "20"; + secure = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/item/storage/backpack/captain, +/obj/item/clothing/shoes/sneakers/brown, +/obj/item/clothing/under/rank/command/captain, +/obj/item/clothing/under/rank/command/captain/skirt, +/obj/item/clothing/gloves/color/white, +/obj/item/clothing/head/caphat, +/obj/item/clothing/suit/armor/vest/capcarapace/duster, +/obj/item/clothing/head/caphat/cowboy, +/obj/item/clothing/head/soft/utility_beige, +/obj/item/clothing/glasses/cheapsuns, +/obj/item/storage/guncase/pistol/cm357, +/obj/item/paper/crumpled/fluff{ + default_raw_text = "4-5-1"; + pixel_x = -2; + pixel_y = 7 + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm/captain) +"AG" = ( +/obj/machinery/door/airlock{ + name = "Dormitory" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "2-5" + }, +/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) +"AN" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/window/eastleft, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/computer/cryopod/retro/directional/north, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"AR" = ( +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + id = "falmouth_cargo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "falmouth_cargo_blast"; + name = "Cargo Bay Blast Door" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"AW" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 8; + id = "falmouth_thruster_port" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"Bi" = ( +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Bm" = ( +/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/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"BA" = ( +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"BL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/layer2, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned, +/area/ship/crew) +"BP" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"BT" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + dir = 1; + id = "falmouth_cargo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "falmouth_cargo_blast"; + name = "Cargo Bay Blast Door" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"BV" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/falsewall, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/crew/dorm/captain) +"BW" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "falmouth_windows"; + name = "Blast Shutters" + }, +/turf/open/floor/plating, +/area/ship/crew) +"BZ" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/decal/cleanable/oil/slippery, +/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ + dir = 8; + piping_layer = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Cb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"Cf" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/cable{ + icon_state = "5-9" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Ch" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Cl" = ( +/obj/structure/cable{ + icon_state = "5-9" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Dd" = ( +/obj/structure/closet/secure_closet/armorycage{ + anchored = 1; + can_be_unanchored = 1; + req_access = list(1) + }, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/box/ammo/a12g_buckshot, +/obj/item/storage/box/ammo/a12g_buckshot, +/obj/item/storage/box/ammo/c45, +/obj/item/storage/box/ammo/c45, +/obj/item/storage/box/ammo/a357, +/obj/item/stock_parts/cell/gun, +/obj/item/stock_parts/cell/gun, +/obj/item/ammo_box/magazine/m45/empty, +/obj/item/ammo_box/magazine/m45/empty, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Dn" = ( +/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/atmospherics/pipe/simple/dark/hidden/layer1{ + dir = 9 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"Dt" = ( +/obj/effect/turf_decal/miskilamo_small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/ship/cargo) +"Du" = ( +/obj/machinery/atmospherics/components/binary/pump/layer2, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer1, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Dz" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"DJ" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"Ej" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Et" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/ship/cargo) +"Ex" = ( +/obj/structure/cable{ + icon_state = "1-9" + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -4 + }, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/plasteel, +/area/ship/crew) +"EC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Fb" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, +/area/ship/crew) +"Fd" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/chair/handrail, +/obj/effect/decal/cleanable/oil/streak, +/obj/machinery/button/shieldwallgen{ + id = "falmouth_cargo"; + pixel_x = -6; + pixel_y = 21 + }, +/obj/machinery/button/door{ + id = "falmouth_cargo_blast"; + name = "Blast Door Control"; + pixel_x = 4; + pixel_y = 23 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Fn" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/effect/turf_decal/number/left_four{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/ship/cargo) +"Fp" = ( +/turf/closed/wall/rust, +/area/ship/cargo) +"FA" = ( +/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/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"FF" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"FH" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 8; + id = "falmouth_thruster_starboard" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"FJ" = ( +/turf/closed/wall/yesdiag, +/area/ship/cargo) +"FM" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"FN" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 8; + id = "falmouth_thruster_port" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"FS" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"FX" = ( +/obj/structure/bed/double/maint, +/obj/effect/spawner/random/trash/food_packaging, +/mob/living/simple_animal/hostile/cockroach, +/mob/living/simple_animal/hostile/cockroach, +/mob/living/simple_animal/hostile/cockroach, +/mob/living/simple_animal/hostile/cockroach, +/mob/living/simple_animal/hostile/cockroach, +/mob/living/simple_animal/hostile/cockroach, +/obj/structure/sign/poster/contraband/mothpill{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Ge" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"Gn" = ( +/obj/structure/closet/secure_closet/security{ + anchored = 1; + can_be_unanchored = 1; + name = "security detail's locker"; + populate = 0 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/corner/opaque/neutral/half, +/obj/item/storage/backpack/security, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/under/syndicate/camo, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/head/cowboy/sec, +/obj/item/clothing/head/soft/utility_olive, +/obj/item/clothing/head/beanie/black, +/obj/item/clothing/glasses/sunglasses, +/obj/item/storage/belt/security/military/frontiersmen, +/obj/item/clothing/suit/armor/vest/security, +/obj/item/clothing/head/helmet/sec, +/obj/item/melee/knife/survival, +/obj/item/clothing/mask/gas, +/obj/item/storage/guncase/buckmaster, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Go" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"Gx" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"GS" = ( +/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/catwalk/over/plated_catwalk, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"Hv" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"HA" = ( +/obj/structure/table, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -5; + pixel_y = -19 + }, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine{ + pixel_x = 10; + pixel_y = 16 + }, +/obj/item/folder{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/pen{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/modglass{ + icon_state = "mglass-6-"; + pixel_x = 6; + pixel_y = -1 + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm/captain) +"HN" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"HU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"HX" = ( +/obj/structure/cable{ + icon_state = "6-10" + }, +/obj/effect/turf_decal/miskilamo_small/left{ + dir = 8 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/ship/cargo) +"Ih" = ( +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Ix" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/ship/cargo) +"IE" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/glass{ + dir = 8; + name = "Crew Quarters" + }, +/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/dark, +/area/ship/crew) +"IT" = ( +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/machinery/light/dim/directional/west, +/obj/effect/spawner/random/trash/crushed_can, +/obj/structure/sink/kitchen{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"IU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/closet/crate, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/metal/twenty, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Jg" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer5, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Starboard Thrusters" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engines/starboard) +"JF" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/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/dark/visible/layer1, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Port Thrusters" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engines/port) +"JQ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + dir = 4; + piping_layer = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Kd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/fore) +"Kg" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"Kr" = ( +/obj/structure/closet/crate/radiation{ + name = "fuel crate" + }, +/obj/item/stack/sheet/mineral/uranium/ten, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/radiation/white, +/obj/machinery/light_switch{ + pixel_x = 6; + pixel_y = 20 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"KK" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"KQ" = ( +/turf/closed/wall/rust/yesdiag, +/area/ship/crew/dorm/captain) +"Li" = ( +/obj/machinery/portable_atmospherics/canister/air{ + anchored = 1; + can_be_unanchored = 1 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/layer2, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Ly" = ( +/turf/closed/wall, +/area/ship/cargo) +"LE" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/door/airlock/mining{ + dir = 8; + name = "Cargo Bay" + }, +/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/dark, +/area/ship/cargo) +"LZ" = ( +/obj/structure/railing/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, +/turf/open/floor/plasteel, +/area/ship/cargo) +"My" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"MB" = ( +/obj/structure/closet/secure_closet/freezer/fridge/open{ + populate = 0 + }, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/item/storage/cans/sixbeer, +/obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, +/obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, +/obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, +/obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/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/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/snacks/icecreamsandwich, +/turf/open/floor/plasteel, +/area/ship/crew) +"MS" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-6" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"Nb" = ( +/obj/structure/cable{ + icon_state = "2-6" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/effect/spawner/random/trash/cigbutt, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Nd" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Ne" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/clothing/gloves/color/fyellow, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"NJ" = ( +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel, +/area/ship/crew) +"NT" = ( +/obj/structure/table, +/obj/item/radio/intercom/directional/north, +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 5; + pixel_y = 10 + }, +/obj/item/storage/fancy/cigarettes/cigpack_cannabis{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/head/welding, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Oe" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 4; + piping_layer = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer1{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"Oj" = ( +/obj/machinery/computer/cargo/retro{ + dir = 8 + }, +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 + }, +/obj/item/radio/intercom/wideband/directional/north{ + pixel_x = -10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + id = "falmouth_windows"; + name = "Shutter Control"; + pixel_x = 6; + pixel_y = 23 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Op" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/closet/wall/directional/south, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility/skirt, +/obj/item/clothing/under/pants/blackjeans, +/obj/item/clothing/under/pants/jeans, +/obj/item/clothing/under/pants/khaki, +/obj/item/clothing/under/pants/camo, +/obj/item/clothing/suit/jacket/leather/duster, +/obj/item/clothing/suit/jacket/leather, +/obj/item/clothing/suit/jacket, +/obj/item/clothing/suit/jacket/miljacket, +/obj/item/clothing/suit/hooded/hoodie/blackwa, +/obj/item/storage/backpack, +/obj/item/storage/backpack, +/obj/item/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"OJ" = ( +/obj/structure/cable{ + icon_state = "6-10" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/cable{ + icon_state = "1-10" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/fore) +"OP" = ( +/obj/structure/table, +/obj/item/toy/cards/deck{ + pixel_y = 3 + }, +/obj/item/storage/fancy/cigarettes/dromedaryco{ + pixel_x = 9; + pixel_y = 10 + }, +/obj/item/lighter/greyscale{ + pixel_x = -9 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"Pb" = ( +/obj/structure/cable{ + icon_state = "8-10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/fore) +"Pl" = ( +/turf/closed/wall/rust, +/area/ship/external/dark) +"PF" = ( +/obj/structure/cable{ + icon_state = "8-10" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/closet/wall/directional/south, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/red, +/obj/item/clothing/shoes/sneakers/blue, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/shoes/workboots/mining, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/head/beanie/black, +/obj/item/clothing/head/beanie/black, +/obj/item/clothing/head/beanie/black, +/obj/item/clothing/head/soft/utility_black, +/obj/item/clothing/head/soft/utility_black, +/obj/item/clothing/head/soft/utility_black, +/obj/item/clothing/head/soft/utility_olive, +/obj/item/clothing/head/soft/utility_olive, +/obj/item/clothing/head/soft/utility_olive, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"PW" = ( +/turf/closed/wall/rust/yesdiag, +/area/ship/crew/dorm) +"PX" = ( +/obj/effect/turf_decal/number/left_four{ + dir = 8 + }, +/obj/effect/turf_decal/number/right_nine{ + dir = 8 + }, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, +/area/ship/cargo) +"Qb" = ( +/turf/closed/wall/yesdiag, +/area/ship/engineering/engines/port) +"Qd" = ( +/obj/machinery/portable_atmospherics/canister/fuel, +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Qk" = ( +/turf/closed/wall, +/area/ship/crew/dorm/captain) +"Qx" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Qy" = ( +/turf/closed/wall/rust, +/area/ship/hallway/fore) +"QH" = ( +/turf/closed/wall, +/area/ship/external/dark) +"Rf" = ( +/obj/structure/chair/sofa/brown/old/left, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"Rg" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/airalarm/directional/north, +/obj/machinery/firealarm/directional/west{ + pixel_y = 5 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Rv" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "2-9" + }, +/turf/open/floor/plating, +/area/ship/crew) +"Rx" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + id = "falmouth_thruster_starboard"; + name = "Blast Door Control"; + pixel_x = 4; + pixel_y = 23 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Ry" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/item/radio/intercom/directional/south, +/obj/item/kitchen/fork/plastic, +/obj/item/kitchen/spoon/plastic, +/obj/item/melee/knife/plastic{ + pixel_x = 9 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"RI" = ( +/obj/machinery/computer/helm/retro{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"RP" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/item/kitchen/fork/plastic, +/obj/item/kitchen/spoon/plastic, +/obj/item/melee/knife/plastic{ + pixel_x = 9 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"RS" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/glass{ + dir = 8; + name = "Crew Quarters" + }, +/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/dark, +/area/ship/hallway/fore) +"RU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/noticeboard{ + pixel_y = 26 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel, +/area/ship/hallway/fore) +"Sf" = ( +/obj/structure/safe/floor{ + number_of_tumblers = 3; + tumblers = list(4,5,1) + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/item/blackmarket_uplink, +/obj/item/computer_hardware/card_slot, +/turf/open/floor/carpet, +/area/ship/crew/dorm/captain) +"So" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"SA" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"SB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/holopad/emergency/command, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"SG" = ( +/turf/closed/wall/rust, +/area/ship/engineering/engines/port) +"SV" = ( +/obj/structure/chair/handrail, +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Tf" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull, +/area/ship/engineering/engines/port) +"Tn" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 4; + piping_layer = 5 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Ui" = ( +/obj/machinery/computer/crew/retro{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/neutral/half{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"UC" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer2{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"UE" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "falmouth_cargo_blast"; + name = "Cargo Bay Blast Door" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"US" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "falmouth_windows"; + name = "Blast Shutters" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm/captain) +"UU" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/item/clothing/head/cone{ + pixel_x = -8; + pixel_y = 11 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"UX" = ( +/turf/closed/wall, +/area/ship/crew/dorm) +"Va" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Vm" = ( +/obj/docking_port/stationary{ + dwidth = 4; + height = 15; + width = 9 + }, +/turf/template_noop, +/area/template_noop) +"VQ" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/advanced_airlock_controller{ + pixel_x = -25 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/crew) +"VS" = ( +/obj/machinery/power/shuttle/engine/fire{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ship/engineering/engines/starboard) +"VV" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer5{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Wc" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8 + }, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + dir = 1; + id = "falmouth_thruster_port"; + name = "Blast Door Control"; + pixel_x = 4; + pixel_y = -20 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"Wl" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/fore) +"WS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/radio/intercom/directional/north, +/obj/machinery/recharger, +/obj/structure/table, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/fore) +"Xz" = ( +/turf/closed/wall, +/area/ship/engineering/engines/starboard) +"XE" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer5{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "falmouth_windows"; + name = "Blast Shutters" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"XL" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 6; + pixel_y = -19 + }, +/obj/machinery/light/small/directional/south, +/mob/living/simple_animal/hostile/cockroach, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Yi" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"YF" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/rust, +/area/ship/crew) +"YV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/fore) +"Zj" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Port Thrusters" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/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, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engines/port) +"Zk" = ( +/turf/closed/wall/rust/yesdiag, +/area/ship/bridge) +"Zs" = ( +/turf/closed/wall/yesdiag, +/area/ship/bridge) +"Zu" = ( +/obj/structure/railing, +/obj/structure/sign/warning/incident{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/stairs{ + dir = 4; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/cargo) +"Zy" = ( +/turf/closed/wall, +/area/ship/hallway/fore) +"ZK" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/fore) +"ZR" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"ZT" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/machinery/suit_storage_unit/independent/security{ + name = "security suit storage unit"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"ZY" = ( +/turf/template_noop, +/area/template_noop) + +(1,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +ZY +FF +FS +eC +FS +FS +HN +ZY +ZY +ZY +ZY +ZY +ZY +ZY +"} +(2,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +FJ +Ly +AR +UE +bL +BT +Fp +et +ZY +ZY +ZY +ZY +ZY +ZY +"} +(3,1,1) = {" +ZY +qu +Tf +nd +SG +ZY +Ly +HX +Dt +iN +PX +Fn +Et +Fp +ZY +Xz +VS +dB +Xz +ZY +"} +(4,1,1) = {" +ZY +SG +AW +FN +SG +ZY +Ly +Fd +do +Dz +cj +So +bw +Ly +ZY +Xz +hr +FH +Xz +ZY +"} +(5,1,1) = {" +ZY +qu +KK +Wc +qu +ZY +Ly +Bi +fH +Qx +vv +sp +sj +Ly +ZY +up +Rx +ZR +Xz +ZY +"} +(6,1,1) = {" +xt +qu +Oe +vC +SG +ZY +Fp +aY +IU +Cf +yC +sd +Ih +Ly +ZY +up +Qd +EC +Xz +sB +"} +(7,1,1) = {" +SG +ud +JQ +BZ +qu +pM +Ly +tn +Nd +bs +dh +Va +ie +Ly +Tn +Xz +Ne +tf +op +up +"} +(8,1,1) = {" +qu +NT +Nb +XL +qu +zP +SG +Zu +Ej +Cl +gS +iM +qN +Xz +XE +Xz +Kr +Kg +fu +Xz +"} +(9,1,1) = {" +qu +Li +UC +Du +JF +Dn +Zj +LZ +UU +DJ +uy +tA +Ix +ia +VV +Jg +zm +oy +wi +Xz +"} +(10,1,1) = {" +Qb +qu +qu +na +qu +SG +qu +SV +Hv +qj +Bm +vl +mg +Xz +Xz +Xz +eX +Xz +Xz +sB +"} +(11,1,1) = {" +ZY +SG +vF +cH +qu +ZY +Ly +wA +Yi +ew +aM +ZT +hB +Fp +ZY +up +FX +nJ +Xz +ZY +"} +(12,1,1) = {" +ZY +xt +qu +qu +SG +ZY +FJ +Ly +Ly +Fp +LE +Ly +Ly +et +ZY +up +up +Xz +yV +ZY +"} +(13,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +ZY +yl +Ao +hc +yD +bO +yl +ZY +ZY +ZY +ZY +ZY +ZY +ZY +"} +(14,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +ZY +dl +At +My +Rv +oo +yl +ZY +ZY +ZY +ZY +ZY +ZY +ZY +"} +(15,1,1) = {" +ZY +ZY +ZY +ZY +ZY +iv +yl +dl +yl +yl +IE +yl +yl +be +ZY +ZY +ZY +ZY +ZY +ZY +"} +(16,1,1) = {" +ZY +ZY +ZY +ZY +Vm +Gx +BL +VQ +xS +yM +qT +IT +MB +dl +ZY +ZY +ZY +ZY +ZY +ZY +"} +(17,1,1) = {" +ZY +ZY +ZY +ZY +ZY +YF +yl +yl +yl +hm +uZ +BA +NJ +yl +ZY +ZY +ZY +ZY +ZY +ZY +"} +(18,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +BW +fZ +OP +vB +lh +ld +Fb +BW +ZY +ZY +ZY +ZY +ZY +ZY +"} +(19,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +yl +Rf +MS +HU +nc +RP +Ry +dl +ZY +ZY +ZY +ZY +ZY +ZY +"} +(20,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +BW +mQ +hb +Ex +pJ +iY +uw +BW +ZY +ZY +ZY +ZY +ZY +ZY +"} +(21,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +Qy +Zy +Zy +Zy +RS +UX +UX +UX +ZY +ZY +ZY +ZY +ZY +ZY +"} +(22,1,1) = {" +ZY +ZY +QH +ZY +ZY +gq +Qy +ul +oa +zb +ic +kE +md +UX +PW +ZY +ZY +Pl +ZY +ZY +"} +(23,1,1) = {" +ZY +ZY +iK +BP +Qk +Qk +Zy +Zy +Zy +RU +GS +UX +AN +UX +UX +UX +zg +Pl +ZY +ZY +"} +(24,1,1) = {" +ZY +ZY +iK +SA +BV +Sf +AB +eJ +Kd +ZK +se +AG +uz +wo +Cb +xh +Ch +QH +ZY +ZY +"} +(25,1,1) = {" +ZY +ZY +iK +Pl +Qk +qS +HA +Qk +WS +Pb +PF +UX +Ge +cQ +FM +kE +QH +QH +ZY +ZY +"} +(26,1,1) = {" +ZY +ZY +iK +ZY +KQ +US +Qk +Qk +Wl +YV +Op +UX +UX +UX +xX +PW +ZY +QH +ZY +ZY +"} +(27,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +ZY +Zy +Gn +OJ +Go +Dd +Qy +ZY +ZY +ZY +ZY +ZY +ZY +ZY +"} +(28,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +ZY +Qy +dn +ma +FA +Al +Zy +ZY +ZY +ZY +ZY +ZY +ZY +ZY +"} +(29,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +ZY +Zk +us +us +bu +us +Zs +ZY +ZY +ZY +ZY +ZY +ZY +ZY +"} +(30,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +us +Rg +SB +us +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +"} +(31,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +sO +Oj +yZ +us +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +"} +(32,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +pn +rE +mI +pn +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +"} +(33,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +pn +RI +Ui +pn +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +"} +(34,1,1) = {" +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +zX +zX +zX +zX +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +"} diff --git a/_maps/shuttles/pirate/pirate_libertatia.dmm b/_maps/shuttles/pirate/pirate_libertatia.dmm deleted file mode 100644 index fed756c4862d..000000000000 --- a/_maps/shuttles/pirate/pirate_libertatia.dmm +++ /dev/null @@ -1,2390 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ad" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "pirateshutters"; - name = "Blast Shutters" - }, -/obj/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/bridge) -"au" = ( -/obj/structure/frame/computer, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/box, -/turf/open/floor/pod/light, -/area/ship/bridge) -"az" = ( -/obj/machinery/computer/helm, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/box, -/turf/open/floor/pod/light, -/area/ship/bridge) -"aW" = ( -/obj/machinery/holopad/emergency/command, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/button/door{ - dir = 4; - id = "pirateshutters"; - name = "Window Lockdown"; - pixel_x = -25; - pixel_y = -5 - }, -/obj/machinery/button/door{ - dir = 4; - id = "piratecargo"; - name = "Blast Door Control"; - pixel_x = -25; - pixel_y = 5 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/pod/light, -/area/ship/bridge) -"bb" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/structure/railing, -/obj/effect/landmark/start/captain, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/wideband/directional/east, -/turf/open/floor/pod/light, -/area/ship/bridge) -"br" = ( -/obj/structure/closet/crate/critter{ - name = "DANGER: DO NOT OPEN" - }, -/mob/living/simple_animal/bot/secbot{ - desc = "A little security robot. He looks downright furious!"; - emagged = 2; - name = "\improper Officer Berzerksky" - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"bz" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs, -/area/ship/bridge) -"bG" = ( -/obj/structure/table/reinforced, -/obj/item/areaeditor/shuttle{ - pixel_y = 10 - }, -/obj/item/megaphone/command{ - pixel_x = 10; - pixel_y = 10 - }, -/obj/item/storage/fancy/cigarettes/cigars{ - pixel_y = 10 - }, -/obj/machinery/button/massdriver{ - id = "pirate_porttube"; - name = "port launch tube button"; - pixel_x = -5; - pixel_y = -5 - }, -/obj/machinery/button/massdriver{ - id = "pirate_stbdtube"; - name = "starboard launch tube button"; - pixel_x = 5; - pixel_y = -5 - }, -/obj/item/storage/belt/sabre, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/gun/ballistic/revolver/detective{ - name = "captain's revolver" - }, -/turf/open/floor/pod/light, -/area/ship/bridge) -"cF" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/external) -"dD" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"eV" = ( -/obj/structure/cable, -/obj/machinery/power/shuttle/engine/electric{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"fd" = ( -/obj/structure/fans/tiny, -/obj/docking_port/mobile{ - launch_status = 0; - port_direction = 2 - }, -/obj/machinery/door/poddoor/shutters{ - id = "piratecargo"; - name = "Cargo Bay" - }, -/turf/open/floor/engine/hull/interior, -/area/ship/cargo) -"fi" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/airalarm/directional/west, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/pod/light, -/area/ship/bridge) -"fp" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/effect/landmark/start/head_of_personnel, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/status_display/shuttle{ - pixel_y = -32 - }, -/obj/item/gun/energy/e_gun/mini{ - name = "first mate's derringer" - }, -/obj/machinery/light_switch{ - pixel_y = 12; - pixel_x = 20; - dir = 8 - }, -/turf/open/floor/pod/light, -/area/ship/bridge) -"fq" = ( -/turf/open/floor/engine/hull, -/area/ship/external) -"fG" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) -"fR" = ( -/obj/machinery/door/poddoor{ - id = "pirate_porttube"; - name = "Port Launch Tube" - }, -/obj/structure/fans/tiny, -/turf/open/floor/engine/hull/interior, -/area/ship/security) -"hb" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security) -"iA" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"jz" = ( -/obj/machinery/door/airlock/grunge{ - name = "Bridge" - }, -/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" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/pod/dark, -/area/ship/bridge) -"kF" = ( -/obj/machinery/door/poddoor{ - id = "pirate_stbdtube"; - name = "Starboard Launch Tube" - }, -/obj/structure/fans/tiny, -/turf/open/floor/engine/hull/interior, -/area/ship/security) -"kK" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "pirateshutters"; - name = "Blast Shutters" - }, -/obj/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/security) -"mg" = ( -/obj/machinery/mass_driver{ - dir = 1; - id = "pirate_porttube" - }, -/obj/effect/turf_decal/box, -/obj/structure/sign/warning/deathsposal{ - name = "\improper LAUNCH TUBE: LEADS TO SPACE sign"; - pixel_y = -32; - sign_change_name = "Warning - Launch Tube: Leads to Space" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"ml" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 4 - }, -/obj/machinery/door/window/westleft, -/obj/machinery/button/massdriver{ - id = "pirate_porttube"; - name = "port launch tube button"; - pixel_x = 15; - pixel_y = 26 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"mJ" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-6" - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/pod/light, -/area/ship/security) -"mU" = ( -/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/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/pod/light, -/area/ship/security) -"nt" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/window/northleft{ - name = "Engine Access" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/hallway/port) -"nv" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cabinet/fireaxe{ - pixel_y = 32 - }, -/turf/open/floor/pod/light, -/area/ship/security) -"nB" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/landmark/start/security_officer, -/obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -12 - }, -/turf/open/floor/pod/light, -/area/ship/security) -"nC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 - }, -/obj/machinery/door/window/eastright, -/obj/machinery/button/massdriver{ - id = "pirate_stbdtube"; - name = "starboard launch tube button"; - pixel_x = -15; - pixel_y = 26 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light/small/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"nQ" = ( -/obj/machinery/mass_driver{ - dir = 1; - id = "pirate_stbdtube" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/box, -/obj/structure/sign/warning/deathsposal{ - name = "\improper LAUNCH TUBE: LEADS TO SPACE sign"; - pixel_y = -32; - sign_change_name = "Warning - Launch Tube: Leads to Space" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"nW" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "pirateshutters"; - name = "Blast Shutters" - }, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/security) -"oo" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/pod/light, -/area/ship/cargo) -"oQ" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 8 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"pm" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/swat, -/obj/item/tank/jetpack/carbondioxide, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"pA" = ( -/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" - }, -/obj/structure/cable{ - icon_state = "2-9" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs, -/area/ship/security) -"pH" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"pS" = ( -/obj/item/storage/box{ - icon_state = "lethalshot_box"; - name = "dusty shotshell box" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/structure/closet/wall/red/directional/east{ - name = "armory locker"; - req_one_access_txt = "1" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"pW" = ( -/obj/structure/cable{ - icon_state = "4-6" - }, -/obj/item/clothing/suit/space/orange, -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/oxygen, -/obj/item/clothing/head/helmet/space, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/closet/wall/red/directional/west{ - name = "suit locker"; - req_one_access_txt = "1" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"qh" = ( -/obj/docking_port/stationary{ - dwidth = 4; - width = 8; - height = 15; - dir = 8 - }, -/turf/template_noop, -/area/template_noop) -"qP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/number/two{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/security) -"rc" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"rd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "8-10" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"rF" = ( -/obj/item/gun/ballistic/shotgun/doublebarrel, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/closet/wall/red/directional/east{ - name = "armory locker"; - req_one_access_txt = "1" - }, -/obj/item/gun/ballistic/shotgun/doublebarrel{ - pixel_y = -5 - }, -/obj/item/gun/ballistic/shotgun/doublebarrel{ - pixel_y = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"rL" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"sc" = ( -/obj/machinery/airalarm/directional/south, -/obj/item/clothing/suit/space/orange, -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/oxygen, -/obj/item/clothing/head/helmet/space, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/structure/closet/wall/red/directional/west{ - name = "suit locker"; - req_one_access_txt = "1" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"sv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "5-9" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/number/zero{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/security) -"sx" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/autolathe, -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"sI" = ( -/obj/machinery/firealarm/directional/south, -/obj/item/melee/knife/hunting{ - pixel_y = 5 - }, -/obj/item/melee/knife/hunting, -/obj/item/melee/knife/hunting{ - pixel_y = -5 - }, -/obj/item/storage/belt/security/webbing, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/structure/closet/wall/red/directional/east{ - name = "armory locker"; - req_one_access_txt = "1" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"tD" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/crew) -"tT" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"tY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/power/terminal, -/obj/structure/cable{ - icon_state = "4-5" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"tZ" = ( -/obj/machinery/door/airlock/grunge{ - name = "Armory" - }, -/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" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/pod/dark, -/area/ship/crew) -"ui" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4; - name = "External Access Hatch" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/pod/light, -/area/ship/crew) -"uo" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4{ - dir = 4 - }, -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/pod/light, -/area/ship/crew) -"ut" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/closet/emcloset/wall/directional/north, -/obj/machinery/advanced_airlock_controller{ - pixel_y = -25 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/pod/light, -/area/ship/crew) -"vo" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4; - name = "External Access Hatch" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/pod/light, -/area/ship/crew) -"vx" = ( -/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/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=port"; - location = "forward" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/number/five{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/crew) -"vN" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters{ - id = "pirateshutters"; - name = "Blast Shutters"; - dir = 4 - }, -/obj/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/bridge) -"vW" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/machinery/light_switch{ - pixel_y = 20 - }, -/turf/open/floor/pod/light, -/area/ship/crew) -"wq" = ( -/obj/structure/toilet, -/obj/structure/window/reinforced/tinted{ - dir = 4 - }, -/obj/machinery/door/window/southright, -/obj/structure/curtain/bounty, -/obj/effect/decal/cleanable/vomit/old, -/obj/machinery/light/small/directional/north, -/turf/open/floor/pod/light, -/area/ship/crew) -"wP" = ( -/obj/machinery/shower{ - pixel_y = 15 - }, -/obj/structure/window/reinforced/tinted{ - dir = 4 - }, -/obj/machinery/door/window/southleft, -/obj/structure/curtain/bounty, -/obj/item/soap, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/pod/light, -/area/ship/crew) -"wZ" = ( -/obj/machinery/vending/boozeomat/all_access{ - all_items_free = 1 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"xv" = ( -/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/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/crew) -"yf" = ( -/obj/structure/chair/plastic, -/obj/effect/landmark/start/assistant, -/obj/structure/cable{ - icon_state = "8-10" - }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"yi" = ( -/obj/structure/chair/plastic, -/obj/effect/landmark/start/assistant, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"yU" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 12 - }, -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/pod/light, -/area/ship/crew) -"za" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "pirateshutters"; - name = "Blast Shutters" - }, -/obj/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/crew) -"zi" = ( -/obj/structure/table/reinforced, -/obj/machinery/vending/wallmed{ - pixel_y = 30 - }, -/obj/item/storage/case/surgery, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/suit/apron/surgical, -/obj/structure/sign/departments/medbay/alt{ - pixel_x = -32 - }, -/obj/item/healthanalyzer, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/west, -/turf/open/floor/pod/light, -/area/ship/crew) -"zR" = ( -/obj/structure/rack, -/obj/item/storage/firstaid/brute{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/storage/firstaid/fire, -/obj/item/storage/firstaid/regular{ - pixel_x = -4; - pixel_y = -4 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/siding{ - dir = 4 - }, -/turf/open/floor/pod/light, -/area/ship/crew) -"Aq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/effect/landmark/observer_start, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/miskilamo_small/right{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/crew) -"AL" = ( -/obj/structure/table, -/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{ - pixel_x = 14 - }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Bb" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"Bi" = ( -/obj/structure/table, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/item/storage/fancy/cigarettes{ - pixel_x = -9; - pixel_y = 7 - }, -/obj/item/toy/cards/deck/syndicate{ - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/storage/fancy/cigarettes/dromedaryco{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/storage/fancy/cigarettes/cigpack_cannabis{ - pixel_x = -8; - pixel_y = -1 - }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Bw" = ( -/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, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/under/costume/sailor, -/obj/item/clothing/under/costume/sailor, -/obj/item/clothing/under/costume/sailor, -/obj/item/clothing/under/costume/sailor, -/obj/structure/closet/wall/directional/east, -/turf/open/floor/pod/light, -/area/ship/crew) -"By" = ( -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/pod/light, -/area/ship/crew) -"Cd" = ( -/obj/structure/cable, -/obj/machinery/power/shuttle/engine/electric{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/hallway/port) -"Ce" = ( -/obj/effect/landmark/start/medical_doctor, -/obj/effect/turf_decal/siding{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-6" - }, -/obj/machinery/door/window/eastright, -/turf/open/floor/pod/light, -/area/ship/crew) -"Cg" = ( -/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 - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/miskilamo_small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/crew) -"Cj" = ( -/obj/structure/chair/plastic{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Cx" = ( -/obj/structure/chair/plastic{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"CK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/power/terminal, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"Df" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/pod/light, -/area/ship/cargo) -"DG" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/pod/light, -/area/ship/crew) -"Ec" = ( -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/charcoal{ - pixel_x = -3 - }, -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle/charcoal{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_x = 3; - pixel_y = -2 - }, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_x = 4; - pixel_y = 1 - }, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_x = -2; - pixel_y = 5 - }, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_x = 2; - pixel_y = 8 - }, -/obj/structure/table/reinforced, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 - }, -/obj/machinery/defibrillator_mount/loaded{ - pixel_y = -32 - }, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/pod/light, -/area/ship/crew) -"Ef" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/item/reagent_containers/blood/universal{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/reagent_containers/blood/universal, -/obj/item/reagent_containers/blood/universal{ - pixel_x = -4; - pixel_y = -4 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/siding{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/pod/light, -/area/ship/crew) -"Er" = ( -/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" - }, -/obj/structure/cable{ - icon_state = "2-9" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/miskilamo_small/left{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/crew) -"Ey" = ( -/obj/structure/mirror{ - pixel_y = -28 - }, -/obj/structure/dresser, -/turf/open/floor/pod/light, -/area/ship/crew) -"EG" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/structure/curtain/bounty, -/obj/machinery/computer/cryopod/directional/north{ - pixel_y = -25 - }, -/turf/open/floor/pod/light, -/area/ship/crew) -"EH" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/machinery/airalarm/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/bedsheet/brown, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/pod/light, -/area/ship/crew) -"Fx" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/cargo) -"FF" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo) -"FH" = ( -/obj/machinery/door/airlock/grunge{ - name = "Cargo Bay" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-10" - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/pod/dark, -/area/ship/cargo) -"FR" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/port) -"He" = ( -/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/decal/cleanable/dirt/dust, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/closet/emcloset/wall/directional/west, -/turf/open/floor/pod/light, -/area/ship/cargo) -"Hh" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_y = 20 - }, -/turf/open/floor/pod/light, -/area/ship/cargo) -"Hw" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/pod/light, -/area/ship/cargo) -"HU" = ( -/obj/structure/railing, -/obj/machinery/status_display/shuttle{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/pod/light, -/area/ship/cargo) -"HY" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"Id" = ( -/obj/structure/railing, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/pod/light, -/area/ship/cargo) -"Ie" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/north, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/pod/light, -/area/ship/cargo) -"IF" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/starboard) -"IS" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/hallway/port) -"IV" = ( -/obj/machinery/power/port_gen/pacman/super, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plating, -/area/ship/hallway/port) -"Ji" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - piping_layer = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plating, -/area/ship/hallway/port) -"Jr" = ( -/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" - }, -/obj/machinery/button/door{ - dir = 4; - id = "piratecargo"; - name = "Blast Door Control"; - pixel_x = -25; - pixel_y = -10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs/right, -/area/ship/cargo) -"Jx" = ( -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/high, -/obj/structure/table, -/turf/open/floor/pod/light, -/area/ship/cargo) -"Ko" = ( -/obj/machinery/mineral/ore_redemption, -/turf/open/floor/pod/light, -/area/ship/cargo) -"Ks" = ( -/obj/machinery/computer/selling_pad_control, -/turf/open/floor/pod/light, -/area/ship/cargo) -"KD" = ( -/obj/effect/turf_decal/box, -/obj/machinery/selling_pad, -/turf/open/floor/pod/light, -/area/ship/cargo) -"KS" = ( -/obj/machinery/button/door{ - dir = 8; - id = "piratecargo"; - name = "Blast Door Control"; - pixel_x = 25; - pixel_y = -10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs/left, -/area/ship/cargo) -"KV" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"Le" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/hallway/starboard) -"Ll" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/window/northright{ - name = "Engine Access" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/hallway/port) -"LD" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - piping_layer = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"LU" = ( -/obj/machinery/power/port_gen/pacman/super, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"Mh" = ( -/obj/structure/cable/yellow, -/obj/machinery/power/terminal, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/firecloset/wall/directional/west, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ship/hallway/port) -"Mp" = ( -/obj/machinery/atmospherics/components/binary/pump/on/layer2, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/hallway/port) -"MC" = ( -/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" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/pod/light, -/area/ship/cargo) -"Nq" = ( -/obj/structure/cable{ - icon_state = "8-10" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"Nz" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"NN" = ( -/obj/structure/cable{ - icon_state = "4-6" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"NS" = ( -/obj/structure/cable{ - icon_state = "8-10" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"Og" = ( -/obj/effect/decal/cleanable/oil/streak, -/obj/structure/sign/warning/nosmoking{ - pixel_x = 32 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/pod/light, -/area/ship/cargo) -"Ol" = ( -/obj/machinery/atmospherics/components/binary/pump/on/layer2, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"Oo" = ( -/obj/structure/cable/yellow, -/obj/machinery/power/terminal, -/obj/item/wrench, -/obj/effect/decal/cleanable/oil, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/firecloset/wall/directional/east, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"OA" = ( -/obj/machinery/power/smes/engineering{ - charge = 1e+006 - }, -/obj/machinery/light/small/directional/west, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/hallway/port) -"OO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"Pf" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/structure/cable{ - icon_state = "1-10" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/hallway/port) -"Py" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4; - name = "Port Engines" - }, -/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 - }, -/turf/open/floor/plating, -/area/ship/hallway/port) -"Qj" = ( -/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/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_y = 20 - }, -/turf/open/floor/plating, -/area/ship/hallway/port) -"QO" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4; - name = "Port Engines" - }, -/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 = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/pod/dark, -/area/ship/cargo) -"Rn" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/window/northleft{ - name = "Engine Access" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"RX" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "4-5" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=starboard"; - location = "port" - }, -/turf/open/floor/pod/light, -/area/ship/cargo) -"Sc" = ( -/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/landmark/start/station_engineer, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/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/greenglow, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/closet/crate/radiation{ - name = "fuel crate" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/stack/sheet/mineral/uranium/five, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"Sw" = ( -/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/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 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"SA" = ( -/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 = "4-9" - }, -/obj/effect/decal/cleanable/oil, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"SR" = ( -/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/navbeacon{ - codes_txt = "patrol;next_patrol=forward"; - location = "starboard" - }, -/turf/open/floor/pod/light, -/area/ship/cargo) -"Ty" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4; - name = "Starboard Engines" - }, -/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/effect/decal/cleanable/dirt/dust, -/turf/open/floor/pod/dark, -/area/ship/cargo) -"TP" = ( -/obj/machinery/door/poddoor/shutters{ - id = "piratecargo"; - name = "Cargo Bay" - }, -/obj/structure/fans/tiny, -/turf/open/floor/engine/hull/interior, -/area/ship/cargo) -"TT" = ( -/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/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_y = 20 - }, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"Ut" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4; - name = "Starboard Engines" - }, -/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 = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"Uv" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"US" = ( -/obj/machinery/power/smes/engineering{ - charge = 1e+006 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"Vp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-5" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/closet/crate/engineering/electrical, -/obj/item/clothing/gloves/color/yellow, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/electrical, -/obj/item/multitool, -/obj/item/clothing/glasses/welding, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plating, -/area/ship/hallway/port) -"VC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "8-10" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/airalarm/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/hallway/port) -"VO" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/pod/light, -/area/ship/cargo) -"Wa" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"WC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/power/ship_gravity/unanchored, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"WK" = ( -/obj/structure/closet/crate, -/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/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"WM" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/window/northright{ - name = "Engine Access" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"WZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"Xx" = ( -/obj/structure/rack, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/clothing/head/hardhat/mining, -/obj/item/clothing/suit/hazardvest, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/obj/item/clothing/suit/hazardvest, -/obj/item/pickaxe/improvised, -/obj/item/pickaxe/improvised, -/obj/item/clothing/head/hardhat/mining, -/obj/item/clothing/head/hardhat/mining, -/turf/open/floor/pod/light, -/area/ship/cargo) -"XB" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters{ - id = "pirateshutters"; - name = "Blast Shutters" - }, -/obj/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/bridge) -"XJ" = ( -/turf/template_noop, -/area/template_noop) -"YQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"YS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-9" - }, -/obj/structure/cable{ - icon_state = "8-10" - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ship/hallway/starboard) -"Zc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/power/terminal, -/obj/structure/cable{ - icon_state = "0-5" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/hallway/port) -"Zf" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/power/terminal, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/hallway/port) -"ZB" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) - -(1,1,1) = {" -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -IS -IS -IS -IS -IS -IS -IS -XJ -"} -(2,1,1) = {" -XJ -XJ -XJ -XJ -cF -cF -cF -cF -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -IS -FR -IV -Mh -OA -Vp -Zc -nt -Cd -"} -(3,1,1) = {" -XJ -XJ -XJ -XJ -XJ -fq -fq -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -IS -FR -Ji -Mp -Pf -VC -Zf -Ll -Cd -"} -(4,1,1) = {" -XJ -XJ -XJ -XJ -XJ -fq -fq -XJ -XJ -XJ -XJ -qh -XJ -XJ -XJ -XJ -XJ -IS -IS -FR -Py -FR -IS -IS -XJ -"} -(5,1,1) = {" -XJ -XJ -XJ -XJ -XJ -fG -kK -fG -XJ -XJ -tD -ui -tD -XJ -XJ -XJ -XJ -XJ -XJ -IS -Qj -IS -XJ -XJ -XJ -"} -(6,1,1) = {" -XJ -XJ -XJ -XJ -XJ -fR -mg -hb -fG -XJ -tT -uo -tT -tD -za -tT -Fx -Fx -Fx -FF -QO -FF -Fx -Fx -XJ -"} -(7,1,1) = {" -XJ -XJ -XJ -XJ -Bb -hb -ml -hb -hb -hb -tT -ut -tT -zi -By -Ec -FF -He -Jr -MC -RX -VO -Df -FF -Fx -"} -(8,1,1) = {" -vN -ad -Bb -ad -Bb -iA -mJ -pm -pW -sc -tT -vo -wZ -zR -Ce -Ef -FF -Hh -Jx -Nq -Sc -Wa -HY -rL -TP -"} -(9,1,1) = {" -XB -au -aW -bz -fi -jz -mU -pA -qP -sv -tZ -vx -xv -Aq -Cg -Er -FH -Hw -Ko -Nz -Sj -WC -br -dD -fd -"} -(10,1,1) = {" -XB -az -bb -bG -fp -Bb -nv -pH -rd -sx -tT -vW -yf -AL -Cj -Ey -FF -HU -Ks -NN -Sw -WK -KV -rc -TP -"} -(11,1,1) = {" -vN -ad -Bb -ad -Bb -iA -nB -pS -rF -sI -tT -wq -yi -Bi -Cx -EG -FF -Id -KD -NS -SA -WZ -OO -ZB -TP -"} -(12,1,1) = {" -XJ -XJ -XJ -XJ -Bb -hb -nC -hb -hb -hb -tT -wP -yU -Bw -DG -EH -FF -Ie -KS -Og -SR -Xx -oo -FF -Fx -"} -(13,1,1) = {" -XJ -XJ -XJ -XJ -XJ -kF -nQ -hb -fG -XJ -tD -tD -za -tD -za -tD -Fx -Fx -Fx -FF -Ty -FF -Fx -Fx -XJ -"} -(14,1,1) = {" -XJ -XJ -XJ -XJ -XJ -fG -nW -fG -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -Le -TT -Le -XJ -XJ -XJ -"} -(15,1,1) = {" -XJ -XJ -XJ -XJ -XJ -fq -oQ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -Le -Le -IF -Ut -IF -Le -Le -XJ -"} -(16,1,1) = {" -XJ -XJ -XJ -XJ -XJ -fq -fq -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -Le -IF -LD -Ol -Uv -YQ -tY -Rn -eV -"} -(17,1,1) = {" -XJ -XJ -XJ -XJ -cF -cF -cF -cF -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -Le -IF -LU -Oo -US -YS -CK -WM -eV -"} -(18,1,1) = {" -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -XJ -Le -Le -Le -Le -Le -Le -Le -XJ -"} From c2fa372751df3674c2eca6a250452bfb603724bf Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 22 Jan 2025 15:37:55 -0600 Subject: [PATCH 139/330] Automatic changelog generation for PR #3968 [ci skip] --- html/changelogs/AutoChangeLog-pr-3968.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3968.yml diff --git a/html/changelogs/AutoChangeLog-pr-3968.yml b/html/changelogs/AutoChangeLog-pr-3968.yml new file mode 100644 index 000000000000..aa9f30871dd4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3968.yml @@ -0,0 +1,5 @@ +author: Apogee-dev +changes: + - {rscadd: added Miskilamo Falmouth-class Light Freighter} + - {rscdel: removed Libertatia-class Hauler} +delete-after: true From d12d5bbd5a8a3072422d115ce2e938f8acd55247 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 23 Jan 2025 01:01:33 +0000 Subject: [PATCH 140/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3968.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4061.yml | 6 ------ html/changelogs/archive/2025-01.yml | 8 ++++++++ 3 files changed, 8 insertions(+), 11 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3968.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4061.yml diff --git a/html/changelogs/AutoChangeLog-pr-3968.yml b/html/changelogs/AutoChangeLog-pr-3968.yml deleted file mode 100644 index aa9f30871dd4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3968.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Apogee-dev -changes: - - {rscadd: added Miskilamo Falmouth-class Light Freighter} - - {rscdel: removed Libertatia-class Hauler} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4061.yml b/html/changelogs/AutoChangeLog-pr-4061.yml deleted file mode 100644 index 471cca5a69d5..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4061.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: MemeSnorfer & Moffball -changes: - - {imageadd: Kepori will no longer be haunted by floating combat webbings and balaclavas. - Hurray!} - - {bugfix: Fixes a mistake concerning NGR balaclavas not fitting Sarathi snouts.} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index 7ef4e51b18b1..d11fe9e1de8e 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -230,3 +230,11 @@ firebudgy: - rscadd: Inteq Gas Mask sprites for Vox. - balance: Vests now have pockets for binoculars, attachments and pocket fire extinguishers +2025-01-23: + Apogee-dev: + - rscadd: added Miskilamo Falmouth-class Light Freighter + - rscdel: removed Libertatia-class Hauler + MemeSnorfer & Moffball: + - imageadd: Kepori will no longer be haunted by floating combat webbings and balaclavas. + Hurray! + - bugfix: Fixes a mistake concerning NGR balaclavas not fitting Sarathi snouts. From b38040413815484ac608665a30f71c6ea3ede8c1 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Wed, 22 Jan 2025 23:52:36 -0600 Subject: [PATCH 141/330] Renames the Falmouth file to be indie instead of pirate (#4065) ## About The Pull Request ## Why It's Good For The Game asked by apogee and meem ## Changelog :cl: fix: Falmouth filename is now indie /:cl: --------- Co-authored-by: github-actions --- .../configs/{pirate_falmouth.json => independent_falmouth.json} | 2 +- .../independent_falmouth.dmm} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename _maps/configs/{pirate_falmouth.json => independent_falmouth.json} (95%) rename _maps/shuttles/{pirate/pirate_falmouth.dmm => independent/independent_falmouth.dmm} (100%) diff --git a/_maps/configs/pirate_falmouth.json b/_maps/configs/independent_falmouth.json similarity index 95% rename from _maps/configs/pirate_falmouth.json rename to _maps/configs/independent_falmouth.json index 20e9e7d51c35..a6f92c8c3e82 100644 --- a/_maps/configs/pirate_falmouth.json +++ b/_maps/configs/independent_falmouth.json @@ -16,7 +16,7 @@ "SPACE", "PIRATES" ], - "map_path": "_maps/shuttles/pirate/pirate_falmouth.dmm", + "map_path": "_maps/shuttles/independent/independent_falmouth.dmm", "limit": 1, "starting_funds": 1250, "job_slots": { diff --git a/_maps/shuttles/pirate/pirate_falmouth.dmm b/_maps/shuttles/independent/independent_falmouth.dmm similarity index 100% rename from _maps/shuttles/pirate/pirate_falmouth.dmm rename to _maps/shuttles/independent/independent_falmouth.dmm From abf603d8cc066b7f118ce4fda8bd9122c4cedb77 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 23 Jan 2025 00:03:40 -0600 Subject: [PATCH 142/330] Automatic changelog generation for PR #4065 [ci skip] --- html/changelogs/AutoChangeLog-pr-4065.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4065.yml diff --git a/html/changelogs/AutoChangeLog-pr-4065.yml b/html/changelogs/AutoChangeLog-pr-4065.yml new file mode 100644 index 000000000000..e5c676b25bbf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4065.yml @@ -0,0 +1,4 @@ +author: generalthrax +changes: + - {bugfix: Falmouth filename is now indie} +delete-after: true From 84a85e6603902a91c0cb1732b23a1939f851a237 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Thu, 23 Jan 2025 19:31:51 -0500 Subject: [PATCH 143/330] Buff HC Gauss (#4067) ## About The Pull Request My testing homunculus said it sucked dick after i gave it to them for free ## Why It's Good For The Game I want stuff to be usable ## Changelog :cl: balance: HC Gauss does marginally more damage /:cl: --- .../projectiles/projectile/bullets/gauss.dm | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/code/modules/projectiles/projectile/bullets/gauss.dm b/code/modules/projectiles/projectile/bullets/gauss.dm index 4d17e6256cfb..fb8e735e0f56 100644 --- a/code/modules/projectiles/projectile/bullets/gauss.dm +++ b/code/modules/projectiles/projectile/bullets/gauss.dm @@ -11,10 +11,12 @@ /obj/projectile/bullet/gauss/hc name = "ferromagnetic pellet" - damage = 10 + damage = 15 armour_penetration = 60 - range = 35 + range = 50 hitscan = TRUE + light_system = 0 + light_range = 0 muzzle_type = /obj/effect/projectile/muzzle/gauss tracer_type = /obj/effect/projectile/tracer/gauss impact_type = /obj/effect/projectile/impact/gauss @@ -29,10 +31,12 @@ /obj/projectile/bullet/gauss/lance/hc name = "ferromagnetic lance" - damage = 15 + damage = 20 armour_penetration = 80 - range = 35 + range = 50 hitscan = TRUE + light_system = 0 + light_range = 0 muzzle_type = /obj/effect/projectile/muzzle/gauss tracer_type = /obj/effect/projectile/tracer/gauss impact_type = /obj/effect/projectile/impact/gauss @@ -50,8 +54,10 @@ name = "ferromagnetic lance" damage = 25 armour_penetration = 0 - range = 35 + range = 50 hitscan = TRUE + light_system = 0 + light_range = 0 muzzle_type = /obj/effect/projectile/muzzle/gauss tracer_type = /obj/effect/projectile/tracer/gauss impact_type = /obj/effect/projectile/impact/gauss From 81ddfa0c8762a61739c7dd663831c697ca79c2ea Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Thu, 23 Jan 2025 16:32:28 -0800 Subject: [PATCH 144/330] Fixes Vox Itemstates (#4066) ## About The Pull Request Oops! I forgot an itemstate and another PR completely vaporized the itemstate on two compatible Vox sprites! This fixes it. ## Why It's Good For The Game I like having working clothing. ## Changelog :cl: fix: Inteq Balaclavas and other Vox Sprites /:cl: --- code/game/objects/items/storage/belt.dm | 4 ++-- code/modules/clothing/masks/breath.dm | 2 +- code/modules/clothing/masks/gasmask.dm | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 3b550ffbb2c4..39e7452b9bf0 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -168,7 +168,7 @@ icon_state = "medicwebbing" item_state = "medicwebbing" custom_premium_price = 900 - supports_variations = KEPORI_VARIATION + supports_variations = KEPORI_VARIATION | VOX_VARIATION /obj/item/storage/belt/medical/ComponentInitialize() . = ..() @@ -448,7 +448,7 @@ icon_state = "militarywebbing" item_state = "militarywebbing" resistance_flags = FIRE_PROOF - supports_variations = KEPORI_VARIATION + supports_variations = KEPORI_VARIATION | VOX_VARIATION unique_reskin = list( "None" = "militarywebbing", diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 98520a30b597..7fbb185f2667 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -49,4 +49,4 @@ 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" - supports_variations = KEPORI_VARIATION + supports_variations = KEPORI_VARIATION | VOX_VARIATION diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 021fad6c01e2..1e449fa21f0c 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -289,4 +289,4 @@ icon_state = "inteq_gas_mask" item_state = "inteq_gas_mask" resistance_flags = FIRE_PROOF | ACID_PROOF - supports_variations = KEPORI_VARIATION + supports_variations = KEPORI_VARIATION | VOX_VARIATION From f29bab96aa27c8a65255aa8c1f7d0e0feecdb99d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 23 Jan 2025 18:43:02 -0600 Subject: [PATCH 145/330] Automatic changelog generation for PR #4066 [ci skip] --- html/changelogs/AutoChangeLog-pr-4066.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4066.yml diff --git a/html/changelogs/AutoChangeLog-pr-4066.yml b/html/changelogs/AutoChangeLog-pr-4066.yml new file mode 100644 index 000000000000..7e966cd4cbe4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4066.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {bugfix: Inteq Balaclavas and other Vox Sprites} +delete-after: true From 9bbecf6109aac7b4f2574fbe4c82c180adc5270e Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Thu, 23 Jan 2025 19:32:56 -0500 Subject: [PATCH 146/330] Removes an erroneous airlock from the Derecho (#4063) ## About The Pull Request A second locker room airlock was accidentally mapped into the Derecho, and this PR removes it. ## Why It's Good For The Game This fixes a mistake in an earlier PR ## Changelog :cl: fix: fixed an accidental second locker room airlock in the derecho /:cl: --- _maps/shuttles/syndicate/syndicate_ngr_derecho.dmm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm index 192f779fda33..00e524aa4dec 100644 --- a/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm +++ b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm @@ -2587,12 +2587,6 @@ pixel_y = 7 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/hatch{ - dir = 4; - name = "Locker Room"; - req_access_txt = null; - req_one_access_txt = "48,56" - }, /turf/open/floor/plasteel/dark, /area/ship/cargo) "vF" = ( From 2c9c37ebcb63891bf5fc89982b3fc5aadcf077b5 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Thu, 23 Jan 2025 19:33:25 -0500 Subject: [PATCH 147/330] Clarifies latch usage and fixes a bug with cell ejection on the E-40 (#4062) ## About The Pull Request This PR updates the examine text on weapons to include that latches are to only be toggled on help intent. It also fixes a bug where firing the E-40's ballistic component with the latch loose would repeatedly "drop a cell", even if one had already been ejected. ## Why It's Good For The Game This should hopefully reduce some confusion as to when latches can be toggled, and it should remove a slightly immersion-breaking bug. ## Changelog :cl: fix: updated cell latch descriptions fix: fixed a minor bug with cell latches on the E-40 /:cl: --- code/modules/projectiles/guns/energy.dm | 2 +- .../modules/projectiles/guns/manufacturer/eoehoma/ballistics.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 5ade10ca6c9a..a9501f4f3c7a 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -375,7 +375,7 @@ /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." + . += "The cell retainment latch is [latch_closed ? "CLOSED" : "OPEN"]. Alt-Click on help intent 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 unique action key. By default, this is space" diff --git a/code/modules/projectiles/guns/manufacturer/eoehoma/ballistics.dm b/code/modules/projectiles/guns/manufacturer/eoehoma/ballistics.dm index da315f224fee..68e29d337f3d 100644 --- a/code/modules/projectiles/guns/manufacturer/eoehoma/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/eoehoma/ballistics.dm @@ -55,7 +55,7 @@ /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)) + if(!secondary.latch_closed && secondary.cell && prob(65)) to_chat(user, span_warning("[src]'s cell falls out!")) secondary.eject_cell() return ..() From 61a5820ea5b464b0fc24c4de33915ec9c37fe01a Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 23 Jan 2025 18:58:37 -0600 Subject: [PATCH 148/330] Automatic changelog generation for PR #4062 [ci skip] --- html/changelogs/AutoChangeLog-pr-4062.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4062.yml diff --git a/html/changelogs/AutoChangeLog-pr-4062.yml b/html/changelogs/AutoChangeLog-pr-4062.yml new file mode 100644 index 000000000000..ca01ed088fa8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4062.yml @@ -0,0 +1,5 @@ +author: zimon9 +changes: + - {bugfix: updated cell latch descriptions} + - {bugfix: fixed a minor bug with cell latches on the E-40} +delete-after: true From a3d63cd9a8711c4261612d27e18fcda4d7184f92 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 24 Jan 2025 01:01:56 +0000 Subject: [PATCH 149/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4062.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4065.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4066.yml | 4 ---- html/changelogs/archive/2025-01.yml | 8 ++++++++ 4 files changed, 8 insertions(+), 13 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4062.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4065.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4066.yml diff --git a/html/changelogs/AutoChangeLog-pr-4062.yml b/html/changelogs/AutoChangeLog-pr-4062.yml deleted file mode 100644 index ca01ed088fa8..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4062.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: zimon9 -changes: - - {bugfix: updated cell latch descriptions} - - {bugfix: fixed a minor bug with cell latches on the E-40} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4065.yml b/html/changelogs/AutoChangeLog-pr-4065.yml deleted file mode 100644 index e5c676b25bbf..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4065.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: generalthrax -changes: - - {bugfix: Falmouth filename is now indie} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4066.yml b/html/changelogs/AutoChangeLog-pr-4066.yml deleted file mode 100644 index 7e966cd4cbe4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4066.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {bugfix: Inteq Balaclavas and other Vox Sprites} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index d11fe9e1de8e..fca1beaf57b7 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -238,3 +238,11 @@ - imageadd: Kepori will no longer be haunted by floating combat webbings and balaclavas. Hurray! - bugfix: Fixes a mistake concerning NGR balaclavas not fitting Sarathi snouts. +2025-01-24: + firebudgy: + - bugfix: Inteq Balaclavas and other Vox Sprites + generalthrax: + - bugfix: Falmouth filename is now indie + zimon9: + - bugfix: updated cell latch descriptions + - bugfix: fixed a minor bug with cell latches on the E-40 From 4a90e27c62c7d70eb07254e4fd0953d128931b2e Mon Sep 17 00:00:00 2001 From: Geoengi <139566513+Geoengi@users.noreply.github.com> Date: Fri, 24 Jan 2025 00:45:06 -0500 Subject: [PATCH 150/330] The Great Shiptest IRS Audit (Branch Edition) (#3917) ## About The Pull Request - Removes the ability to place material coins into slot machines by changing the pay mode; they only work with cash bundles now. Thank @flopppi for this wonderful edit. - Slot machines don't announce if you've won a jackpot to the whole sector. - The roulette table no longer gets stuck with spinning/persistent numbers and now references cash cards over ID cards. Also requires the machine to have power for it to spin and have the owner's card present to use the bolt button. - Roulette tables can be bought at cargo for 5000 credits. - Fixes some grammar relating to the roulette table's beacon and gives it an activation sound relating to it's activation message. - Vendors no longer ask for ID cards when no account is presented and instead cash cards. ## Why It's Good For The Game - So turns out that if you place coins in a slot machine and go to withdraw them or deconstruct the machine, it literally tries to throw infinite coins at your head and kills the server. Obviously, it should not do this. - The roulette table is a fun item that should get more, gimmick or not, use than the one ship that had it (RIP Lagoon). - Consistency in terminology and missing feature fixes are also good in economy items, yes-yes. ## Changelog :cl: add: Roulette tables can be bought at cargo for the low price of 5000 credits! fix: Fixed persistent overlays on roulette tables and requires them to be powered to function. fix: Roulette tables now pay out when betting zero. tweak: Owners of roulette tables are the only ones who can bolt or unbolt them. tweak: Slot machines don't announce who won a jackpot where. tweak: Replaced references to ID cards with cash cards where applicable. tweak: The roulette beacon now has an activation sound. spellcheck: The roulette beacon's description reads better. code: Slot machines no longer accept material coins due to them nuking the server if withdrawn. /:cl: --------- Signed-off-by: Geoengi <139566513+Geoengi@users.noreply.github.com> Signed-off-by: Theos Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Co-authored-by: Theos --- code/game/machinery/roulette_machine.dm | 72 ++++++----- code/game/machinery/slotmachine.dm | 119 +++++------------- code/modules/cargo/packs/civilian.dm | 7 ++ tgui/packages/tgui/interfaces/MiningVendor.js | 4 +- tgui/packages/tgui/interfaces/Roulette.js | 4 +- tgui/packages/tgui/interfaces/Vending.js | 4 +- 6 files changed, 80 insertions(+), 130 deletions(-) diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index 098cd5ea3868..3ab3770588dc 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -20,7 +20,7 @@ ///Machine that lets you play roulette. Odds are pre-defined to be the same as European Roulette without the "En Prison" rule /obj/machinery/roulette name = "Roulette Table" - desc = "A computerized roulette table. Swipe your ID to play or register yourself as owner!" + desc = "A computerized roulette table. Swipe your cash card to play or register yourself as the owner!" icon = 'icons/obj/machines/roulette.dmi' icon_state = "idle" density = TRUE @@ -80,14 +80,12 @@ data["LastSpin"] = last_spin data["Spinning"] = playing if(ishuman(user)) - var/mob/living/carbon/human/H = user - var/obj/item/card/bank/C = H.get_bankcard() - if(C) - data["AccountBalance"] = C.registered_account.account_balance + var/mob/living/carbon/human/player = user + var/obj/item/card/bank/card = player.get_bankcard() + if(card) + data["AccountBalance"] = card.registered_account.account_balance else data["AccountBalance"] = 0 - data["CanUnbolt"] = (H.get_idcard() == my_card) - return data /obj/machinery/roulette/ui_act(action, params) @@ -95,9 +93,11 @@ if(.) return + var/mob/living/carbon/human/player = usr switch(action) if("anchor") - set_anchored(!anchored) + if(my_card == player.get_bankcard()) + set_anchored(!anchored) . = TRUE if("ChangeBetAmount") chosen_bet_amount = clamp(text2num(params["amount"]), 10, 500) @@ -108,23 +108,26 @@ update_appearance() // Not applicable to all objects. ///Handles setting ownership and the betting itself. -/obj/machinery/roulette/attackby(obj/item/W, mob/user, params) - if(machine_stat & MAINT && is_wire_tool(W)) +/obj/machinery/roulette/attackby(obj/item/held, mob/user, params) + if(machine_stat & MAINT && is_wire_tool(held)) wires.interact(user) return if(playing) return ..() - if(istype(W, /obj/item/card/bank)) + if(istype(held, /obj/item/card/bank)) playsound(src, 'sound/machines/card_slide.ogg', 50, TRUE) - if(machine_stat & MAINT || !on || locked) - to_chat(user, "The machine appears to be disabled.") + if(!powered()) + to_chat(user, span_warning("The machine is unpowered!")) + return FALSE + else if(machine_stat & MAINT || !on || locked) + to_chat(user, span_notice("The machine appears to be disabled.")) return FALSE if(my_card) - var/obj/item/card/bank/player_card = W + var/obj/item/card/bank/player_card = held if(player_card.registered_account.account_balance < chosen_bet_amount) //Does the player have enough funds - audible_message("You do not have the funds to play! Lower your bet or get more money.") + audible_message(span_warning("You do not have the funds to play! Lower your bet or get more money.")) playsound(src, 'sound/machines/buzz-two.ogg', 30, TRUE) return FALSE if(!chosen_bet_amount || isnull(chosen_bet_type)) @@ -167,15 +170,15 @@ addtimer(CALLBACK(src, PROC_REF(play), user, player_card, chosen_bet_type, chosen_bet_amount, potential_payout), 4) //Animation first return TRUE else - var/obj/item/card/bank/new_card = W + var/obj/item/card/bank/new_card = held if(new_card.registered_account) var/msg = stripped_input(user, "Name of your roulette wheel:", "Roulette Naming", "Roulette Machine") if(!msg) return name = msg - desc = "Owned by [new_card.registered_account.account_holder], draws directly from [user.p_their()] account." + desc = "Owned by [new_card.registered_account.account_holder]. The wheel draws directly from [user.p_their()] account." my_card = new_card - to_chat(user, "You link the wheel to your account.") + to_chat(user, span_notice("You link the wheel to your account.")) power_change() return return ..() @@ -210,18 +213,18 @@ var/color = numbers["[rolled_number]"] //Weird syntax, but dict uses strings. var/result = "[rolled_number] [color]" //e.g. 31 black - audible_message("The result is: [result]") + audible_message(span_notice("The result is: [result].")) playing = FALSE - update_icon(potential_payout, color, rolled_number, is_winner) + update_icon(ALL, potential_payout, color, rolled_number, is_winner) handle_color_light(color) if(!is_winner) - audible_message("You lost! Better luck next time") + audible_message(span_warning("You lost! Better luck next time!")) playsound(src, 'sound/machines/synth_no.ogg', 50) return FALSE - audible_message("You have won [potential_payout] credits! Congratulations!") + audible_message(span_notice("You have won [potential_payout] credits! Congratulations!")) playsound(src, 'sound/machines/synth_yes.ogg', 50) dispense_prize(potential_payout) @@ -284,7 +287,7 @@ ///Returns TRUE if the player bet correctly. /obj/machinery/roulette/proc/check_win(bet_type, bet_amount, rolled_number) var/actual_bet_number = text2num(bet_type) //Only returns the numeric bet types, AKA singles. - if(actual_bet_number) //This means we're playing singles + if(!isnull(actual_bet_number)) //This means we're playing singles return rolled_number == actual_bet_number switch(bet_type) //Otherwise, we are playing a "special" game, switch on all the cases so we can check. @@ -325,7 +328,7 @@ /obj/machinery/roulette/proc/check_bartender_funds(payout) if(my_card.registered_account.account_balance >= payout) return TRUE //We got the betting amount - audible_message("The bank account of [my_card.registered_account.account_holder] does not have enough funds to pay out the potential prize, contact them to fill up their account or lower your bet!") + audible_message(span_warning("The bank account of [my_card.registered_account.account_holder] does not have enough funds to pay out the potential prize, contact them to fill up their account or lower your bet!")) playsound(src, 'sound/machines/buzz-two.ogg', 30, TRUE) return FALSE @@ -336,6 +339,7 @@ return if(playing) + remove_overlays += overlays . += "random_numbers" /obj/machinery/roulette/update_icon(updates=ALL, payout, color, rolled_number, is_winner = FALSE) @@ -375,20 +379,21 @@ if("red") set_light(2,2, COLOR_SOFT_RED) -/obj/machinery/roulette/welder_act(mob/living/user, obj/item/I) +/obj/machinery/roulette/welder_act(mob/living/user, obj/item/welder) . = ..() if(machine_stat & MAINT) - to_chat(user, "You start re-attaching the top section of [src]...") - if(I.use_tool(src, user, 30, volume=50)) - to_chat(user, "You re-attach the top section of [src].") + to_chat(user, span_notice("You start re-attaching the top section of [src]...")) + if(welder.use_tool(src, user, 30, volume=50)) + to_chat(user, span_notice("You re-attach the top section of [src].")) set_machine_stat(machine_stat & ~MAINT) icon_state = "idle" else - to_chat(user, "You start welding the top section from [src]...") - if(I.use_tool(src, user, 30, volume=50)) - to_chat(user, "You removed the top section of [src].") + to_chat(user, span_notice("You start welding the top section from [src]...")) + if(welder.use_tool(src, user, 30, volume=50)) + to_chat(user, span_notice("You removed the top section of [src].")) set_machine_stat(machine_stat | MAINT) icon_state = "open" + return TRUE /obj/machinery/roulette/proc/shock(mob/user, prb) if(!on) // unpowered, no shock @@ -403,7 +408,7 @@ /obj/item/roulette_wheel_beacon name = "roulette wheel beacon" - desc = "N.T. approved roulette wheel beacon, toss it down and you will have a complementary roulette wheel delivered to you." + desc = "An NT-approved roulette wheel beacon. Toss it down, and a complementary roulette wheel will be delivered to you." icon = 'icons/obj/objects.dmi' icon_state = "floor_beacon" var/used @@ -411,7 +416,8 @@ /obj/item/roulette_wheel_beacon/attack_self() if(used) return - loc.visible_message("\The [src] begins to beep loudly!") + loc.visible_message(span_warning("The [src] begins to beep loudly!")) + playsound(get_turf(src), 'sound/machines/triple_beep.ogg', 50, TRUE) used = TRUE addtimer(CALLBACK(src, PROC_REF(launch_payload)), 40) diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index 6d73a0cf1020..ca3c9db67c07 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -2,6 +2,8 @@ | Slot Machines | | Original code by Glloyd | | Tgstation port by Miauw | +| Shiptest adjustments by | +| Flopppi and Geoengi | \*******************************/ #define SPIN_PRICE 5 @@ -11,8 +13,6 @@ #define SPIN_TIME 65 //As always, deciseconds. #define REEL_DEACTIVATE_DELAY 7 #define SEVEN "7" -#define CASH 1 -#define COIN 2 /obj/machinery/computer/slot_machine name = "slot machine" @@ -31,9 +31,6 @@ var/working = 0 var/balance = 0 //How much money is in the machine, ready to be CONSUMED. var/jackpots = 0 - var/paymode = CASH //toggles between CASH/COIN, defined above - var/cointype = /obj/item/coin/iron //default cointype - var/list/coinvalues = list() var/list/reels = list(list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0) var/list/symbols = list(SEVEN = 1, "&" = 2, "@" = 2, "$" = 2, "?" = 2, "#" = 2, "!" = 2, "%" = 2) //if people are winning too much, multiply every number in this list by 2 and see if they are still winning too much. @@ -51,11 +48,7 @@ INVOKE_ASYNC(src, PROC_REF(toggle_reel_spin), FALSE) - for(cointype in typesof(/obj/item/coin)) - var/obj/item/coin/C = cointype - coinvalues["[cointype]"] = initial(C.value) - -/obj/machinery/computer/slot_machine/deconstruct(disassembled, mob/user) +/obj/machinery/computer/slot_machine/Destroy() if(balance) give_payout(balance) return ..() @@ -81,46 +74,14 @@ return ..() -/obj/machinery/computer/slot_machine/attackby(obj/item/I, mob/living/user, params) - if(istype(I, /obj/item/coin)) - var/obj/item/coin/C = I - if(paymode == COIN) - if(prob(2)) - if(!user.transferItemToLoc(C, drop_location(), silent = FALSE)) - return - C.throw_at(user, 3, 10) - if(prob(10)) - balance = max(balance - SPIN_PRICE, 0) - to_chat(user, "[src] spits your coin back out!") - - else - if(!user.temporarilyRemoveItemFromInventory(C)) - return - to_chat(user, "You insert [C] into [src]'s slot!") - balance += C.value - qdel(C) - else - to_chat(user, "This machine is only accepting cash!") - else if(istype(I, /obj/item/spacecash/bundle)) - if(paymode == CASH) - var/obj/item/spacecash/bundle/H = I - if(!user.temporarilyRemoveItemFromInventory(H)) - return - to_chat(user, "You insert [H.value] credits into [src]'s! slot") - balance += H.value - qdel(H) - else - to_chat(user, "This machine is only accepting coins!") - else if(I.tool_behaviour == TOOL_MULTITOOL) - if(balance > 0) - visible_message("[src] says, 'ERROR! Please empty the machine balance before altering paymode'") //Prevents converting coins into holocredits and vice versa - else - if(paymode == CASH) - paymode = COIN - visible_message("[src] says, 'This machine now works with COINS!'") - else - paymode = CASH - visible_message("[src] says, 'This machine now works with CASH!'") +/obj/machinery/computer/slot_machine/attackby(obj/item/object, mob/living/user, params) + if(istype(object, /obj/item/spacecash/bundle)) + var/obj/item/spacecash/bundle/credits = object + if(!user.temporarilyRemoveItemFromInventory(credits)) + return + to_chat(user, span_notice("You insert [credits.value] credits into [src]'s slot!")) + balance += credits.value + qdel(credits) else return ..() @@ -149,7 +110,7 @@ else dat = {"Five credits to play!
- Prize Money Available: [money] (jackpot payout is ALWAYS 100%!)
+ Prize Money Available: [money] (Jackpot payout is ALWAYS 100%!)
Credit Remaining: [balance]
[plays] players have tried their luck today, and [jackpots] have won a jackpot!


@@ -158,7 +119,7 @@ [reeltext]
"} if(balance > 0) - dat+="Refund balance
" + dat+="Refund Balance
" var/datum/browser/popup = new(user, "slotmachine", "Slot Machine") popup.set_content(dat) @@ -198,7 +159,7 @@ var/the_name if(user) the_name = user.real_name - visible_message("[user] pulls the lever and the slot machine starts spinning!") + visible_message(span_notice("[user] pulls the lever and the slot machine starts spinning!")) else the_name = "Exaybachay" @@ -230,14 +191,14 @@ /obj/machinery/computer/slot_machine/proc/can_spin(mob/user) if(machine_stat & NOPOWER) - to_chat(user, "The slot machine has no power!") + to_chat(user, span_warning("The slot machine has no power!")) if(machine_stat & BROKEN) - to_chat(user, "The slot machine is broken!") + to_chat(user, span_warning("The slot machine is broken!")) if(working) - to_chat(user, "You need to wait until the machine stops spinning before you can play again!") + to_chat(user, span_warning("You need to wait until the machine stops spinning before you can play again!")) return 0 if(balance < SPIN_PRICE) - to_chat(user, "Insufficient money to play!") + to_chat(user, span_warning("Insufficient money to play!")) return 0 return 1 @@ -259,17 +220,11 @@ if(reels[1][2] + reels[2][2] + reels[3][2] + reels[4][2] + reels[5][2] == "[SEVEN][SEVEN][SEVEN][SEVEN][SEVEN]") visible_message("[src] says, 'JACKPOT! You win [money] credits!'") - priority_announce("Congratulations to [user ? user.real_name : usrname] for winning the jackpot at the slot machine in [get_area(src)]!") jackpots += 1 balance += money - give_payout(JACKPOT) money = 0 - if(paymode == CASH) - new /obj/item/spacecash/bundle(loc,JACKPOT) - else - for(var/i = 0, i < 5, i++) - cointype = pick(subtypesof(/obj/item/coin)) - var/obj/item/coin/C = new cointype(loc) - random_step(C, 2, 50) + + new /obj/item/spacecash/bundle(loc, JACKPOT) else if(linelength == 5) visible_message("[src] says, 'Big Winner! You win a thousand credits!'") @@ -280,12 +235,12 @@ give_money(SMALL_PRIZE) else if(linelength == 3) - to_chat(user, "You win three free games!") + to_chat(user, span_notice("You win three free games!")) balance += SPIN_PRICE * 4 money = max(money - SPIN_PRICE * 4, money) else - to_chat(user, "No luck!") + to_chat(user, span_warning("No luck!")) /obj/machinery/computer/slot_machine/proc/get_lines() var/amountthesame @@ -313,37 +268,21 @@ balance += surplus /obj/machinery/computer/slot_machine/proc/give_payout(amount) - if(paymode == CASH) - cointype = /obj/item/spacecash/bundle - else - cointype = obj_flags & EMAGGED ? /obj/item/coin/iron : /obj/item/coin/silver - if(!(obj_flags & EMAGGED)) - amount = dispense(amount, cointype, null, 0) + amount = dispense(amount, null, 0) else var/mob/living/target = locate() in range(2, src) - amount = dispense(amount, cointype, target, 1) + amount = dispense(amount, target, 1) return amount -/obj/machinery/computer/slot_machine/proc/dispense(amount = 0, cointype = /obj/item/coin/silver, mob/living/target, throwit = 0) - if(paymode == CASH) - var/obj/item/spacecash/bundle/H = new /obj/item/spacecash/bundle(loc, amount) - - if(throwit && target) - H.throw_at(target, 3, 10) - else - var/value = coinvalues["[cointype]"] +/obj/machinery/computer/slot_machine/proc/dispense(amount = 0, mob/living/target, throwit = 0) + var/obj/item/spacecash/bundle/credits = new /obj/item/spacecash/bundle(loc, amount) - while(amount >= value) - var/obj/item/coin/C = new cointype(loc) //DOUBLE THE PAIN - amount -= value - if(throwit && target) - C.throw_at(target, 3, 10) - else - random_step(C, 2, 40) + if(throwit && target) + credits.throw_at(target, 3, 10) return amount @@ -353,5 +292,3 @@ #undef BIG_PRIZE #undef SMALL_PRIZE #undef SPIN_PRICE -#undef CASH -#undef COIN diff --git a/code/modules/cargo/packs/civilian.dm b/code/modules/cargo/packs/civilian.dm index c6f95ac50def..6db849a6fa37 100644 --- a/code/modules/cargo/packs/civilian.dm +++ b/code/modules/cargo/packs/civilian.dm @@ -229,6 +229,13 @@ contains = list(/obj/machinery/jukebox) crate_name = "Jukebox" +/datum/supply_pack/civilian/roulette + name = "Roulette Table" + desc = "Go all in with this premium, computerized roulette table! Requires a valid cash card to play." + cost = 5000 + contains = list(/obj/machinery/roulette) + crate_name = "roulette table crate" + /datum/supply_pack/civilian/id_crate name = "Box of Spare IDs" desc = "A box of spare IDs for replacing a lost ID." diff --git a/tgui/packages/tgui/interfaces/MiningVendor.js b/tgui/packages/tgui/interfaces/MiningVendor.js index 3d35dc4433a1..700ee05d2df9 100644 --- a/tgui/packages/tgui/interfaces/MiningVendor.js +++ b/tgui/packages/tgui/interfaces/MiningVendor.js @@ -19,9 +19,9 @@ export const MiningVendor = (props, context) => { )) || ( - No registered ID card! + No registered cash card!
- Please contact your local HoP! + Please contact your local bank!
)} diff --git a/tgui/packages/tgui/interfaces/Roulette.js b/tgui/packages/tgui/interfaces/Roulette.js index 53a59a92d197..54357c446891 100644 --- a/tgui/packages/tgui/interfaces/Roulette.js +++ b/tgui/packages/tgui/interfaces/Roulette.js @@ -338,7 +338,7 @@ export const RouletteBetTable = (props, context) => { { - Swipe an ID card with a connected account to spin! + Swipe a cash card with a connected account to spin! diff --git a/tgui/packages/tgui/interfaces/Vending.js b/tgui/packages/tgui/interfaces/Vending.js index b46d1b46c5d7..e9a316eb7868 100644 --- a/tgui/packages/tgui/interfaces/Vending.js +++ b/tgui/packages/tgui/interfaces/Vending.js @@ -123,9 +123,9 @@ export const Vending = (props, context) => { )) || ( - No registered ID card! + No registered cash card!
- Please contact your local HoP! + Please contact your local bank!
)} From a229eeb80170ec74a8d1acada14af47869166e02 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 23 Jan 2025 23:56:03 -0600 Subject: [PATCH 151/330] Automatic changelog generation for PR #3917 [ci skip] --- html/changelogs/AutoChangeLog-pr-3917.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3917.yml diff --git a/html/changelogs/AutoChangeLog-pr-3917.yml b/html/changelogs/AutoChangeLog-pr-3917.yml new file mode 100644 index 000000000000..0ef63ccec725 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3917.yml @@ -0,0 +1,14 @@ +author: Geoengi +changes: + - {rscadd: Roulette tables can be bought at cargo for the low price of 5000 credits!} + - {bugfix: Fixed persistent overlays on roulette tables and requires them to be + powered to function.} + - {bugfix: Roulette tables now pay out when betting zero.} + - {tweak: Owners of roulette tables are the only ones who can bolt or unbolt them.} + - {tweak: Slot machines don't announce who won a jackpot where.} + - {tweak: Replaced references to ID cards with cash cards where applicable.} + - {tweak: The roulette beacon now has an activation sound.} + - {spellcheck: The roulette beacon's description reads better.} + - {code_imp: Slot machines no longer accept material coins due to them nuking the + server if withdrawn.} +delete-after: true From 8df3884897bdf85311eeb64dc7a8f50f4fd35bff Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Thu, 23 Jan 2025 23:46:07 -0600 Subject: [PATCH 152/330] Removes an extra arg and formats set_sleeping proc name correctly (#4050) ## About The Pull Request See above ## Why It's Good For The Game consistency with other set_# and following the proc naming standard. And that extra arg did nothing ## Changelog :cl: refactor: SetSleeping to set_sleeping refactor: Removed redundant arg from set_sleeping call /:cl: --- code/datums/martial/boxing.dm | 2 +- code/datums/martial/cqc.dm | 4 ++-- code/game/machinery/cryopod.dm | 6 +++--- code/game/mecha/mecha.dm | 2 +- code/game/objects/items/hot_potato.dm | 2 +- code/modules/antagonists/changeling/powers/adrenaline.dm | 2 +- code/modules/flufftext/Hallucination.dm | 2 +- code/modules/mining/fulton.dm | 2 +- code/modules/mob/living/death.dm | 2 +- code/modules/mob/living/emote.dm | 2 +- code/modules/mob/living/living.dm | 4 ++-- code/modules/mob/living/status_procs.dm | 4 ++-- code/modules/reagents/chemistry/reagents/drink_reagents.dm | 4 ++-- .../reagents/chemistry/reagents/medicine_reagents.dm | 2 +- code/modules/reagents/chemistry/reagents/other_reagents.dm | 2 +- code/modules/surgery/organs/vocal_cords.dm | 2 +- 16 files changed, 22 insertions(+), 22 deletions(-) diff --git a/code/datums/martial/boxing.dm b/code/datums/martial/boxing.dm index fb7a6293922c..1e76e9068560 100644 --- a/code/datums/martial/boxing.dm +++ b/code/datums/martial/boxing.dm @@ -44,7 +44,7 @@ "You're knocked unconscious by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) to_chat(A, "You knock [D] out with a haymaker!") D.apply_effect(200,EFFECT_KNOCKDOWN,armor_block) - D.SetSleeping(100) + D.set_sleeping(100) log_combat(A, D, "knocked out (boxing) ") return 1 diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm index 01730aa9f598..b43ed03d74b9 100644 --- a/code/datums/martial/cqc.dm +++ b/code/datums/martial/cqc.dm @@ -73,7 +73,7 @@ "You're knocked unconscious by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) to_chat(A, "You kick [D]'s head, knocking [D.p_them()] out!") playsound(get_turf(A), 'sound/weapons/genhit1.ogg', 50, TRUE, -1) - D.SetSleeping(300) + D.set_sleeping(300) D.adjustOrganLoss(ORGAN_SLOT_BRAIN, 15, 150) return TRUE @@ -199,7 +199,7 @@ D.visible_message("[A] puts [D] into a chokehold!", \ "You're put into a chokehold by [A]!", "You hear shuffling and a muffled groan!", null, A) to_chat(A, "You put [D] into a chokehold!") - D.SetSleeping(400) + D.set_sleeping(400) restraining = FALSE if(A.grab_state < GRAB_NECK && !HAS_TRAIT(A, TRAIT_PACIFISM)) A.setGrabState(GRAB_NECK) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 4b3c7a8eae08..07ec932195c6 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -218,7 +218,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/retro, 17) playsound(src, close_sound, 40) /obj/machinery/cryopod/proc/apply_effects_to_mob(mob/living/carbon/sleepyhead) - sleepyhead.SetSleeping(50) + sleepyhead.set_sleeping(50) to_chat(sleepyhead, "You begin to wake from cryosleep...") /obj/machinery/cryopod/open_machine() @@ -443,7 +443,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/retro, 17) /obj/machinery/cryopod/apply_effects_to_mob(mob/living/carbon/sleepyhead) //it always sucks a little to get up sleepyhead.set_nutrition(200) - sleepyhead.SetSleeping(60) + sleepyhead.set_sleeping(60) var/wakeupmessage = "The cryopod shudders as the pneumatic seals separating you and the waking world let out a hiss." if(prob(60)) @@ -463,7 +463,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/retro, 17) /obj/machinery/cryopod/poor/apply_effects_to_mob(mob/living/carbon/sleepyhead) sleepyhead.set_nutrition(200) - sleepyhead.SetSleeping(80) + sleepyhead.set_sleeping(80) if(prob(90)) //suffer sleepyhead.apply_effect(rand(5,15), EFFECT_DROWSY) if(prob(75)) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 332f14557786..9eb7bcf61914 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -178,7 +178,7 @@ /obj/mecha/Destroy() if(occupant && iscarbon(occupant)) - occupant.SetSleeping(destruction_sleep_duration) + occupant.set_sleeping(destruction_sleep_duration) go_out() var/mob/living/silicon/ai/AI for(var/mob/M in src) //Let's just be ultra sure diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index e3f21a70463e..328ac9cd3b9b 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -73,7 +73,7 @@ var/mob/living/L = loc L.SetStun(0) L.SetKnockdown(0) - L.SetSleeping(0) + L.set_sleeping(0) L.SetImmobilized(0) L.SetParalyzed(0) L.SetUnconscious(0) diff --git a/code/modules/antagonists/changeling/powers/adrenaline.dm b/code/modules/antagonists/changeling/powers/adrenaline.dm index bf11ef4f9a53..53561c04daed 100644 --- a/code/modules/antagonists/changeling/powers/adrenaline.dm +++ b/code/modules/antagonists/changeling/powers/adrenaline.dm @@ -12,7 +12,7 @@ /datum/action/changeling/adrenaline/sting_action(mob/living/user) ..() to_chat(user, "Energy rushes through us.[(!(user.mobility_flags & MOBILITY_STAND)) ? " We arise." : ""]") - user.SetSleeping(0) + user.set_sleeping(0) user.SetUnconscious(0) user.SetStun(0) user.SetKnockdown(0) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 111ce9a321ab..8f0f905a2821 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -57,7 +57,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( /datum/hallucination/proc/wake_and_restore() target.set_screwyhud(SCREWYHUD_NONE) - target.SetSleeping(0) + target.set_sleeping(0) /datum/hallucination/Destroy() target.investigate_log("was afflicted with a hallucination of type [type] by [natural?"hallucination status":"an external source"]. [feedback_details]", INVESTIGATE_HALLUCINATIONS) diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm index 5d4db89f59d1..177df7aa0bfe 100644 --- a/code/modules/mining/fulton.dm +++ b/code/modules/mining/fulton.dm @@ -115,7 +115,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) var/mob/living/carbon/human/L = A L.SetUnconscious(0) L.drowsyness = 0 - L.SetSleeping(0) + L.set_sleeping(0) sleep(30) var/list/flooring_near_beacon = list() for(var/turf/open/floor in orange(1, beacon)) diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 0687d90da75b..e4fae7448ffd 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -70,7 +70,7 @@ add_to_dead_mob_list() set_drugginess(0) set_disgust(0) - SetSleeping(0, 0) + set_sleeping(0) reset_perspective(null) reload_fullscreen() update_action_buttons_icon() diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index f4042464f981..8fcfa3f20e44 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -149,7 +149,7 @@ . = ..() if(. && isliving(user)) var/mob/living/L = user - L.SetSleeping(200) + L.set_sleeping(200) /datum/emote/living/flap key = "flap" diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index ba9b99822600..75357a3e7b43 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -457,7 +457,7 @@ return else if(alert(src, "You sure you want to sleep for a while?", "Sleep", "Yes", "No") == "Yes") - SetSleeping(400) //Short nap + set_sleeping(400) //Short nap /mob/proc/get_contents() @@ -673,7 +673,7 @@ SetKnockdown(0) SetImmobilized(0) SetParalyzed(0) - SetSleeping(0) + set_sleeping(0) setStaminaLoss(0) SetUnconscious(0) diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm index d60755693489..af9a4143c30f 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -306,7 +306,7 @@ S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount) return S -/mob/living/proc/SetSleeping(amount) //Sets remaining duration +/mob/living/proc/set_sleeping(amount) //Sets remaining duration if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount) & COMPONENT_NO_STUN) return var/datum/status_effect/incapacitating/sleeping/S = IsSleeping() @@ -329,7 +329,7 @@ S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount) return S -///Allows us to set a permanent sleep on a player (use with caution and remember to unset it with SetSleeping() after the effect is over) +///Allows us to set a permanent sleep on a player (use with caution and remember to unset it with set_sleeping() after the effect is over) /mob/living/proc/PermaSleeping() if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, -1) & COMPONENT_NO_STUN) return diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index fd8c8d47d451..6fbf69cfa5c5 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -638,7 +638,7 @@ /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.set_sleeping(0) M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(), FALSE) if(M.getBruteLoss() && prob(20)) M.heal_bodypart_damage(1,0, 0) @@ -663,7 +663,7 @@ /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.set_sleeping(0) M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(), FALSE) if(M.getBruteLoss() && prob(20)) M.heal_bodypart_damage(1,0, 0) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 0369b5ee711b..6852aa968834 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -57,7 +57,7 @@ M.stuttering = 0 M.slurring = 0 M.confused = 0 - M.SetSleeping(0) + M.set_sleeping(0) M.jitteriness = 0 if(M.blood_volume < BLOOD_VOLUME_NORMAL) M.blood_volume = BLOOD_VOLUME_NORMAL diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 4aaf6970f28e..e1d861a64b0f 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2352,7 +2352,7 @@ worthy = TRUE L.visible_message("Grips their head and dances around, collapsing to the floor!", \ "Visions of a realm BYOND your own flash across your eyes, before it all goes black...") - addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, SetSleeping), 40 SECONDS), 10 SECONDS) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, set_sleeping), 40 SECONDS), 10 SECONDS) addtimer(CALLBACK(L.reagents, TYPE_PROC_REF(/datum/reagents, remove_reagent), src.type, src.volume,), 10 SECONDS) return diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 4c69dd532a89..85c995048c2f 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -253,7 +253,7 @@ cooldown = COOLDOWN_DAMAGE for(var/V in listeners) var/mob/living/L = V - L.SetSleeping(0) + L.set_sleeping(0) //HEAL else if((findtext(message, heal_words))) From ad92dfe2320070097ee5e803bdfc2a200d853808 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 24 Jan 2025 00:07:20 -0600 Subject: [PATCH 153/330] Automatic changelog generation for PR #4050 [ci skip] --- html/changelogs/AutoChangeLog-pr-4050.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4050.yml diff --git a/html/changelogs/AutoChangeLog-pr-4050.yml b/html/changelogs/AutoChangeLog-pr-4050.yml new file mode 100644 index 000000000000..7fd36a6b02c9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4050.yml @@ -0,0 +1,5 @@ +author: FalloutFalcon +changes: + - {refactor: SetSleeping to set_sleeping} + - {refactor: Removed redundant arg from set_sleeping call} +delete-after: true From a9b35eb28122aa95b1dab1432cbc0f1e289325fd Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 24 Jan 2025 14:43:48 -0500 Subject: [PATCH 154/330] New Ship: Nimbus-Class Caravel (#3976) ## About The Pull Request Adds a new Cybersun ship ![image](https://github.com/user-attachments/assets/ddcb8b5f-4362-4103-a045-ad5f5f5f6ff6) ![image](https://github.com/user-attachments/assets/92c47101-0596-4995-82c0-69dde8101d51) ![image](https://github.com/user-attachments/assets/d9c74d5c-f4e5-45f2-ab60-6a167796baea) The Nimbus-class is a small generalist ship designed for Cybersun. It's supposed to be a flighty little run around and shoot trouble ship. - bad med - decent living space - central design - good equipment - okay engineering ## Why It's Good For The Game Small ship that people can play on with a hook into the gameplay loop? Exquisite. ## Changelog :cl: add: Cybersun's newest doohickey, the Nimbus-Class Caravel, is now on sale in the Frontier. /:cl: --- _maps/configs/cybersun_nimbus.json | 40 + _maps/shuttles/cybersun/cybersun_nimbus.dmm | 3545 +++++++++++++++++++ code/game/objects/structures/safe.dm | 5 +- 3 files changed, 3588 insertions(+), 2 deletions(-) create mode 100644 _maps/configs/cybersun_nimbus.json create mode 100644 _maps/shuttles/cybersun/cybersun_nimbus.dmm diff --git a/_maps/configs/cybersun_nimbus.json b/_maps/configs/cybersun_nimbus.json new file mode 100644 index 000000000000..861976a5c61a --- /dev/null +++ b/_maps/configs/cybersun_nimbus.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "712-Y Nimbus-class Caravel", + "faction": "/datum/faction/syndicate/cybersun", + "prefix": "CSSV", + "manufacturer": "ISF Spacecraft", + "map_short_name": "Nimbus-Class", + "description": "An extremely compact vessel designed by Cybersun and manufactured by ISF Spacecraft for the civilian market. The Nimbus makes use of high quality components and professional craftsmanship to deliver an incomparably smooth flying experience. That is at the least, what advertisements claim. Most pilots praise the speed and manueverability, but have found the vessel's internal workings to require extensive work to access and modify, making the Nimbus an easy choice for people who don't have to modify their own craft.", + "tags": [ + "Combat", + "Engineering", + "Specialist" + ], + "map_path": "_maps/shuttles/cybersun/cybersun_nimbus.dmm", + "namelists": [ + "SPACE", + "BEASTS" + ], + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/syndicate/captain/cybersun", + "officer": true, + "slots": 1 + }, + "Troubleshooter": { + "outfit": "/datum/outfit/job/syndicate/miner/cybersun", + "officer": true, + "slots": 2 + }, + "Technician": { + "outfit": "/datum/outfit/job/syndicate/engineer/cybersun", + "slots": 1 + }, + "Ship's Aide": { + "outfit": "/datum/outfit/job/syndicate/assistant/cybersun", + "slots": 1 + } + }, + "enabled": true +} diff --git a/_maps/shuttles/cybersun/cybersun_nimbus.dmm b/_maps/shuttles/cybersun/cybersun_nimbus.dmm new file mode 100644 index 000000000000..603df6567a27 --- /dev/null +++ b/_maps/shuttles/cybersun/cybersun_nimbus.dmm @@ -0,0 +1,3545 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"af" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/cargo) +"ag" = ( +/obj/structure/cable/cyan{ + 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/crew/dorm) +"at" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "zengine1"; + dir = 4 + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"aK" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/half{ + dir = 8 + }, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/medical{ + pixel_x = -4 + }, +/obj/item/hypospray/mkii/tricord{ + pixel_x = 7; + pixel_y = 2 + }, +/obj/item/reagent_containers/glass/bottle/vial/large/preloaded/tricord, +/obj/item/reagent_containers/glass/bottle/vial/large/preloaded/tricord{ + pixel_x = -8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) +"aL" = ( +/obj/structure/closet/cabinet, +/obj/item/storage/backpack/duffelbag/syndie{ + pixel_y = 9; + pixel_x = -4 + }, +/obj/item/storage/backpack/duffelbag/syndie{ + pixel_y = 14; + pixel_x = 4 + }, +/obj/item/storage/backpack{ + pixel_x = -4; + pixel_y = -3 + }, +/obj/item/storage/backpack{ + pixel_x = 5; + pixel_y = 0 + }, +/obj/item/storage/backpack/satchel{ + pixel_x = -4; + pixel_y = -9 + }, +/obj/item/storage/backpack/satchel{ + pixel_x = 5; + pixel_y = -6 + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/dorm) +"aQ" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/black, +/obj/machinery/firealarm/directional/west, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"aR" = ( +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 9; + color = "#FFFFFF" + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/violet/hidden{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"bI" = ( +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"ck" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "2-4" + }, +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + 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/black{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"cx" = ( +/obj/structure/chair/sofa/blue/corpo/corner/directional/south, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"cX" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"cY" = ( +/obj/structure/rack, +/obj/item/mop/advanced{ + pixel_y = 1; + pixel_x = -2 + }, +/obj/item/pushbroom{ + pixel_y = -5; + pixel_x = 2 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_y = 14; + pixel_x = -4 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_y = 9; + pixel_x = -9 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/ccommons) +"dn" = ( +/obj/structure/closet/secure_closet/engineering_electrical{ + populate = 0 + }, +/obj/item/stack/tape/industrial/electrical{ + pixel_y = -8; + pixel_x = -6 + }, +/obj/item/stack/tape/industrial/electrical{ + pixel_x = -8 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = -5; + pixel_x = 8 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = -10; + pixel_x = 8 + }, +/obj/item/multitool{ + pixel_x = -8; + pixel_y = -7 + }, +/obj/item/stack/cable_coil/cyan{ + pixel_y = 4 + }, +/obj/item/stack/cable_coil/cyan{ + pixel_y = 7 + }, +/obj/item/multitool{ + pixel_x = -8; + pixel_y = -7 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = -1 + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engine) +"dL" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"en" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 10 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -10; + pixel_x = -22; + name = "EVA Access"; + id = "zeva" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"eq" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"eK" = ( +/obj/machinery/door/airlock/external/glass, +/obj/machinery/door/poddoor/shutters{ + id = "zeva" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"eY" = ( +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor/shutters{ + id = "zbridge"; + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"fk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber, +/turf/open/floor/engine/hull, +/area/ship/engineering/engine) +"fl" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 2; + color = "#FFFFFF" + }, +/obj/structure/railing/thin{ + dir = 8 + }, +/obj/structure/railing/thin{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/ship/cargo) +"fv" = ( +/obj/structure/chair/sofa/blue/corpo/directional/south, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"fx" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/hatch{ + name = "Gear Room"; + close_speed = 100 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"fF" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 1 + }, +/obj/structure/cable/cyan{ + 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/black{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"fH" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_y = 27 + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/power/ship_gravity, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engine) +"fO" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"ge" = ( +/obj/structure/platform/ship_two, +/obj/structure/railing/thin, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/trimline/opaque/cybersunteal, +/obj/item/radio/intercom/directional/east{ + pixel_y = 5 + }, +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) +"gX" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"hp" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"hy" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/structure/cable/cyan, +/obj/machinery/door/poddoor/shutters{ + id = "zeva" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"hJ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 1 + }, +/obj/structure/grille, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"hM" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock{ + name = "Living Compartment"; + dir = 8; + close_speed = 100 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + 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, +/area/ship/crew/ccommons) +"hY" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"ig" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/transparent/syndiered/line{ + dir = 10 + }, +/obj/machinery/light/directional/west, +/obj/item/kirbyplants{ + icon_state = "plant-17"; + pixel_y = 8; + pixel_x = -7 + }, +/obj/item/paper_bin{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/pen/edagger{ + pixel_y = 5; + pixel_x = 2 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) +"ij" = ( +/obj/structure/platform/ship_two, +/obj/structure/railing/thin, +/obj/structure/crate_shelf, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/trimline/opaque/cybersunteal, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) +"it" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "zcouch" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"jQ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"jS" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/machinery/holopad/secure, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"jU" = ( +/obj/machinery/computer/cryopod/directional/north, +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/structure/closet/wall/directional/east{ + name = "radio locker" + }, +/obj/item/radio{ + pixel_y = 11; + pixel_x = 10 + }, +/obj/item/radio{ + pixel_y = 11; + pixel_x = 1 + }, +/obj/item/radio{ + pixel_y = 11; + pixel_x = -8 + }, +/obj/item/radio{ + pixel_y = 3; + pixel_x = 10 + }, +/obj/item/radio{ + pixel_y = 3; + pixel_x = -8 + }, +/obj/item/radio{ + pixel_y = 3; + pixel_x = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/dorm) +"kB" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "zcouch" + }, +/obj/structure/cable/cyan, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"lp" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 1 + }, +/obj/structure/grille, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"lB" = ( +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"lE" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"lH" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "zcouch" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"lK" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"lM" = ( +/obj/structure/sign/number/one, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"mD" = ( +/obj/structure/sign/number/one{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"mI" = ( +/obj/structure/cable/cyan, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor/shutters{ + id = "zbridge"; + dir = 2 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"nq" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/structure/cable/cyan, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "zkitchen" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"nt" = ( +/obj/structure/cable/cyan, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -18 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"nv" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters{ + id = "zcouch" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"nE" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm) +"nQ" = ( +/obj/structure/closet/wall/directional/south, +/obj/item/tank/internals/oxygen/red{ + pixel_x = 5 + }, +/obj/item/tank/internals/oxygen/red{ + pixel_y = -7; + pixel_x = 9 + }, +/obj/item/clothing/suit/space/eva{ + pixel_y = -6; + pixel_x = -8 + }, +/obj/item/clothing/head/helmet/space/eva{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/crew/ccommons) +"oq" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"ot" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 2; + color = "#FFFFFF" + }, +/obj/structure/railing/thin{ + dir = 4 + }, +/obj/structure/railing/thin{ + dir = 8 + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/ship/cargo) +"oY" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning, +/obj/structure/grille, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"pa" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/cargo) +"pq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/cargo) +"pL" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/trimline/opaque/cybersunteal, +/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) +"pU" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north{ + pixel_x = -6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/item/radio/intercom/directional/north{ + pixel_x = 5 + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/bridge) +"qj" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/ccommons) +"ql" = ( +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/industrial/warning{ + dir = 10; + color = "#FFFFFF" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"qo" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/food/snacks/vegetariansushiroll{ + pixel_y = 4 + }, +/obj/item/cutting_board{ + pixel_y = 2 + }, +/obj/item/kitchen/fork{ + pixel_y = 9; + pixel_x = -14; + name = "sushi fork" + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/ccommons) +"rb" = ( +/obj/structure/chair/sofa/blue/corpo/right/directional/east, +/obj/machinery/computer/helm/viewscreen/directional/west{ + pixel_y = -5 + }, +/obj/item/radio/intercom/directional/west{ + pixel_y = 16; + pixel_x = -32 + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"rd" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock{ + name = "Dormitory" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm) +"rp" = ( +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/industrial/warning/fulltile{ + color = "#FFFFFF" + }, +/obj/structure/sign/poster/contraband/cybersun_med{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engine) +"rG" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 4 + }, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/black/three_quarters{ + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"rI" = ( +/obj/effect/turf_decal/isf_small{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"rL" = ( +/obj/structure/chair/sofa/blue/corpo/left/directional/west, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"rP" = ( +/obj/structure/platform/ship_two, +/obj/machinery/computer/cargo{ + dir = 1; + icon_state = "computer-middle" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) +"rV" = ( +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/trimline/transparent/syndiered/line{ + dir = 5 + }, +/obj/structure/table/glass, +/obj/structure/closet/secure_closet/wall/directional/north{ + icon_state = "solgov_wall"; + name = "captain's locker"; + req_access_txt = "20" + }, +/obj/item/binoculars{ + pixel_y = 10; + pixel_x = 5 + }, +/obj/item/clothing/suit/armor/vest/capcarapace/cybersun{ + pixel_y = 0; + pixel_x = -5 + }, +/obj/item/clothing/suit/cybersun_suit{ + pixel_x = -6 + }, +/obj/item/clothing/under/syndicate/cybersun/officer{ + pixel_x = 8 + }, +/obj/item/clothing/shoes/jackboots{ + pixel_y = -7 + }, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/head/HoS/cybersun{ + pixel_y = 8 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -12 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) +"sl" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/cargo) +"sA" = ( +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + icon_state = "2-4" + }, +/obj/machinery/door/poddoor{ + id = "zcd" + }, +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + name = "Nimbus-class"; + port_direction = 8; + preferred_direction = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"sU" = ( +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + icon_state = "6-8" + }, +/obj/effect/turf_decal/trimline/transparent/syndiered/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/bridge) +"tf" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning, +/obj/structure/grille, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/cable/cyan, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"tg" = ( +/obj/machinery/recharge_station, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/dorm) +"tj" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"tk" = ( +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"tp" = ( +/obj/structure/sign/warning/vacuum{ + pixel_y = 24 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller/directional/east, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/crew/ccommons) +"tP" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 1 + }, +/obj/structure/grille, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"tQ" = ( +/obj/structure/chair/bench/red/directional/south{ + pixel_y = 8 + }, +/obj/structure/noticeboard{ + pixel_y = 26 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"ud" = ( +/obj/machinery/door/airlock/external/glass, +/obj/machinery/door/poddoor/shutters{ + id = "zeva" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"ug" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/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, +/obj/machinery/atmospherics/components/trinary/filter/atmos/n2, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"vd" = ( +/obj/structure/table/glass, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/item/kirbyplants{ + icon_state = "plant-15"; + pixel_y = 12 + }, +/obj/item/reagent_containers/condiment/soysauce{ + pixel_x = 10; + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/ccommons) +"vu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/closet/wall/directional/south{ + name = "clothing locker" + }, +/obj/item/clothing/head/soft/cybersun{ + pixel_y = 9; + pixel_x = -7 + }, +/obj/item/clothing/head/soft/cybersun{ + pixel_y = 9; + pixel_x = 7 + }, +/obj/item/clothing/head/soft/cybersun{ + pixel_y = 9 + }, +/obj/item/clothing/under/syndicate/cybersun{ + pixel_x = 9; + pixel_y = -5 + }, +/obj/item/clothing/under/syndicate/cybersun{ + pixel_x = -8; + pixel_y = -5 + }, +/obj/item/clothing/under/syndicate/cybersun{ + pixel_y = -5 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -9; + pixel_x = 9 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -9; + pixel_x = -9 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"vD" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/engineering/engine) +"vH" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, +/obj/machinery/door/poddoor/shutters{ + id = "zengine2"; + dir = 2 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"vI" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "zcouch" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"vL" = ( +/obj/structure/cable/cyan, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -12 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"vT" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/line{ + dir = 9 + }, +/obj/machinery/light/directional/west, +/obj/structure/filingcabinet/double, +/obj/machinery/airalarm/directional/north, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/clipboard, +/obj/item/clipboard, +/obj/item/pen, +/obj/item/pen, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) +"wg" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 1 + }, +/obj/structure/grille, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"wM" = ( +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/structure/cable/cyan, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor/shutters{ + id = "zbridge"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"xc" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"xe" = ( +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/fulltile{ + color = "#FFFFFF" + }, +/obj/structure/closet/wall/orange/directional/north{ + name = "technician's closet" + }, +/obj/item/clothing/under/syndicate/cybersun/research{ + pixel_y = 9 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = 1 + }, +/obj/item/clothing/head/soft/cybersun{ + pixel_y = 9; + pixel_x = 4 + }, +/obj/item/storage/toolbox/syndicate{ + pixel_y = 6 + }, +/obj/item/storage/belt/utility/syndicate, +/obj/item/clothing/gloves/combat{ + pixel_y = 5 + }, +/obj/item/clothing/glasses/welding{ + pixel_y = 13; + pixel_x = -6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"xM" = ( +/obj/structure/chair/sofa/blue/corpo/corner/directional/east, +/obj/machinery/button/door{ + pixel_x = -23; + pixel_y = 9; + dir = 4; + name = "window shutters"; + id = "zcouch" + }, +/obj/machinery/button/door{ + pixel_x = -23; + pixel_y = -2; + dir = 4; + name = "window shutters"; + id = "zcouch2" + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"xU" = ( +/obj/structure/toilet{ + pixel_y = 11 + }, +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/curtain/cloth/fancy, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/cargo) +"xW" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/hatch{ + name = "Janitorial Supplies" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"zi" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"zJ" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = -8; + pixel_x = 22 + }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"zK" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/hatch{ + color = "#730622"; + alpha = 255 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 9; + color = "#FFFFFF" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/dorm) +"zM" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"zV" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security/armory) +"AT" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "zkitchen" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"AW" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 22 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"AX" = ( +/obj/structure/cable/cyan{ + 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{ + dir = 8; + name = "Bridge"; + close_speed = 100 + }, +/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/bridge) +"Bi" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "zengine2"; + dir = 4 + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Bk" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor/shutters{ + id = "zcouch2"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/cargo) +"CE" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/structure/cable/cyan, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters{ + id = "zeva" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"CF" = ( +/obj/effect/turf_decal/box/white, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/tank/jetpack, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/structure/sign/poster/contraband/c20r{ + pixel_y = -28 + }, +/obj/item/clothing/suit/space/syndicate/black/red, +/obj/item/clothing/head/helmet/space/syndicate/black/red, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Df" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Dr" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning, +/obj/structure/grille, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Ds" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/warning/fulltile{ + color = "#FFFFFF" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engine) +"Dv" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "zengine2"; + dir = 4 + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Es" = ( +/obj/structure/sign/number/seven, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"EP" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "zengine1"; + dir = 4 + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Fa" = ( +/obj/structure/chair/bench/blue/directional/west, +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 6 + }, +/obj/structure/cable/cyan{ + 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/corner/opaque/black{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"Fe" = ( +/obj/structure/table/chem, +/obj/structure/closet/secure_closet/wall/directional/west{ + icon_state = "sec_wall"; + name = "weapons closet"; + req_access_txt = "48" + }, +/obj/item/storage/guncase/pistol/rattlesnake, +/obj/item/storage/guncase/pistol/rattlesnake{ + pixel_y = 6 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -5; + pixel_y = 8 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -5; + pixel_y = -1 + }, +/obj/machinery/cell_charger{ + pixel_y = 6; + pixel_x = 1 + }, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Ff" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/line, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + pixel_x = 10; + name = "window shutters"; + id = "zbridge" + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/bridge) +"Fq" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/cargo) +"Fw" = ( +/obj/structure/table/chem, +/obj/structure/closet/wall/white/directional/west, +/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/item/reagent_containers/food/snacks/fishmeat/carp, +/obj/item/reagent_containers/food/snacks/grown/seaweed/sheet, +/obj/item/reagent_containers/food/snacks/grown/seaweed/sheet, +/obj/item/reagent_containers/food/snacks/grown/seaweed/sheet, +/obj/item/reagent_containers/food/snacks/grown/seaweed/sheet, +/obj/item/reagent_containers/food/snacks/grown/seaweed/sheet, +/obj/item/reagent_containers/food/snacks/grown/seaweed/sheet, +/obj/item/reagent_containers/condiment/rice{ + pixel_y = 9 + }, +/obj/item/reagent_containers/condiment/rice{ + pixel_y = 9; + pixel_x = -5 + }, +/obj/item/cutting_board{ + pixel_y = 8; + pixel_x = 2 + }, +/obj/item/melee/knife/kitchen, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/ccommons) +"FH" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/trinary/mixer/airmix/inverse, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"FL" = ( +/obj/structure/cable/cyan{ + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, +/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/dark, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Gb" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -12 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"Gi" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters{ + id = "zkitchen" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"Gp" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"Gu" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/obj/item/radio/intercom/directional/south{ + pixel_x = -4 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"GQ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 8 + }, +/obj/structure/cable/cyan{ + 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/black{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"Hc" = ( +/obj/machinery/door/airlock/hatch, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"Hu" = ( +/obj/structure/closet/secure_closet/engineering_welding{ + populate = 0 + }, +/obj/item/weldingtool/electric{ + pixel_y = -4; + pixel_x = -4 + }, +/obj/item/weldingtool/electric{ + pixel_y = -4; + pixel_x = 4 + }, +/obj/item/stock_parts/cell/high{ + pixel_x = 9; + pixel_y = -10 + }, +/obj/item/stock_parts/cell/high{ + pixel_y = -4; + pixel_x = 9 + }, +/obj/item/stock_parts/cell/high{ + pixel_y = 2; + pixel_x = 9 + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 + }, +/obj/item/clothing/glasses/welding{ + pixel_y = 13; + pixel_x = -6 + }, +/obj/item/clothing/glasses/welding{ + pixel_y = 7; + pixel_x = -6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engine) +"HB" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "zkitchen" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"HK" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Engineering Compartment"; + close_speed = 100 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + 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/ship/crew/ccommons) +"HW" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"If" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 10 + }, +/obj/structure/cable/cyan{ + 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/opaque/black{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"Ix" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"IP" = ( +/obj/structure/sign/number/two{ + dir = 1 + }, +/obj/structure/cable/cyan, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"IQ" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"IW" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/bridge) +"Jf" = ( +/obj/effect/turf_decal/box/white, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/tank/jetpack, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/machinery/airalarm/directional/north, +/obj/item/clothing/suit/space/syndicate/black/red, +/obj/item/clothing/head/helmet/space/syndicate/black/red, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Jo" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 1 + }, +/obj/structure/cable/cyan{ + 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/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"Jw" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor/shutters{ + id = "zbridge2"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"JF" = ( +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/industrial/warning/fulltile{ + color = "#FFFFFF" + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"Kf" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"Kr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/dorm) +"KF" = ( +/obj/effect/spawner/bunk_bed{ + dir = 1 + }, +/obj/structure/curtain/cloth/fancy, +/obj/structure/rack, +/obj/structure/sign/poster/contraband/cybersun{ + pixel_x = -28 + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/dorm) +"KN" = ( +/obj/structure/sign/number/seven{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"KT" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/bridge) +"KU" = ( +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "zcs" + }, +/obj/machinery/door/poddoor{ + id = "zcd" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"La" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 12; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 3; + pixel_x = -1 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 12; + pixel_x = 6 + }, +/obj/item/reagent_containers/food/drinks/bottle/sake{ + pixel_y = 5; + pixel_x = 15 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/ccommons) +"Lq" = ( +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 4 + }, +/obj/machinery/meter/atmos/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"LG" = ( +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"LV" = ( +/obj/machinery/light/directional/west, +/obj/structure/cable/cyan{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal, +/obj/structure/cable/cyan, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Mn" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Mz" = ( +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "zcs" + }, +/obj/machinery/door/poddoor{ + id = "zcd" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"MP" = ( +/obj/structure/sign/number/two, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"MQ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 5 + }, +/obj/structure/cable/cyan{ + 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/effect/turf_decal/corner/opaque/black{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"Ng" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/box/white, +/obj/machinery/firealarm/directional/west, +/obj/machinery/power/terminal, +/obj/item/radio/intercom/directional/north{ + pixel_x = -6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engine) +"Nm" = ( +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/structure/sink{ + dir = 2; + pixel_y = 16 + }, +/obj/structure/closet/wall/directional/west, +/obj/item/towel{ + pixel_y = -3; + pixel_x = 7 + }, +/obj/item/towel{ + pixel_y = -3; + pixel_x = -4 + }, +/obj/item/soap/deluxe{ + pixel_y = 6 + }, +/obj/item/soap/deluxe, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/cargo) +"NU" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/engineering/engine) +"Ob" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/dorm) +"OX" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"OZ" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/transparent/syndiered/line{ + dir = 4 + }, +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-middle" + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) +"Pd" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/dresser, +/obj/item/kirbyplants{ + icon_state = "plant-23"; + pixel_y = 20; + pixel_x = -7 + }, +/obj/item/lipstick/black{ + pixel_y = 8; + pixel_x = 8 + }, +/obj/item/lipstick/purple{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/lipstick{ + pixel_x = -1; + pixel_y = 2 + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/dorm) +"PI" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/cybersunteal/half{ + dir = 4 + }, +/obj/structure/closet/secure_closet/wall/directional/south{ + icon_state = "sec_wall"; + req_access_txt = "48"; + name = "equipment locker" + }, +/obj/item/storage/backpack/duffelbag/syndie/c4, +/obj/item/binoculars{ + pixel_y = 5; + pixel_x = -5 + }, +/obj/item/binoculars{ + pixel_y = 10; + pixel_x = -6 + }, +/obj/item/pickaxe/drill/jackhammer/old{ + pixel_x = 9; + pixel_y = 3 + }, +/obj/item/attachment/energy_bayonet, +/obj/item/attachment/energy_bayonet{ + pixel_x = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"QV" = ( +/obj/structure/table/chem, +/obj/structure/sink/chem{ + name = "tabletop sink"; + dir = 8; + pixel_y = 4; + pixel_x = 7 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 21; + pixel_y = -11; + name = "window shutters"; + id = "zkitchen" + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -8; + pixel_y = 13 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = 2; + pixel_x = -2 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/ccommons) +"QW" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"Ra" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 5 + }, +/obj/structure/cable/cyan{ + 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/turf_decal/corner/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"Rh" = ( +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/cargo) +"Rm" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal, +/obj/machinery/button/door{ + pixel_y = 23; + pixel_x = -10; + id = "zcd"; + name = "bay door button" + }, +/obj/machinery/button/shieldwallgen{ + pixel_y = 22; + id = "zcs" + }, +/obj/machinery/light/directional/east, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) +"Rs" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, +/obj/machinery/door/poddoor/shutters{ + id = "zengine1"; + dir = 2 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Rz" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = 11; + pixel_x = 22 + }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/components/binary/pump/layer4{ + dir = 1; + name = "Waste to Processing" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"St" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/syndiered/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/bridge) +"Su" = ( +/obj/structure/table/chem, +/obj/machinery/jukebox/boombox{ + pixel_x = -4; + pixel_y = 4; + name = "Mr. Jams" + }, +/obj/machinery/reagentgrinder{ + pixel_y = 7; + pixel_x = 6; + name = "Mr. Blend"; + desc = "From Cybersun Biodynamics. It better blend." + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/ccommons) +"Sy" = ( +/obj/structure/sink{ + dir = 2; + pixel_y = 21; + pixel_x = -8 + }, +/obj/machinery/washing_machine{ + pixel_y = 18; + pixel_x = 9; + density = 0 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/ccommons) +"SK" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/crew/ccommons) +"SN" = ( +/obj/machinery/door/airlock/hatch{ + name = "Restroom" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"SU" = ( +/obj/docking_port/stationary{ + dir = 2; + dwidth = 15; + height = 15; + width = 30 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"SV" = ( +/obj/effect/turf_decal/isf_small/left{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Ti" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/transparent/syndiered/line{ + 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/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/bridge) +"Tj" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"TD" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/bridge) +"TL" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/structure/cable/cyan{ + 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/black{ + dir = 5 + }, +/obj/structure/closet/emcloset/wall/directional/south{ + populate = 0 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 5; + pixel_y = 0 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -4; + pixel_y = -5 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -4; + pixel_y = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"TM" = ( +/obj/structure/table/chem, +/obj/machinery/microwave{ + pixel_y = 5; + name = "Mr. Wave" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/ccommons) +"TR" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"TS" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/line{ + dir = 6 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/suit_storage_unit/inherit, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) +"Uu" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/transparent/syndiered/line{ + dir = 8 + }, +/obj/machinery/button/door{ + pixel_x = -23; + pixel_y = 10; + dir = 4; + name = "window shutters"; + id = "zbridge2" + }, +/obj/item/paper/paperslip{ + name = "safe code"; + default_raw_text = "45,27,54" + }, +/obj/item/pen/fountain/captain{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/item/paper/paperslip{ + name = "safe location"; + default_raw_text = "Check under the grav couch."; + pixel_x = 7; + pixel_y = -5 + }, +/obj/item/crowbar{ + pixel_y = 7; + pixel_x = -3 + }, +/obj/item/radio/intercom/wideband/directional/west{ + pixel_y = -3 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) +"Ux" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"UN" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"UV" = ( +/obj/machinery/power/shuttle/engine/electric/premium, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"UX" = ( +/obj/structure/chair/sofa/blue/corpo/directional/south, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"UZ" = ( +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor/shutters{ + id = "zbridge"; + dir = 2 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Vb" = ( +/obj/effect/turf_decal/box/white, +/obj/machinery/autolathe, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engine) +"Vn" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/line{ + dir = 5 + }, +/obj/machinery/computer/cargo{ + dir = 8; + icon_keyboard = "syndie_key"; + icon_state = "computer-left" + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) +"VD" = ( +/obj/structure/cable/cyan{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/cargo) +"VI" = ( +/turf/template_noop, +/area/template_noop) +"VK" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/transparent/syndiered/line{ + dir = 8 + }, +/obj/machinery/fax/syndicate, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) +"WC" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/components/trinary/filter/atmos/o2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"WR" = ( +/obj/machinery/door/airlock/hatch, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"Xq" = ( +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, +/obj/machinery/airalarm/directional/east{ + pixel_y = -3 + }, +/obj/effect/turf_decal/industrial/warning/fulltile{ + color = "#FFFFFF" + }, +/obj/machinery/button/door{ + dir = 8; + pixel_y = 16; + pixel_x = 22; + name = "window shutters"; + id = "zengine1" + }, +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 6; + pixel_x = 1 + }, +/obj/item/paper/paperslip{ + name = "Distro Instructions"; + default_raw_text = "1. Ensure Filter Function. Filter 1 should be set to filter OXYGEN. Filter 2 should be set to filter NITROGEN
2. Activate external scrubber. Scrub Oxygen/Nitrogen. Ensure temperature of external air does not compromise airmix.
3. Anchor in spare Air Mixture Canister to kickstart system.
4. Activate Distro To Processing Pump to establish recycling loop." + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"XE" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/isf_small/right{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Yr" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/structure/cable/cyan{ + 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/black{ + dir = 5 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"YM" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/machinery/light/directional/east, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/crew/ccommons) +"YR" = ( +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/structure/cable/cyan, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor/shutters{ + id = "zbridge"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"YX" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner/opaque/black, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"Zm" = ( +/obj/structure/cable/cyan{ + icon_state = "4-9" + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "grav couch"; + desc = "A comfortable seat designed to support the pilot during high-g manuevers." + }, +/obj/structure/safe/floor{ + number_of_tumblers = 3; + tumblers = list(45,27,54) + }, +/obj/item/gun/ballistic/automatic/pistol/himehabu/no_mag, +/obj/item/ammo_box/magazine/m22lr_himehabu, +/obj/item/ammo_box/magazine/m22lr_himehabu, +/obj/item/ammo_box/magazine/m22lr_himehabu, +/obj/item/clothing/suit/space/hardsuit/syndi/cybersun, +/obj/item/folder/documents/syndicate/cybersun, +/obj/item/reagent_containers/food/drinks/flask, +/obj/item/reagent_containers/food/drinks/bottle/sake{ + pixel_y = 2 + }, +/turf/open/floor/suns/hatch{ + color = "#E6D2BA" + }, +/area/ship/bridge) +"Zy" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/line{ + dir = 6 + }, +/obj/machinery/computer/card{ + dir = 8; + icon_state = "computer-right" + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) +"ZD" = ( +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/half{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/obj/structure/closet/crate/rations, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) +"ZG" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/engine) +"ZI" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/line, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 5 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"ZZ" = ( +/obj/structure/cable/cyan, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/rack, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, +/obj/effect/turf_decal/industrial/warning/fulltile{ + color = "#FFFFFF" + }, +/obj/item/stack/sheet/metal/ten{ + pixel_x = -3 + }, +/obj/item/stack/sheet/glass/twenty{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_y = -10; + pixel_x = 22; + name = "window shutters"; + id = "zengine2" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/item/stack/sheet/mineral/plasma/ten{ + pixel_y = -6; + pixel_x = 2 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) + +(1,1,1) = {" +VI +VI +VI +VI +VI +VI +LG +VI +VI +VI +VI +VI +LG +VI +VI +VI +VI +VI +VI +"} +(2,1,1) = {" +VI +VI +VI +VI +VI +VI +Mn +NU +ZG +ZG +ZG +NU +Mn +VI +VI +VI +VI +VI +VI +"} +(3,1,1) = {" +VI +VI +VI +VI +VI +UV +ZG +ZG +Ng +Ds +Vb +ZG +ZG +UV +VI +VI +VI +VI +VI +"} +(4,1,1) = {" +VI +lK +LG +NU +hp +EP +ZG +rp +zM +hY +Kf +Hu +ZG +Bi +hp +NU +LG +cX +VI +"} +(5,1,1) = {" +VI +VI +LG +ZG +at +JF +ZG +fH +Lq +FH +tk +dn +ZG +xe +Dv +ZG +LG +VI +VI +"} +(6,1,1) = {" +VI +VI +fk +Rs +Xq +aR +WR +Rz +WC +FL +ug +zJ +Hc +ql +ZZ +vH +vD +VI +VI +"} +(7,1,1) = {" +VI +VI +VI +NU +ZG +qj +qj +qj +qj +HK +qj +qj +qj +qj +ZG +NU +VI +VI +VI +"} +(8,1,1) = {" +VI +VI +VI +VI +qj +qj +cY +qj +aQ +GQ +en +ud +nQ +qj +ZG +VI +VI +VI +VI +"} +(9,1,1) = {" +VI +VI +VI +VI +XE +qj +Sy +xW +Gb +rG +eq +hy +SK +CE +LV +VI +VI +VI +VI +"} +(10,1,1) = {" +VI +VI +VI +lp +rI +qj +qj +qj +qj +fF +TR +qj +tp +eK +bI +tf +VI +VI +VI +"} +(11,1,1) = {" +LG +lK +LG +tP +SV +nv +xM +rb +gX +fF +Gu +qj +qj +qj +LG +Dr +LG +cX +LG +"} +(12,1,1) = {" +VI +lK +LG +hJ +IP +kB +fv +La +OX +Jo +jQ +TM +Fw +Gi +Es +Dr +LG +SU +VI +"} +(13,1,1) = {" +VI +VI +LG +tP +mD +lH +UX +vd +jS +ck +Tj +Gp +IQ +nq +lM +Dr +LG +VI +VI +"} +(14,1,1) = {" +VI +VI +VI +wg +KN +vI +fv +qo +OX +fF +lE +UN +lB +AT +MP +oY +VI +VI +VI +"} +(15,1,1) = {" +VI +VI +VI +VI +Mn +it +cx +rL +YM +Ra +xc +Su +QV +HB +Mn +VI +VI +VI +VI +"} +(16,1,1) = {" +VI +VI +VI +VI +Fq +Fq +Bk +Bk +qj +hM +zV +zV +zV +zV +zV +VI +VI +VI +VI +"} +(17,1,1) = {" +VI +VI +VI +VI +Fq +pL +aK +ij +YX +If +zV +Jf +Fe +CF +zV +VI +VI +VI +VI +"} +(18,1,1) = {" +VI +VI +VI +VI +KU +pq +VD +ot +Ux +tj +fx +dL +vL +PI +zV +VI +VI +VI +VI +"} +(19,1,1) = {" +VI +VI +VI +VI +sA +sl +Rh +rP +fO +Yr +zV +zV +zV +zV +zV +VI +VI +VI +VI +"} +(20,1,1) = {" +VI +VI +VI +VI +Mz +pa +af +fl +zi +QW +nE +KF +Ob +tg +nE +VI +VI +VI +VI +"} +(21,1,1) = {" +VI +VI +lK +LG +Fq +Rm +ZD +ge +HW +ZI +nE +Pd +Kr +aL +nE +LG +cX +VI +VI +"} +(22,1,1) = {" +VI +VI +lK +LG +Fq +Fq +Fq +Fq +AW +oq +rd +ag +nt +nE +nE +LG +cX +VI +VI +"} +(23,1,1) = {" +VI +VI +VI +LG +Ix +Fq +Nm +SN +fO +TL +nE +tQ +vu +nE +Df +LG +VI +VI +VI +"} +(24,1,1) = {" +VI +VI +VI +LG +cX +Fq +xU +Fq +MQ +Fa +nE +jU +zK +nE +lK +LG +VI +VI +VI +"} +(25,1,1) = {" +VI +VI +VI +VI +cX +TD +KT +KT +AX +Jw +KT +KT +KT +TD +lK +VI +VI +VI +VI +"} +(26,1,1) = {" +VI +VI +VI +VI +VI +VI +KT +vT +Ti +VK +Uu +ig +KT +VI +VI +VI +VI +VI +VI +"} +(27,1,1) = {" +VI +VI +VI +VI +VI +VI +KT +rV +sU +IW +St +TS +KT +VI +VI +VI +VI +VI +VI +"} +(28,1,1) = {" +VI +VI +VI +VI +VI +VI +TD +KT +pU +Zm +Ff +KT +TD +VI +VI +VI +VI +VI +VI +"} +(29,1,1) = {" +VI +VI +VI +VI +VI +VI +VI +eY +Vn +OZ +Zy +eY +VI +VI +VI +VI +VI +VI +VI +"} +(30,1,1) = {" +VI +VI +VI +VI +VI +VI +VI +UZ +wM +YR +wM +mI +VI +VI +VI +VI +VI +VI +VI +"} diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 0ea49b44933a..0410c208b65c 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -42,8 +42,9 @@ FLOOR SAFES . = ..() // Combination generation - for(var/i in 1 to number_of_tumblers) - tumblers.Add(rand(0, 99)) + if(!tumblers.len) + for(var/i in 1 to number_of_tumblers) + tumblers.Add(rand(0, 99)) if(!mapload) return From 6155a74aadbddd01ad4cac7443a8c33712ad34ef Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 24 Jan 2025 13:54:14 -0600 Subject: [PATCH 155/330] Automatic changelog generation for PR #3976 [ci skip] --- html/changelogs/AutoChangeLog-pr-3976.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3976.yml diff --git a/html/changelogs/AutoChangeLog-pr-3976.yml b/html/changelogs/AutoChangeLog-pr-3976.yml new file mode 100644 index 000000000000..fe5faa620ff4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3976.yml @@ -0,0 +1,5 @@ +author: Erikafox +changes: + - {rscadd: "Cybersun's newest doohickey, the Nimbus-Class Caravel, is now on sale + in the Frontier."} +delete-after: true From 4990e6bec11a6b86ed905f4dba57972060904efe Mon Sep 17 00:00:00 2001 From: thearbiber <135081923+thearbiber@users.noreply.github.com> Date: Fri, 24 Jan 2025 14:45:13 -0500 Subject: [PATCH 156/330] Haboob-class Patrol Boat (Small NGR Combat Ship) (#4013) ## About The Pull Request Adds in the Haboob-class, a new small NGR ship designed primarily for combat, lacking in other areas. While it does lack in medical and engineering, it should have the bare minimum of supplies to engage in some other activities, mostly scrapping or mining. It has a crew composition of 6, that being the: Captain Lieutenant Mechanic Operative Wrecker Initiate images: ![image](https://github.com/user-attachments/assets/d46aedd0-0e12-4324-85e5-739e179beb42) ![image](https://github.com/user-attachments/assets/312c42f7-7c55-4e50-bd02-30d89234abc5) in game: ![image](https://github.com/user-attachments/assets/4a100acc-b488-4fc5-af81-7dc1c5f38004) ![image](https://github.com/user-attachments/assets/333c118a-23e6-4c62-af47-47e18dc791f0) ## Why It's Good For The Game Small little ship, main goal is to (hopefully) get more people playing the NGR so it has a reliable playerbase to support its larger ships. ## Changelog :cl: add: Added new things /:cl: --- _maps/configs/syndicate_ngr_haboob.json | 50 + .../syndicate/syndicate_ngr_haboob.dmm | 3247 +++++++++++++++++ 2 files changed, 3297 insertions(+) create mode 100644 _maps/configs/syndicate_ngr_haboob.json create mode 100644 _maps/shuttles/syndicate/syndicate_ngr_haboob.dmm diff --git a/_maps/configs/syndicate_ngr_haboob.json b/_maps/configs/syndicate_ngr_haboob.json new file mode 100644 index 000000000000..526c28f46df8 --- /dev/null +++ b/_maps/configs/syndicate_ngr_haboob.json @@ -0,0 +1,50 @@ +{ + "faction": "/datum/faction/syndicate/ngr", + "prefix": "NGRV", + "manufacturer": "Hardline Salvage and Mining", + "namelists": [ + "GORLEX", + "NATURAL_AGGRESSIVE", + "BEASTS", + "WEAPONS" + ], + "map_name": "Haboob-class Patrol Boat", + "map_short_name": "Haboob-class", + "description": "The Haboob-class is a Post ICW Ship commissioned by the NGR, made to patrol the fringes of NGR claimed space. Due to its quick response time and moderate armory, it has become relatively renowned for being able to pursue pirates and other nefarious ilk out of NGR territory near-flawlessly.", + "tags": [ + "RP Focus", + "Combat" + ], + "map_path": "_maps/shuttles/syndicate/syndicate_ngr_haboob.dmm", + "map_id": "syndicate_gorlex_haboob", + "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 + }, + "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": 1 + }, + "Initiate": { + "outfit": "/datum/outfit/job/syndicate/assistant/ngr", + "slots": 1 + } + }, + "enabled": true +} diff --git a/_maps/shuttles/syndicate/syndicate_ngr_haboob.dmm b/_maps/shuttles/syndicate/syndicate_ngr_haboob.dmm new file mode 100644 index 000000000000..70928c9b58e2 --- /dev/null +++ b/_maps/shuttles/syndicate/syndicate_ngr_haboob.dmm @@ -0,0 +1,3247 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aj" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/engineering/engines/starboard) +"an" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/red{ + dir = 8 + }, +/obj/structure/closet/secure_closet/armorycage{ + anchored = 1; + name = "ammunition locker"; + locked = 0; + req_access = null + }, +/obj/item/ammo_box/magazine/m57_39_sidewinder, +/obj/item/ammo_box/magazine/m57_39_sidewinder, +/obj/item/ammo_box/magazine/m57_39_sidewinder, +/obj/item/storage/box/ammo/c57x39, +/obj/item/storage/box/ammo/c57x39, +/obj/item/storage/box/ammo/c57x39, +/obj/item/storage/box/ammo/c57x39, +/obj/item/storage/toolbox/ammo/c9mm, +/obj/item/ammo_box/magazine/m9mm_rattlesnake, +/obj/item/ammo_box/magazine/m9mm_rattlesnake, +/obj/item/ammo_box/magazine/m9mm_rattlesnake, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/storage/box/ammo/c57x39, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"ap" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"aw" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"aD" = ( +/obj/structure/table/reinforced, +/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/item/radio/intercom/directional/north{ + pixel_x = 3 + }, +/obj/machinery/fax/syndicate, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"bw" = ( +/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/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"cj" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/layer_manifold{ + icon_state = "manifoldlayer_center"; + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"cu" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/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, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"cV" = ( +/obj/machinery/door/airlock/external/glass, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"dw" = ( +/obj/effect/turf_decal/techfloor{ + 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 + }, +/obj/machinery/light_switch{ + pixel_y = -20; + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"dR" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"dT" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 10; + id = "boobgun" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/starboard) +"ee" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"eo" = ( +/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/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"ey" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/button/door{ + name = "Engine Shutters"; + id = "boobengine3"; + dir = 4; + pixel_x = -21 + }, +/obj/effect/turf_decal/hardline_small/left, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"fk" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/item/paper/guides/jobs/engi/combustion_thruster, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"fr" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance_hatch{ + 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/tech/grid, +/area/ship/engineering/engines/starboard) +"fN" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/carpet/red, +/area/ship/crew/canteen) +"gG" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + 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 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"gT" = ( +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"gV" = ( +/obj/item/kirbyplants/random, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/red, +/area/ship/crew/canteen) +"hk" = ( +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"hB" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/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/dorm) +"hH" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/engines/starboard) +"hU" = ( +/obj/structure/platform/military{ + dir = 8 + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/item/melee/axe/sledgehammer, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/melee/knife/survival, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/head/hardhat/ngr, +/obj/item/clothing/suit/hazardvest/ngr, +/obj/item/radio/headset/alt, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/structure/closet/secure_closet/miner{ + anchored = 1; + populate = 0 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"hW" = ( +/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 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm) +"iR" = ( +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/structure/closet/syndicate{ + name = "armor closet"; + populate = 0; + anchored = 1 + }, +/obj/item/storage/belt/security/webbing/ngr, +/obj/item/storage/belt/security/webbing/ngr, +/obj/item/clothing/head/helmet/ngr, +/obj/item/clothing/head/helmet/ngr, +/obj/item/clothing/suit/armor/ngr, +/obj/item/clothing/suit/armor/ngr, +/obj/item/clothing/glasses/hud/security/sunglasses/ngr, +/obj/item/clothing/glasses/hud/security/sunglasses/ngr, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"ja" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + 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, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"jl" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"jT" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"jU" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"ky" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"kB" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"kG" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"kM" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "boobengine1" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/engineering/engines/port) +"kO" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"kZ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/port) +"ld" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-left" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"lJ" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + 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/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"lN" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance_hatch{ + 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/tech/grid, +/area/ship/engineering/engines/port) +"mc" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "boobbridge" + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/bridge) +"mt" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/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/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"mu" = ( +/obj/effect/turf_decal/corner/opaque/tan, +/obj/effect/turf_decal/trimline/opaque/bar/corner, +/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/central) +"mL" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"mU" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"nc" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/engineering/engines/port) +"ns" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + req_access = list(3); + name = "Armory" + }, +/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/grid, +/area/ship/security/armory) +"nB" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "boobwindows" + }, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"nP" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"nT" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"og" = ( +/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) +"oq" = ( +/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 = 4 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm) +"or" = ( +/obj/structure/catwalk/over, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"ox" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"pc" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"pd" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/radio/intercom/directional/west, +/obj/machinery/computer/cryopod/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"pj" = ( +/obj/docking_port{ + dwidth = 3; + width = 6; + height = 15 + }, +/turf/template_noop, +/area/template_noop) +"po" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"pP" = ( +/obj/structure/platform/military{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate/black/green, +/obj/item/clothing/head/helmet/space/syndicate/black/green, +/obj/item/clothing/mask/gas/syndicate, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"pU" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"pZ" = ( +/obj/structure/railing, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/crew/dorm) +"qi" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 5; + id = "boobgun" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security/armory) +"qw" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"qA" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"qC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/hardline_small/right, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"qZ" = ( +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"rb" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "boobfield" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "haboobcargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"rk" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"rI" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/power/port_gen/pacman, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"rQ" = ( +/obj/structure/catwalk/over, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/port) +"rR" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"rW" = ( +/obj/structure/railing, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/cryopod{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/dorm) +"sb" = ( +/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 = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"sd" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"si" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security/armory) +"ss" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/mining/glass, +/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/grid, +/area/ship/cargo) +"sw" = ( +/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/manifold4w/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"sy" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"sB" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -21; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/ash, +/obj/machinery/firealarm/directional/north, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"sR" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/item/clothing/suit/armor/ngr/lieutenant, +/obj/item/clothing/head/ngr/peaked, +/obj/item/clothing/head/ngr, +/obj/item/clothing/gloves/tackler/combat/insulated, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/machinery/airalarm/directional/west, +/obj/structure/closet/secure_closet/hos{ + populate = 0; + name = "lieutenant's locker" + }, +/obj/item/megaphone, +/obj/item/storage/belt/military/assault, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"tc" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/sign/flag/ngr{ + dir = 4; + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"tI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/sofa/brown/right/directional, +/turf/open/floor/carpet/red, +/area/ship/crew/canteen) +"uj" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/effect/turf_decal/corner/opaque/tan, +/obj/structure/closet/crate/bin, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light_switch{ + pixel_x = 12; + pixel_y = 21 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"uk" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/hallway/central) +"un" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"uT" = ( +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"vC" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/carpet/red, +/area/ship/crew/canteen) +"vJ" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"vL" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"vU" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/storage/toolbox/syndicate, +/obj/item/radio/headset/alt, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/item/gear_pack/anglegrinder, +/obj/item/storage/belt/utility, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/head/hardhat/ngr, +/obj/item/clothing/under/syndicate/ngr/jumpsuit, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/gloves/color/yellow, +/obj/machinery/button/door{ + name = "Window Shutters"; + id = "boobden"; + dir = 4; + pixel_x = -21 + }, +/obj/item/clothing/suit/hazardvest/ngr, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/item/storage/toolbox/electrical, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/glasses/welding, +/obj/item/storage/backpack/industrial, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"wc" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"wd" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/button/door{ + name = "Engine Shutters"; + pixel_y = 21; + id = "boobengine1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"wi" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/structure/sign/warning{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"ww" = ( +/obj/structure/sign/poster/contraband/backdoor_xeno_babes_6{ + pixel_y = 30 + }, +/obj/effect/spawner/bunk_bed{ + dir = 4 + }, +/obj/structure/curtain/bounty, +/turf/open/floor/carpet/red, +/area/ship/crew/dorm) +"wA" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"wF" = ( +/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 = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"wX" = ( +/obj/structure/catwalk/over, +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"xf" = ( +/obj/machinery/advanced_airlock_controller{ + pixel_y = 24 + }, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"xj" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -18 + }, +/obj/structure/mirror{ + pixel_x = -30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/dorm) +"ye" = ( +/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/machinery/computer/crew{ + dir = 8; + icon_state = "computer-right" + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"ys" = ( +/obj/machinery/autolathe, +/obj/machinery/airalarm/directional/south, +/obj/item/stack/sheet/metal/ten, +/obj/item/stack/sheet/glass/five, +/obj/item/stack/sheet/glass/five, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"yD" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/dorm) +"yO" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/hallway/central) +"za" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"zA" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"zR" = ( +/obj/structure/platform/military{ + dir = 8 + }, +/obj/structure/crate_shelf, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"zS" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/table/reinforced, +/obj/item/cutting_board, +/obj/item/melee/knife/kitchen, +/obj/machinery/light/directional/south, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"zV" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Aa" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"AH" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"AQ" = ( +/obj/structure/catwalk/over, +/obj/docking_port/mobile{ + dir = 2; + port_direction = 8; + preferred_direction = 4; + launch_status = 0 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"AZ" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 9; + id = "boobgun" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/port) +"Bj" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"BN" = ( +/obj/structure/table, +/obj/item/binoculars, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew/canteen) +"BX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw, +/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 + }, +/obj/structure/closet/emcloset/wall/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Cp" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"Cs" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/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 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Cv" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/closet/secure_closet/freezer/fridge/open{ + populate = 0 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/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, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"CV" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/item/reagent_containers/food/snacks/grilledcheese{ + pixel_y = 10 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = -14 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"Dc" = ( +/obj/machinery/computer/atmos_alert{ + dir = 8; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/sign/flag/ngr{ + dir = 8; + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Dq" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"DI" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 6; + id = "boobgun" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"DK" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/machinery/computer/cargo{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Ec" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 6; + id = "boobgun" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/security/armory) +"Ep" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/grunge{ + req_one_access = list(19); + name = "Bridge" + }, +/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/grid, +/area/ship/bridge) +"Er" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"EB" = ( +/obj/machinery/porta_turret/ship/ngr/heavy{ + dir = 4; + id = "boobgun" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/cargo) +"EX" = ( +/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/south, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/hallway/central) +"Fc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Fq" = ( +/turf/template_noop, +/area/template_noop) +"Fu" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -21 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"Fx" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/item/paper_bin{ + pixel_x = 9; + pixel_y = 3 + }, +/obj/item/pen{ + pixel_x = 9; + pixel_y = 3 + }, +/obj/machinery/button/door{ + name = "Window Shutters"; + id = "boobwindows"; + pixel_x = -5; + pixel_y = 8 + }, +/obj/machinery/button/door{ + name = "Bridge Shutters"; + id = "boobbridge"; + pixel_x = -5; + pixel_y = -1 + }, +/obj/item/radio/intercom/wideband/directional/north, +/obj/machinery/firealarm/directional/north{ + pixel_x = 18 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"FI" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/item/clothing/head/helmet/space/syndicate/black/red, +/obj/item/clothing/suit/space/syndicate/black/red, +/obj/item/clothing/mask/gas/syndicate, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -21; + pixel_y = 6 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Gi" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"GT" = ( +/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/starboard) +"Hj" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/structure/closet, +/obj/machinery/light/small/directional/east, +/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/dorm) +"Hw" = ( +/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/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"HB" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"HF" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/layer_manifold{ + icon_state = "manifoldlayer_center"; + dir = 1 + }, +/obj/machinery/door/poddoor{ + id = "boobwindows" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"HO" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Io" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Ir" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "boobengine2" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/engineering/engines/starboard) +"Iw" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/starboard) +"IJ" = ( +/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/airlock/grunge, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"JJ" = ( +/obj/structure/toilet{ + dir = 8; + pixel_x = 5; + pixel_y = 5 + }, +/obj/machinery/light/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/dorm) +"JK" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/structure/table, +/obj/machinery/recharger, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"JP" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"JR" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/layer2, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"Kw" = ( +/obj/structure/table, +/obj/item/radio/intercom/table, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew/canteen) +"Kx" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"KR" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/engineering, +/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/grid, +/area/ship/engineering) +"La" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/sign/flag/ngr{ + dir = 4; + pixel_x = -32 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"Lc" = ( +/obj/structure/crate_shelf, +/obj/structure/platform/military{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"LA" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"LI" = ( +/obj/structure/sign/flag/ngr{ + dir = 4; + pixel_x = -32 + }, +/obj/structure/sign/warning{ + pixel_y = 25 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"LL" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "haboobcargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"Mb" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "boobengine3" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"MI" = ( +/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 = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"MT" = ( +/obj/structure/closet/syndicate{ + populate = 0; + anchored = 1; + name = "uniform closet" + }, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/head/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/head/ngr, +/obj/item/clothing/head/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr/jumpsuit, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr/jumpsuit, +/obj/item/clothing/under/syndicate/ngr, +/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/airalarm/directional/south, +/obj/structure/sign/flag/ngr{ + dir = 4; + pixel_x = -32 + }, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"MV" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/turf/open/floor/carpet/red, +/area/ship/crew/dorm) +"Nk" = ( +/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) +"NH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/hardline_small, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"NJ" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/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/mono/dark, +/area/ship/crew/canteen) +"NN" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"NW" = ( +/obj/machinery/atmospherics/components/trinary/mixer/flipped{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Om" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, +/obj/structure/closet/emcloset/wall/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"Ov" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/tank/air{ + piping_layer = 2 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"Oy" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm) +"OM" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/security/armory) +"OP" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/small/directional/north, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 21 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"OR" = ( +/turf/open/floor/carpet/red, +/area/ship/crew/canteen) +"OW" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/mask/gas/syndicate, +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/red{ + dir = 1 + }, +/obj/item/clothing/suit/space/hardsuit/syndi/ngr, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"OZ" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/glass{ + 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, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"Pb" = ( +/obj/machinery/computer/apc_control{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Ph" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/red{ + dir = 1 + }, +/obj/structure/closet/syndicate{ + name = "breaching closet"; + populate = 0; + anchored = 1 + }, +/obj/item/storage/backpack/duffelbag/syndie/c4, +/obj/structure/sign/warning/explosives{ + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"PG" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"PJ" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw, +/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/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"PM" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"PP" = ( +/obj/structure/table/reinforced, +/obj/machinery/light/directional/south, +/obj/machinery/button/door{ + name = "Window Shutters"; + id = "haboobcargo"; + pixel_x = -8; + pixel_y = 8 + }, +/obj/machinery/button/shieldwallgen{ + pixel_x = 1; + pixel_y = 6; + id = "boobfield" + }, +/obj/item/hand_labeler{ + pixel_x = 5; + pixel_y = -4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/folder{ + pixel_x = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"PQ" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + 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/tech, +/area/ship/hallway/central) +"PX" = ( +/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/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"Qg" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + 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 = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Qh" = ( +/obj/machinery/shower{ + pixel_y = 20 + }, +/obj/structure/curtain, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/dorm) +"Qq" = ( +/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/oxygen, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"Qt" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Qz" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/structure/closet/syndicate/personal{ + name = "captain's closet"; + populate = 0; + anchored = 1 + }, +/obj/item/clothing/suit/armor/ngr/captain, +/obj/item/clothing/head/ngr/peaked, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/under/syndicate/ngr/officer, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/gloves/tackler/combat/insulated, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/radio/headset/syndicate/alt/captain, +/obj/item/storage/belt/military/assault, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/glasses/hud/security/sunglasses/ngr, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/item/storage/guncase/pistol/asp{ + mag_count = 3 + }, +/obj/item/megaphone, +/obj/item/computer_hardware/card_slot, +/obj/item/modular_computer/tablet/preset/cheap, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"QJ" = ( +/obj/structure/chair/sofa/brown/left/directional/south, +/turf/open/floor/carpet/red, +/area/ship/crew/canteen) +"RJ" = ( +/obj/machinery/power/shuttle/engine/fire, +/turf/open/floor/plating, +/area/ship/engineering) +"Se" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/obj/item/radio/intercom/table{ + dir = 8; + pixel_x = -8 + }, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/item/pen/fourcolor{ + pixel_x = 7; + pixel_y = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"SE" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"SM" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 1 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Tg" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Ti" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"Tn" = ( +/obj/effect/turf_decal/borderfloorblack, +/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/item/clothing/mask/gas/syndicate, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + pixel_y = -20; + dir = 1; + pixel_x = -5 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Tq" = ( +/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/machinery/light_switch{ + pixel_y = 21 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Ts" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"TH" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "boobfield" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "haboobcargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"TI" = ( +/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/pod/dark, +/area/ship/engineering) +"Ui" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"UE" = ( +/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/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"UO" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"UP" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"Vx" = ( +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 21; + pixel_y = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"VA" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/light/directional/north, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = 12 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"VD" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 5; + id = "boobgun" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/hallway/central) +"VI" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"VK" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "boobden" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"VX" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/cargo) +"We" = ( +/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/structure/chair/handrail{ + dir = 1 + }, +/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) +"WA" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/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/canteen) +"WL" = ( +/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/effect/turf_decal/corner/opaque/tan, +/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/canteen) +"WM" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/techfloor, +/obj/machinery/button/door{ + name = "Engine Shutters"; + dir = 4; + pixel_x = -21; + id = "boobengine2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"Xp" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/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 = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"Xz" = ( +/obj/machinery/light/directional/north, +/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/structure/dresser, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/computer/helm/viewscreen/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"XA" = ( +/obj/structure/catwalk/over, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/starboard) +"XM" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/structure/guncloset, +/obj/item/gun/ballistic/automatic/smg/sidewinder/no_mag, +/obj/item/gun/ballistic/automatic/pistol/rattlesnake/no_mag, +/obj/structure/sign/poster/contraband/bulldog{ + pixel_y = 30 + }, +/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"XR" = ( +/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/suit_storage_unit/inherit, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/suit/space/hardsuit/syndi/ngr, +/obj/machinery/light_switch{ + pixel_y = 21; + pixel_x = 6 + }, +/obj/machinery/turretid/ship{ + id = "boobgun"; + pixel_x = -7; + pixel_y = 22 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"XY" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/cargo) +"Yb" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/engines/port) +"Yc" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/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/canteen) +"Yv" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/closet/crate/medical, +/obj/machinery/light_switch{ + pixel_y = -20; + dir = 1; + pixel_x = 10 + }, +/obj/item/storage/firstaid/brute, +/obj/item/stack/medical/splint, +/obj/item/stack/medical/splint, +/obj/machinery/firealarm/directional/south, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"YD" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/closet/crate/radiation{ + name = "fuel crate"; + anchored = 1; + populate = 0 + }, +/obj/item/stack/sheet/mineral/plasma/ten, +/obj/structure/sign/poster/contraband/gec{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"Zq" = ( +/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" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"ZE" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/crate/internals, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/plasmaman/belt/full, +/obj/item/tank/internals/plasmaman/belt/full, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/oxygen, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) + +(1,1,1) = {" +Fq +Fq +Fq +Fq +Fq +Fq +Fq +Fq +Fq +Fq +wX +Fq +Fq +Fq +Fq +"} +(2,1,1) = {" +Fq +Fq +Fq +Fq +wX +Fq +Fq +Fq +Fq +Fq +or +Fq +Fq +Fq +Fq +"} +(3,1,1) = {" +Fq +Fq +Fq +Fq +or +Fq +Fq +Fq +Fq +Fq +or +Fq +Fq +Fq +Fq +"} +(4,1,1) = {" +Fq +AZ +nc +nc +rQ +Fq +UP +RJ +UP +Fq +XA +aj +aj +dT +Fq +"} +(5,1,1) = {" +Fq +kZ +kM +kM +UP +UP +UP +Mb +UP +UP +Iw +Ir +Ir +Iw +Fq +"} +(6,1,1) = {" +Fq +kZ +wd +Nk +UP +rk +ey +NW +jU +UP +WM +GT +wc +Iw +Fq +"} +(7,1,1) = {" +Fq +kZ +Bj +zA +UP +ap +NH +fk +gT +UP +OP +NN +Gi +Iw +Fq +"} +(8,1,1) = {" +Yb +kZ +kZ +lN +UP +rI +qC +un +UP +UP +Iw +fr +Iw +Iw +hH +"} +(9,1,1) = {" +VK +Se +vU +lJ +UP +YD +nT +Ts +UP +ox +La +WL +vC +gV +nB +"} +(10,1,1) = {" +VK +aw +kO +Qg +KR +TI +bw +Ti +UP +VA +vL +WA +tI +Kw +nB +"} +(11,1,1) = {" +VK +Pb +Dc +Tn +UP +Ov +JR +dw +UP +CV +AH +sd +QJ +BN +nB +"} +(12,1,1) = {" +kZ +kZ +kZ +kZ +UP +UP +UP +gG +UP +uj +Yc +jT +OR +fN +kB +"} +(13,1,1) = {" +Fq +Oy +Qh +xj +JJ +Cp +eo +PQ +Ui +nP +cu +rR +qw +kB +kB +"} +(14,1,1) = {" +Fq +Oy +Oy +oq +Oy +Cp +og +mu +OZ +NJ +Cv +dR +zS +kB +Fq +"} +(15,1,1) = {" +yD +Oy +Xz +MI +MT +Cp +zV +Hw +Dq +mc +mc +mc +Dq +Dq +Fq +"} +(16,1,1) = {" +Oy +ww +Xp +mU +PX +IJ +ja +PM +Dq +XR +Qz +DK +Dq +DI +wX +"} +(17,1,1) = {" +Oy +MV +Zq +hB +Vx +Cp +Tq +sw +Ep +Kx +Io +LA +Dq +Fq +or +"} +(18,1,1) = {" +Oy +Oy +Oy +hW +Oy +Cp +JP +BX +Dq +Fx +UO +kG +HF +HO +AQ +"} +(19,1,1) = {" +Oy +Oy +pd +pU +Fu +Cp +UE +We +Dq +aD +ld +ye +Dq +Fq +or +"} +(20,1,1) = {" +Fq +Oy +rW +pZ +Hj +Cp +SM +PJ +Dq +mc +mc +mc +Dq +Dq +wX +"} +(21,1,1) = {" +Fq +VD +Cp +Cp +Cp +Cp +uk +EX +Aa +pP +hU +zR +Lc +Aa +Fq +"} +(22,1,1) = {" +Fq +Fq +Cp +Qq +Cp +sB +vJ +Cs +XY +qZ +za +ZE +Yv +Aa +Fq +"} +(23,1,1) = {" +Fq +Fq +Cp +xf +cV +sy +Er +jl +ss +wF +pc +po +wA +Aa +Fq +"} +(24,1,1) = {" +Fq +pj +cj +Om +yO +sb +Qt +Tg +XY +uT +SE +Fc +ys +Aa +Fq +"} +(25,1,1) = {" +Fq +Fq +si +si +si +ns +si +si +Aa +wi +qA +PG +PP +Aa +Fq +"} +(26,1,1) = {" +Fq +Fq +si +sR +tc +mt +FI +si +Aa +rb +LL +TH +Aa +Aa +Fq +"} +(27,1,1) = {" +Fq +Fq +si +JK +HB +hk +OW +si +LI +ky +ky +mL +Aa +Aa +Fq +"} +(28,1,1) = {" +Fq +Fq +si +XM +ee +iR +si +Ec +Fq +Fq +Fq +Fq +Aa +Aa +Fq +"} +(29,1,1) = {" +Fq +Fq +si +an +VI +Ph +si +Fq +Fq +Fq +Fq +Fq +Aa +Aa +Fq +"} +(30,1,1) = {" +Fq +Fq +qi +si +si +si +OM +Fq +Fq +Fq +Fq +Fq +EB +VX +Fq +"} From 54e4ebe4923ff9d3dd60d43e66fb439e3c400ed7 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 25 Jan 2025 00:58:22 +0000 Subject: [PATCH 157/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3917.yml | 14 -------------- html/changelogs/AutoChangeLog-pr-3976.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4050.yml | 5 ----- html/changelogs/archive/2025-01.yml | 19 +++++++++++++++++++ 4 files changed, 19 insertions(+), 24 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3917.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3976.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4050.yml diff --git a/html/changelogs/AutoChangeLog-pr-3917.yml b/html/changelogs/AutoChangeLog-pr-3917.yml deleted file mode 100644 index 0ef63ccec725..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3917.yml +++ /dev/null @@ -1,14 +0,0 @@ -author: Geoengi -changes: - - {rscadd: Roulette tables can be bought at cargo for the low price of 5000 credits!} - - {bugfix: Fixed persistent overlays on roulette tables and requires them to be - powered to function.} - - {bugfix: Roulette tables now pay out when betting zero.} - - {tweak: Owners of roulette tables are the only ones who can bolt or unbolt them.} - - {tweak: Slot machines don't announce who won a jackpot where.} - - {tweak: Replaced references to ID cards with cash cards where applicable.} - - {tweak: The roulette beacon now has an activation sound.} - - {spellcheck: The roulette beacon's description reads better.} - - {code_imp: Slot machines no longer accept material coins due to them nuking the - server if withdrawn.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3976.yml b/html/changelogs/AutoChangeLog-pr-3976.yml deleted file mode 100644 index fe5faa620ff4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3976.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Erikafox -changes: - - {rscadd: "Cybersun's newest doohickey, the Nimbus-Class Caravel, is now on sale - in the Frontier."} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4050.yml b/html/changelogs/AutoChangeLog-pr-4050.yml deleted file mode 100644 index 7fd36a6b02c9..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4050.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: FalloutFalcon -changes: - - {refactor: SetSleeping to set_sleeping} - - {refactor: Removed redundant arg from set_sleeping call} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index fca1beaf57b7..a33eee1b88c3 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -246,3 +246,22 @@ zimon9: - bugfix: updated cell latch descriptions - bugfix: fixed a minor bug with cell latches on the E-40 +2025-01-25: + Erikafox: + - rscadd: Cybersun's newest doohickey, the Nimbus-Class Caravel, is now on sale + in the Frontier. + FalloutFalcon: + - refactor: SetSleeping to set_sleeping + - refactor: Removed redundant arg from set_sleeping call + Geoengi: + - rscadd: Roulette tables can be bought at cargo for the low price of 5000 credits! + - bugfix: Fixed persistent overlays on roulette tables and requires them to be powered + to function. + - bugfix: Roulette tables now pay out when betting zero. + - tweak: Owners of roulette tables are the only ones who can bolt or unbolt them. + - tweak: Slot machines don't announce who won a jackpot where. + - tweak: Replaced references to ID cards with cash cards where applicable. + - tweak: The roulette beacon now has an activation sound. + - spellcheck: The roulette beacon's description reads better. + - code_imp: Slot machines no longer accept material coins due to them nuking the + server if withdrawn. From e9236d794bccd72621b6d20525ce0358476423e2 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Sat, 25 Jan 2025 00:18:10 -0800 Subject: [PATCH 158/330] Removes Wirecarp from Player Access (#4074) ## About The Pull Request Removes Wirecarp app from player access. ## Why It's Good For The Game Isn't it FUN for people to be able to turn off everyone in the entire round's devices using an obscure app with only an obscure way to fix it? ISN'T IT FUN??? ## Changelog :cl: remove: Wirecarp from Player Access /:cl: --- .../modules/modular_computers/file_system/programs/ntmonitor.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/modular_computers/file_system/programs/ntmonitor.dm b/code/modules/modular_computers/file_system/programs/ntmonitor.dm index 63f0b18a7477..e26e24b02e9b 100644 --- a/code/modules/modular_computers/file_system/programs/ntmonitor.dm +++ b/code/modules/modular_computers/file_system/programs/ntmonitor.dm @@ -6,7 +6,7 @@ size = 12 requires_ntnet = TRUE required_access = ACCESS_NETWORK //NETWORK CONTROL IS A MORE SECURE PROGRAM. - available_on_ntnet = TRUE + available_on_ntnet = FALSE tgui_id = "NtosNetMonitor" program_icon = "network-wired" From ba04de5d454fe7dca4eb59506fafb75026c7398b Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Sun, 26 Jan 2025 02:38:26 -0500 Subject: [PATCH 159/330] Applies some bugfixes to examine_more interaction with modular computers and adds examine_more interaction to tablets (#3995) ## About The Pull Request This PR fixes a few bugs in PR https://github.com/shiptest-ss13/Shiptest/pull/3553 and it also gives tablets the ability to be interacted with using the examine_more feature. Please let me know how this may perform ingame. I'm still unsure as to if shuttling this functionality to examine_more is better than applying it to the examine function. ## Why It's Good For The Game This PR fixes modular computers from being activated from long range via hidden bluetooth implants, and it gives tablets the ability to be interacted with without it having to be in a user's hand, which can be nice for those that may lay the item down on a table in order to let a group of people see the screen at once. ## Changelog :cl: code: applied some bugfixes to the interaction of examine_more with modular computers and laptops add: adds the ability to interact with a tablet using the examine_more function /:cl: --- code/game/machinery/computer/_computer.dm | 3 ++- code/game/machinery/computer/crew.dm | 4 ++-- code/game/objects/items/devices/radio/intercom.dm | 8 ++++---- code/modules/atmospherics/machinery/airalarm.dm | 10 ++++++---- .../modules/modular_computers/computers/item/laptop.dm | 10 +++++----- .../modules/modular_computers/computers/item/tablet.dm | 5 +++++ .../computers/machinery/modular_computer.dm | 9 +++++---- code/modules/power/apc.dm | 8 ++++---- 8 files changed, 33 insertions(+), 24 deletions(-) diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 3def408de874..22681dc85170 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -125,5 +125,6 @@ return /obj/machinery/computer/examine_more(mob/user) + . = ..() ui_interact(user) - return ..() + return diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index d8c3f460911b..60cde59a25e6 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -45,8 +45,8 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) 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 ..() + . = ..() + interact(user) /datum/crewmonitor/ui_close(mob/user) ui_sources -= user diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 26a7ea19c095..857cdadd8f4c 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -33,6 +33,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31) else . += "It's unscrewed from the wall, and can be detached." +/obj/item/radio/intercom/wideband/examine_more(mob/user) + . = ..() + interact(user) + /obj/item/radio/intercom/attackby(obj/item/I, mob/living/user, params) if(I.tool_behaviour == TOOL_SCREWDRIVER) if(unscrewed) @@ -177,10 +181,6 @@ 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/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index bfd869247f8c..45d4ce2845ca 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -264,6 +264,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) if(2) . += "Alt-click to [locked ? "unlock" : "lock"] the interface." +/obj/machinery/airalarm/examine_more(mob/user) + . = ..() + if(buildstage == 2) + ui_interact(user) + + /obj/machinery/airalarm/ui_status(mob/user) if(user.has_unlimited_silicon_privilege && aidisabled) to_chat(user, "AI control has been disabled.") @@ -278,10 +284,6 @@ 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, diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm index 2e7ce89d33b8..5cf21a56bf04 100644 --- a/code/modules/modular_computers/computers/item/laptop.dm +++ b/code/modules/modular_computers/computers/item/laptop.dm @@ -28,6 +28,11 @@ if(screen_on) . += "Alt-click to close it." +/obj/item/modular_computer/laptop/examine_more(mob/user) + . = ..() + if(screen_on && enabled) + interact(user) + /obj/item/modular_computer/laptop/Initialize() . = ..() @@ -112,11 +117,6 @@ 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 start_open = FALSE diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm index 2ff0f33a79e1..bcc84d11d3df 100644 --- a/code/modules/modular_computers/computers/item/tablet.dm +++ b/code/modules/modular_computers/computers/item/tablet.dm @@ -23,6 +23,11 @@ icon_state = icon_state_powered = icon_state_unpowered = "[base_icon_state]-[finish_color]" return ..() +/obj/item/modular_computer/tablet/examine_more(mob/user) + . = ..() + if(screen_on && enabled) + interact(user) + /obj/item/modular_computer/tablet/syndicate_contract_uplink name = "contractor tablet" icon = 'icons/obj/contractor_tablet.dmi' diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index e8a3b6e18527..359e5817b06d 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -40,6 +40,11 @@ . = ..() . += get_modular_computer_parts_examine(user) +/obj/machinery/modular_computer/examine_more(mob/user) + . = ..() + if(cpu.enabled) + interact(user) + /obj/machinery/modular_computer/attack_ghost(mob/dead/observer/user) . = ..() if(.) @@ -85,10 +90,6 @@ 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/power/apc.dm b/code/modules/power/apc.dm index a3cedcd401ea..1e66e191f794 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -332,6 +332,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) if(issilicon(user)) . += "Ctrl-Click the APC to switch the breaker [ operating ? "off" : "on"]." +/obj/machinery/power/apc/examine_more(mob/user) + . = ..() + ui_interact(user) + // update the APC icon to show the three base states // also add overlays for indicator lights /obj/machinery/power/apc/update_appearance(updates=check_updates()) @@ -900,10 +904,6 @@ 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, From b6ca470e44f3d953520b30edf619413d3a241023 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 26 Jan 2025 01:49:18 -0600 Subject: [PATCH 160/330] Automatic changelog generation for PR #3995 [ci skip] --- html/changelogs/AutoChangeLog-pr-3995.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3995.yml diff --git a/html/changelogs/AutoChangeLog-pr-3995.yml b/html/changelogs/AutoChangeLog-pr-3995.yml new file mode 100644 index 000000000000..b799038920e1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3995.yml @@ -0,0 +1,6 @@ +author: zimon9 +changes: + - {code_imp: applied some bugfixes to the interaction of examine_more with modular + computers and laptops} + - {rscadd: adds the ability to interact with a tablet using the examine_more function} +delete-after: true From ed5f1096adccfb6839b04bb3f56f30a8ccfc32bd Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Sat, 25 Jan 2025 23:51:31 -0800 Subject: [PATCH 161/330] Ammo Cans can hold Weapon Cells (#4079) ## About The Pull Request Ammo cans can hold weapon cells. ## Why It's Good For The Game Wnergy cells are ammo too. Consistency. ## Changelog :cl: balance: Ammo cans can hold weapon cells now too. /:cl: --- code/game/objects/items/storage/ammo_can.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/ammo_can.dm b/code/game/objects/items/storage/ammo_can.dm index e619aced0692..e16ef5de4825 100644 --- a/code/game/objects/items/storage/ammo_can.dm +++ b/code/game/objects/items/storage/ammo_can.dm @@ -23,7 +23,8 @@ /obj/item/ammo_box/magazine/ammo_stack, /obj/item/ammo_casing, /obj/item/mine, - /obj/item/grenade + /obj/item/grenade, + /obj/item/stock_parts/cell/gun )) /obj/item/storage/toolbox/ammo/a850r/PopulateContents() From 0eccf86b8b3444399f9bdccf4ec733404642e2f0 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 26 Jan 2025 02:02:13 -0600 Subject: [PATCH 162/330] Automatic changelog generation for PR #4079 [ci skip] --- html/changelogs/AutoChangeLog-pr-4079.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4079.yml diff --git a/html/changelogs/AutoChangeLog-pr-4079.yml b/html/changelogs/AutoChangeLog-pr-4079.yml new file mode 100644 index 000000000000..ce195e5a0a91 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4079.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {balance: Ammo cans can hold weapon cells now too.} +delete-after: true From 01ca3b2c2ddda51e4a9338f0ca2ef64edc0ecf64 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sun, 26 Jan 2025 02:52:01 -0500 Subject: [PATCH 163/330] Increase Drill Mission Value (#4071) ## About The Pull Request As title. Pairs with #4069 ## Why It's Good For The Game avoid the problem of creating a money sink. ## Changelog :cl: balance: drill missions now pay more money. /:cl: --- code/modules/overmap/missions/drill_mission.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/overmap/missions/drill_mission.dm b/code/modules/overmap/missions/drill_mission.dm index 307d73d59592..d526fa9e77d6 100644 --- a/code/modules/overmap/missions/drill_mission.dm +++ b/code/modules/overmap/missions/drill_mission.dm @@ -54,14 +54,14 @@ /datum/mission/drill/classtwo name = "Class 2 core sample mission" - value = 3500 + value = 4500 weight = 6 class_wanted = 2 num_wanted = 6 /datum/mission/drill/classthree name = "Class 3 core sample mission" - value = 5000 + value = 8000 weight = 4 duration = 100 MINUTES class_wanted = 3 From 4fd63effa557fb8fcaa620a54f8cbb8d0195c33f Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 26 Jan 2025 02:14:47 -0600 Subject: [PATCH 164/330] Automatic changelog generation for PR #4071 [ci skip] --- html/changelogs/AutoChangeLog-pr-4071.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4071.yml diff --git a/html/changelogs/AutoChangeLog-pr-4071.yml b/html/changelogs/AutoChangeLog-pr-4071.yml new file mode 100644 index 000000000000..9e9a81390e23 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4071.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {balance: drill missions now pay more money.} +delete-after: true From 95714e04f8232b432614205e8887906c4fe2ba0e Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sun, 26 Jan 2025 02:52:17 -0500 Subject: [PATCH 165/330] veins no longer get bitchy when you try and have more than 3 people near them (#4069) ## About The Pull Request instead its a static amount of spawns ## Why It's Good For The Game way more interesting to plan around. more intuitive ## Changelog :cl: balance: drills no longer spawn more mobs when more people are around. /:cl: --- code/__DEFINES/dcs/signals/signals.dm | 2 +- code/modules/mining/drill.dm | 72 ++++++++++--------- code/modules/mining/ore_veins.dm | 9 +-- code/modules/mob_spawner/spawner_componet.dm | 30 +++----- .../modules/overmap/missions/drill_mission.dm | 2 +- 5 files changed, 54 insertions(+), 61 deletions(-) diff --git a/code/__DEFINES/dcs/signals/signals.dm b/code/__DEFINES/dcs/signals/signals.dm index eb5a0e59a7fe..c8889caaf949 100644 --- a/code/__DEFINES/dcs/signals/signals.dm +++ b/code/__DEFINES/dcs/signals/signals.dm @@ -696,7 +696,7 @@ #define COMSIG_OVERMAP_UNDOCK "overmap_undock" // /datum/component/spawner signals -// Called by parent when pausing spawning, returns bool: (datum/source, spawning_started) +// Called by parent when pausing spawning, returns bool: (datum/source, currently_spawning) #define COMSIG_SPAWNER_TOGGLE_SPAWNING "spawner_toggle" ///Beam Signals diff --git a/code/modules/mining/drill.dm b/code/modules/mining/drill.dm index c327efab39a8..5fffc303df69 100644 --- a/code/modules/mining/drill.dm +++ b/code/modules/mining/drill.dm @@ -25,7 +25,7 @@ var/malfunction var/active = FALSE - var/obj/structure/vein/mining + var/obj/structure/vein/our_vein var/datum/looping_sound/drill/soundloop var/obj/item/stock_parts/cell/cell var/preload_cell_type = /obj/item/stock_parts/cell @@ -73,11 +73,13 @@ soundloop = new(list(src), active) /obj/machinery/drill/process() - if(machine_stat & BROKEN || (active && !mining)) + if(machine_stat & BROKEN || (active && !our_vein)) active = FALSE soundloop.stop() update_overlays() update_icon_state() + if(!active && our_vein?.currently_spawning) + our_vein.toggle_spawning() /obj/machinery/drill/Destroy() QDEL_NULL(soundloop) @@ -86,10 +88,10 @@ //Instead of being qdeled the drill requires mildly expensive repairs to use again /obj/machinery/drill/deconstruct(disassembled) - if(active && mining) + if(active && our_vein) say("Drill integrity failure. Engaging emergency shutdown procedure.") //Just to make sure mobs don't spawn infinitely from the vein and as a failure state for players - mining.deconstruct() + our_vein.deconstruct() obj_break() update_icon_state() update_overlays() @@ -137,7 +139,7 @@ if(!anchored && tool.use_tool(src, user, 30, volume=50)) to_chat(user, "You secure the [src] to the ore vein.") playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) - mining = vein + our_vein = vein anchored = TRUE update_icon_state() return @@ -146,9 +148,9 @@ playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) anchored = FALSE - if(mining?.spawner_attached && mining?.spawning_started) - mining.toggle_spawning() - mining = null + if(our_vein?.spawner_attached && our_vein?.currently_spawning) + our_vein.toggle_spawning() + our_vein = null update_icon_state() return if(default_deconstruction_screwdriver(user,icon_state,icon_state,tool)) @@ -217,16 +219,20 @@ /obj/machinery/drill/AltClick(mob/user) if(active) - to_chat(user, "You begin the manual shutoff process.") + to_chat(user, span_notice("You begin the manual shutoff process.")) if(do_after(user, 10, src)) - active = FALSE - soundloop.stop() - deltimer(current_timerid) - mining.toggle_spawning() - playsound(src, 'sound/machines/switch2.ogg', 50, TRUE) - say("Manual shutoff engaged, ceasing mining operations.") - update_icon_state() - update_overlays() + if(active) + active = FALSE + soundloop.stop() + deltimer(current_timerid) + if(our_vein?.currently_spawning) + our_vein.toggle_spawning() + playsound(src, 'sound/machines/switch2.ogg', 50, TRUE) + say("Manual shutoff engaged, ceasing mining operations.") + update_icon_state() + update_overlays() + else + to_chat(user, span_warning("The drill has already been turned off!")) else to_chat(user, "You cancel the manual shutoff process.") @@ -236,7 +242,7 @@ if(malfunction) say("Please resolve existing malfunction before continuing mining operations.") return - if(!mining) + if(!our_vein) to_chat(user, "[src] isn't secured over an ore vein!") return if(!active) @@ -297,17 +303,17 @@ update_icon_state() update_overlays() return - if(mining.mining_charges >= 1) + if(our_vein.mining_charges >= 1) var/mine_time active = TRUE soundloop.start() - if(!mining.spawner_attached) - mining.begin_spawning() - else if(!mining.spawning_started) - mining.toggle_spawning() + if(!our_vein.spawner_attached) + our_vein.begin_spawning() + else if(!our_vein.currently_spawning) + our_vein.toggle_spawning() for(var/obj/item/stock_parts/micro_laser/laser in component_parts) - mine_time = round((300/sqrt(laser.rating))*mining.mine_time_multiplier) - eta = mine_time*mining.mining_charges + mine_time = round((300/sqrt(laser.rating))*our_vein.mine_time_multiplier) + eta = mine_time*our_vein.mining_charges cell.use(power_use) current_timerid = addtimer(CALLBACK(src, PROC_REF(mine)), mine_time, TIMER_STOPPABLE) say("Estimated time until vein depletion: [time2text(eta,"mm:ss")].") @@ -316,20 +322,20 @@ //Handles the process of withdrawing ore from the vein itself /obj/machinery/drill/proc/mine() - if(mining.mining_charges) - mining.mining_charges-- + if(our_vein.mining_charges) + our_vein.mining_charges-- mine_success() - if(mining.mining_charges < 1) + if(our_vein.mining_charges < 1) say("Vein depleted.") active = FALSE soundloop.stop() - mining.deconstruct() - mining = null + our_vein.deconstruct() + our_vein = null update_icon_state() update_overlays() else start_mining() - else if(!mining.mining_charges) //Extra check to prevent vein related errors locking us in place + else if(!our_vein.mining_charges) //Extra check to prevent vein related errors locking us in place say("Error: Vein Depleted") active = FALSE update_icon_state() @@ -340,12 +346,12 @@ var/sensor_rating for(var/obj/item/stock_parts/scanning_module/sensor in component_parts) sensor_rating = round(sqrt(sensor.rating)) - mining.drop_ore(sensor_rating, src) + our_vein.drop_ore(sensor_rating, src) //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 + our_vein.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/ore_veins.dm b/code/modules/mining/ore_veins.dm index fa497b44a323..2e40d48c7b2e 100644 --- a/code/modules/mining/ore_veins.dm +++ b/code/modules/mining/ore_veins.dm @@ -38,7 +38,8 @@ GLOBAL_LIST_EMPTY(ore_veins) var/drop_rate_amount_max = 20 //Mob spawning variables var/spawner_attached = FALSE //Probably a drastically less sloppy way of doing this, but it technically works - var/spawning_started = FALSE + ///is the spawner currently spawning mobs? + var/currently_spawning = FALSE var/max_mobs = 6 var/spawn_time = 150 //15 seconds var/mob_types = list( @@ -91,9 +92,9 @@ GLOBAL_LIST_EMPTY(ore_veins) return..() /obj/structure/vein/proc/begin_spawning() - AddComponent(spawner_type, mob_types, spawn_time, faction, spawn_text, max_mobs, spawn_sound, spawn_distance_min, spawn_distance_max, wave_length, wave_downtime) + AddComponent(spawner_type, mob_types, spawn_time, faction, spawn_text, max_mobs, spawn_sound, spawn_distance_min, spawn_distance_max, wave_length, wave_downtime, vein_class) spawner_attached = TRUE - spawning_started = TRUE + currently_spawning = TRUE //Pulls a random ore from the vein list per vein_class /obj/structure/vein/proc/drop_ore(multiplier,obj/machinery/drill/current) @@ -110,7 +111,7 @@ GLOBAL_LIST_EMPTY(ore_veins) visible_message("[src] collapses!") /obj/structure/vein/proc/toggle_spawning() - spawning_started = SEND_SIGNAL(src, COMSIG_SPAWNER_TOGGLE_SPAWNING, spawning_started) + currently_spawning = SEND_SIGNAL(src, COMSIG_SPAWNER_TOGGLE_SPAWNING, currently_spawning) // diff --git a/code/modules/mob_spawner/spawner_componet.dm b/code/modules/mob_spawner/spawner_componet.dm index 637423f0b1e0..a0b4291e109f 100644 --- a/code/modules/mob_spawner/spawner_componet.dm +++ b/code/modules/mob_spawner/spawner_componet.dm @@ -13,8 +13,9 @@ var/wave_downtime //Average time until spawning starts again var/wave_timer var/current_timerid + var/spawn_amount -/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) +/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, _spawn_amount = 1) if(_spawn_time) spawn_time=_spawn_time if(_mob_types) @@ -35,6 +36,8 @@ wave_length = _wave_length if(_wave_downtime) wave_downtime = _wave_downtime + if(_spawn_amount) + spawn_amount = _spawn_amount RegisterSignal(parent, list(COMSIG_PARENT_QDELETING), PROC_REF(stop_spawning)) RegisterSignal(parent, list(COMSIG_SPAWNER_TOGGLE_SPAWNING), PROC_REF(toggle_spawning)) @@ -57,10 +60,10 @@ spawned_mobs = null //Different from stop_spawning() as it doesn't untether all mobs from it and is meant for temporarily stopping spawning -/datum/component/spawner/proc/toggle_spawning(datum/source, spawning_started) +/datum/component/spawner/proc/toggle_spawning(datum/source, currently_spawning) SIGNAL_HANDLER - if(spawning_started) + if(currently_spawning) STOP_PROCESSING(SSprocessing, src) deltimer(current_timerid) //Otherwise if spawning is paused while the wave timer is loose it'll just unpause on its own COOLDOWN_RESET(src, wave_timer) @@ -88,25 +91,8 @@ if(!COOLDOWN_FINISHED(src, spawn_delay)) return COOLDOWN_START(src, spawn_delay, spawn_time) - var/spawn_multiplier = 1 - //Avoid using this with spawners that add this component on initialize - //It causes numerous runtime errors during planet generation - if(spawn_distance_max > 1) - var/player_count = 0 - for(var/mob/player as anything in GLOB.player_list) - if(player.virtual_z() != spot.virtual_z()) - continue - if(!isliving(player)) - continue - if(player.stat != CONSCIOUS) - continue - if(get_dist(get_turf(player), spot) > spawn_distance_max) - continue - player_count++ - if(player_count > 3) - spawn_multiplier = round(player_count/2) - spawn_multiplier = clamp(spawn_multiplier, 1, max_mobs - length(spawned_mobs)) - for(var/mob_index in 1 to spawn_multiplier) + var/to_spawn = clamp(spawn_amount, 1, max_mobs - length(spawned_mobs)) + for(var/mob_index in 1 to to_spawn) if(spawn_distance_max > 1) var/origin = spot var/list/peel = turf_peel(spawn_distance_max, spawn_distance_min, origin, view_based = TRUE) diff --git a/code/modules/overmap/missions/drill_mission.dm b/code/modules/overmap/missions/drill_mission.dm index d526fa9e77d6..8d1f98942c08 100644 --- a/code/modules/overmap/missions/drill_mission.dm +++ b/code/modules/overmap/missions/drill_mission.dm @@ -84,7 +84,7 @@ . += "The drill contains [num_current] of the [num_wanted] samples needed." /obj/machinery/drill/mission/start_mining() - if(mining.vein_class < mission_class && mining) + if(our_vein.vein_class < mission_class && our_vein) say("Error: A vein class of [mission_class] or greater is required for operation.") return . = ..() From bcc6802332272bb378100feade8207fc6ad26484 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 26 Jan 2025 02:26:25 -0600 Subject: [PATCH 166/330] Automatic changelog generation for PR #4069 [ci skip] --- html/changelogs/AutoChangeLog-pr-4069.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4069.yml diff --git a/html/changelogs/AutoChangeLog-pr-4069.yml b/html/changelogs/AutoChangeLog-pr-4069.yml new file mode 100644 index 000000000000..189242afe7ed --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4069.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {balance: drills no longer spawn more mobs when more people are around.} +delete-after: true From d423caf954547b177ad9557b2fe561d1b994a083 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Sun, 26 Jan 2025 14:45:23 -0800 Subject: [PATCH 167/330] Adjusts shotgun tube size (#4089) ## About The Pull Request Adjusts magazine size for tube-fed shotguns. - Hellfire is the largest of the batch at 8 in the tube plus one in the chamber - Buckmaster has been nerfed to 6 in the tube - Brimstone and Conflagration remain the same at 4 and 5 respectively ## Why It's Good For The Game Hellfire really got left behind after the introduction of the Buckmaster. This update makes the Hellfire a bit better than it ever was, and makes the buckmaster slightly less best-in-class while still being plenty potent. ## Changelog :cl: balance: Nerfed Buckmaster tube size, buffed Hellfire tube /:cl: --- code/modules/cargo/packs/gun.dm | 4 ++-- code/modules/projectiles/boxes_magazines/internal/shotgun.dm | 2 +- .../projectiles/guns/manufacturer/hunter_pride/ballistics.dm | 4 ++-- .../guns/manufacturer/serene_sporting/ballistics.dm | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 7131eca5b7e4..cd630bac68c6 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -290,7 +290,7 @@ /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." + desc = "For when you need to deal with a riot's worth of hooligans. Contains a pump shotgun, with a 9-round capacity." cost = 2000 contains = list(/obj/item/storage/guncase/hellfire) crate_name = "shotgun crate" @@ -306,7 +306,7 @@ /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." + desc = "For when you need to deal with 7 hooligans and can't be arsed to pump. Contains a semi-auto shotgun with a 7-round capacity." contains = list(/obj/item/storage/guncase/buckmaster) cost = 3000 crate_name = "shotgun crate" diff --git a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm index d0365b09223a..5fb5a594d452 100644 --- a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm @@ -29,7 +29,7 @@ /obj/item/ammo_box/magazine/internal/shot/riot name = "riot shotgun internal magazine" ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 7 + max_ammo = 8 /obj/item/ammo_box/magazine/internal/shot/bounty name = "triple-barrel shotgun internal magazine" diff --git a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm index c71564052a8c..f391f835032b 100644 --- a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm @@ -484,7 +484,7 @@ EMPTY_GUN_HELPER(shotgun/brimstone) /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." + desc = "A hefty pump-action riot shotgun with an eight-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' @@ -505,7 +505,7 @@ EMPTY_GUN_HELPER(shotgun/brimstone) . = ..() if(.) var/obj/item/ammo_box/magazine/internal/tube = magazine - tube.max_ammo = 5 //this makes the gun so much worse + tube.max_ammo = 5 //this makes it so much worse weapon_weight = WEAPON_MEDIUM wield_slowdown = wield_slowdown-0.1 diff --git a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm index 0bebb8ffcb4e..8f26b01bb7cb 100644 --- a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm @@ -339,7 +339,7 @@ EMPTY_GUN_HELPER(automatic/m15) /obj/item/ammo_box/magazine/internal/shot/buckmaster name = "Buckmaster internal magazine" ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 8 + max_ammo = 6 EMPTY_GUN_HELPER(shotgun/automatic/m11) From b755fb97dae2f7ce69ad7f20f3f5a8f478ce7d03 Mon Sep 17 00:00:00 2001 From: MemeSnorfer <116136632+MemeSnorfer@users.noreply.github.com> Date: Sun, 26 Jan 2025 14:45:57 -0800 Subject: [PATCH 168/330] Makes Strippers Cheaper To Get (#4087) ## About The Pull Request Lowers the iron cost of stripper clips in the autolathe to 1,000 iron units (from 10,000 iron units) (Note the autolathe material inefficiency still adds cost). ## Why It's Good For The Game Stripper clips are intended to be disposable. This new cost should reflect their nature as cheap pieces of stamped steel. ## Changelog :cl: balance: Reduces the material cost of printing stripper clips /:cl: --- .../projectiles/boxes_magazines/ammo_loaders.dm | 4 ++++ .../projectiles/boxes_magazines/external/rifle.dm | 1 + code/modules/research/designs/autolathe_designs.dm | 10 +++++----- code/modules/research/designs/weapon_designs.dm | 2 +- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/code/modules/projectiles/boxes_magazines/ammo_loaders.dm b/code/modules/projectiles/boxes_magazines/ammo_loaders.dm index 5e4b1ae7e7f6..608c63d2f35b 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_loaders.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_loaders.dm @@ -87,6 +87,7 @@ max_ammo = 5 multiple_sprites = AMMO_BOX_PER_BULLET instant_load = TRUE + custom_materials = list(/datum/material/iron = 500) /obj/item/ammo_box/a858/empty start_empty = TRUE @@ -103,6 +104,7 @@ multiple_sprites = AMMO_BOX_PER_BULLET w_class = WEIGHT_CLASS_TINY instant_load = TRUE + custom_materials = list(/datum/material/iron = 500) /obj/item/ammo_box/vickland_a308/empty start_empty = TRUE @@ -118,6 +120,7 @@ multiple_sprites = AMMO_BOX_PER_BULLET w_class = WEIGHT_CLASS_TINY instant_load = TRUE + custom_materials = list(/datum/material/iron = 500) /obj/item/ammo_box/a300/empty start_empty = TRUE @@ -135,6 +138,7 @@ multiple_sprites = AMMO_BOX_PER_BULLET w_class = WEIGHT_CLASS_TINY instant_load = TRUE + custom_materials = list(/datum/material/iron = 500) /obj/item/ammo_box/a762_stripper/empty start_empty = TRUE diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index 7e2b72741125..6634d2070f3c 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -103,6 +103,7 @@ max_ammo = 5 multiple_sprites = AMMO_BOX_PER_BULLET w_class = WEIGHT_CLASS_TINY + custom_materials = list(/datum/material/iron = 500) /obj/item/ammo_box/magazine/illestren_a850r/empty start_empty = TRUE diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 919a16d27cc3..8e65ad070ad5 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -1161,7 +1161,7 @@ name = "8x50 Stripper Clip" id = "IllestrenStripClip" build_type = AUTOLATHE - materials = list(/datum/material/iron = 10000) + materials = list(/datum/material/iron = 1000) build_path = /obj/item/ammo_box/magazine/illestren_a850r/empty category = list("initial", "Security", "Ammo") @@ -1169,7 +1169,7 @@ name = ".300 Scout Stripper Clip" id = "ScoutStripClip" build_type = AUTOLATHE - materials = list(/datum/material/iron = 10000) + materials = list(/datum/material/iron = 1000) build_path = /obj/item/ammo_box/a300/empty category = list("initial", "Security", "Ammo") @@ -1177,7 +1177,7 @@ name = "7.62 Stripper Clip" id = "PolymerStripClip" build_type = AUTOLATHE - materials = list(/datum/material/iron = 10000) + materials = list(/datum/material/iron = 1000) build_path = /obj/item/ammo_box/a762_stripper/empty category = list("initial", "Security", "Ammo") @@ -1185,7 +1185,7 @@ name = ".308 Stripper Clip" id = "VicklandStripClip" build_type = AUTOLATHE - materials = list(/datum/material/iron = 10000) + materials = list(/datum/material/iron = 1000) build_path = /obj/item/ammo_box/vickland_a308/empty category = list("initial", "Security", "Ammo") @@ -1193,7 +1193,7 @@ name = "8x58 Stripper Clip" id = "SSGStripClip" build_type = AUTOLATHE - materials = list(/datum/material/iron = 10000) + materials = list(/datum/material/iron = 1000) build_path = /obj/item/ammo_box/a858/empty category = list("initial", "Security", "Ammo") diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index f1b9a8c573c6..8caa041fdddc 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -663,7 +663,7 @@ desc = "A stripperclip of 8x50mmR." id = "stripper762" build_type = PROTOLATHE - materials = list(/datum/material/iron = 10000) + materials = list(/datum/material/iron = 1000) build_path = /obj/item/ammo_box/magazine/illestren_a850r category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS From 0586d936dcd7f5791a58f149676af7422424eca7 Mon Sep 17 00:00:00 2001 From: Ratvar <61395690+Ratvarr@users.noreply.github.com> Date: Sun, 26 Jan 2025 14:48:34 -0800 Subject: [PATCH 169/330] Harrier now has anesthesia tank. (#4075) ## About The Pull Request Harrier now has anesthesia tank, yippie. ## Why It's Good For The Game Open brain surgery because no aneth is No Good ## Changelog :cl: add: Nanotrasen no longer expects you to preform open heart surgery with no anesthesia of any kind on the Harrier. Rejoice. /:cl: --- _maps/shuttles/nanotrasen/nanotrasen_harrier.dmm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm index 7bb83ad4215d..349e6d8bd98b 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm @@ -2306,6 +2306,8 @@ /obj/item/clothing/suit/nanotrasen/medical_smock, /obj/item/clothing/head/nanotrasen/surgical, /obj/machinery/firealarm/directional/east, +/obj/item/tank/internals/anesthetic, +/obj/item/clothing/mask/breath/medical, /turf/open/floor/plasteel/showroomfloor, /area/ship/medical) "mH" = ( From 42630c7ff25b7ee89d1a268d086f290e9dc90ddc Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 26 Jan 2025 16:59:50 -0600 Subject: [PATCH 170/330] Automatic changelog generation for PR #4075 [ci skip] --- html/changelogs/AutoChangeLog-pr-4075.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4075.yml diff --git a/html/changelogs/AutoChangeLog-pr-4075.yml b/html/changelogs/AutoChangeLog-pr-4075.yml new file mode 100644 index 000000000000..590d9b973325 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4075.yml @@ -0,0 +1,5 @@ +author: Ratvarr +changes: + - {rscadd: Nanotrasen no longer expects you to preform open heart surgery with no + anesthesia of any kind on the Harrier. Rejoice.} +delete-after: true From 4e2c2a8b4d2ed80163c15170a0b7e64cc100a135 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sun, 26 Jan 2025 17:52:22 -0500 Subject: [PATCH 171/330] Update cybersun_nimbus.json (#4088) ## About The Pull Request adds more money to the nimbus. apogee told me to. ## Changelog :cl: balance: Nimbus has more money now. Be a |rich| lesbian. /:cl: --- _maps/configs/cybersun_nimbus.json | 1 + 1 file changed, 1 insertion(+) diff --git a/_maps/configs/cybersun_nimbus.json b/_maps/configs/cybersun_nimbus.json index 861976a5c61a..7e98407e8eec 100644 --- a/_maps/configs/cybersun_nimbus.json +++ b/_maps/configs/cybersun_nimbus.json @@ -6,6 +6,7 @@ "manufacturer": "ISF Spacecraft", "map_short_name": "Nimbus-Class", "description": "An extremely compact vessel designed by Cybersun and manufactured by ISF Spacecraft for the civilian market. The Nimbus makes use of high quality components and professional craftsmanship to deliver an incomparably smooth flying experience. That is at the least, what advertisements claim. Most pilots praise the speed and manueverability, but have found the vessel's internal workings to require extensive work to access and modify, making the Nimbus an easy choice for people who don't have to modify their own craft.", + "starting_funds": 5000, "tags": [ "Combat", "Engineering", From de3fdd64d33040f5c2a8881d79fa475e303fa39d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 26 Jan 2025 17:12:50 -0600 Subject: [PATCH 172/330] Automatic changelog generation for PR #4088 [ci skip] --- html/changelogs/AutoChangeLog-pr-4088.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4088.yml diff --git a/html/changelogs/AutoChangeLog-pr-4088.yml b/html/changelogs/AutoChangeLog-pr-4088.yml new file mode 100644 index 000000000000..fb59f5ebd195 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4088.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {balance: Nimbus has more money now. Be a |rich| lesbian.} +delete-after: true From 91fb1bbce299a39d657232ab249ee8b0f13d7b18 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 27 Jan 2025 01:02:58 +0000 Subject: [PATCH 173/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3995.yml | 6 ------ html/changelogs/AutoChangeLog-pr-4069.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4071.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4075.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4079.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4088.yml | 4 ---- html/changelogs/archive/2025-01.yml | 14 ++++++++++++++ 7 files changed, 14 insertions(+), 27 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3995.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4069.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4071.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4075.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4079.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4088.yml diff --git a/html/changelogs/AutoChangeLog-pr-3995.yml b/html/changelogs/AutoChangeLog-pr-3995.yml deleted file mode 100644 index b799038920e1..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3995.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: zimon9 -changes: - - {code_imp: applied some bugfixes to the interaction of examine_more with modular - computers and laptops} - - {rscadd: adds the ability to interact with a tablet using the examine_more function} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4069.yml b/html/changelogs/AutoChangeLog-pr-4069.yml deleted file mode 100644 index 189242afe7ed..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4069.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {balance: drills no longer spawn more mobs when more people are around.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4071.yml b/html/changelogs/AutoChangeLog-pr-4071.yml deleted file mode 100644 index 9e9a81390e23..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4071.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {balance: drill missions now pay more money.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4075.yml b/html/changelogs/AutoChangeLog-pr-4075.yml deleted file mode 100644 index 590d9b973325..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4075.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Ratvarr -changes: - - {rscadd: Nanotrasen no longer expects you to preform open heart surgery with no - anesthesia of any kind on the Harrier. Rejoice.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4079.yml b/html/changelogs/AutoChangeLog-pr-4079.yml deleted file mode 100644 index ce195e5a0a91..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4079.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {balance: Ammo cans can hold weapon cells now too.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4088.yml b/html/changelogs/AutoChangeLog-pr-4088.yml deleted file mode 100644 index fb59f5ebd195..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4088.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {balance: Nimbus has more money now. Be a |rich| lesbian.} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index a33eee1b88c3..ba7e36903e75 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -265,3 +265,17 @@ - spellcheck: The roulette beacon's description reads better. - code_imp: Slot machines no longer accept material coins due to them nuking the server if withdrawn. +2025-01-27: + Erikafox: + - balance: Nimbus has more money now. Be a |rich| lesbian. + - balance: drills no longer spawn more mobs when more people are around. + - balance: drill missions now pay more money. + Ratvarr: + - rscadd: Nanotrasen no longer expects you to preform open heart surgery with no + anesthesia of any kind on the Harrier. Rejoice. + firebudgy: + - balance: Ammo cans can hold weapon cells now too. + zimon9: + - code_imp: applied some bugfixes to the interaction of examine_more with modular + computers and laptops + - rscadd: adds the ability to interact with a tablet using the examine_more function From c6b8ed06ae3996b1e26dc8664138c8834290f0a3 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Mon, 27 Jan 2025 00:00:17 -0500 Subject: [PATCH 174/330] FREE cargo beacons (#4070) ## About The Pull Request they're FREE for FREE ## Why It's Good For The Game Cargo can go where you want it. for free. ## Changelog :cl: add: Cargo Beacons are free now. /:cl: --- code/modules/cargo/console.dm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/code/modules/cargo/console.dm b/code/modules/cargo/console.dm index 1d937060b8c0..f47e57f04956 100644 --- a/code/modules/cargo/console.dm +++ b/code/modules/cargo/console.dm @@ -1,4 +1,3 @@ -#define BEACON_COST 500 #define SP_LINKED 1 #define SP_READY 2 #define SP_LAUNCH 3 @@ -112,11 +111,11 @@ 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["canBuyBeacon"] = charge_account ? (cooldown <= 0) : 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["printMsg"] = cooldown > 0 ? "Print Beacon ([cooldown])" : "Print Beacon"//buttontext for printing beacons data["supplies"] = list() message = "Sales are near-instantaneous - please choose carefully." if(SSshuttle.supplyBlocked) @@ -172,12 +171,11 @@ 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]" + cooldown = 300 + 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)) From 8a4ad021e0b55d75b4a07e69dc5a14aad36d2eb3 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 26 Jan 2025 23:11:06 -0600 Subject: [PATCH 175/330] Automatic changelog generation for PR #4070 [ci skip] --- html/changelogs/AutoChangeLog-pr-4070.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4070.yml diff --git a/html/changelogs/AutoChangeLog-pr-4070.yml b/html/changelogs/AutoChangeLog-pr-4070.yml new file mode 100644 index 000000000000..f14829bad13f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4070.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {rscadd: Cargo Beacons are free now.} +delete-after: true From a9b8c7cdc137574719bebe1736c8611dd76b0fa9 Mon Sep 17 00:00:00 2001 From: Jedi-Toothpaste <53096233+Jedi-Toothpaste@users.noreply.github.com> Date: Tue, 28 Jan 2025 00:17:03 +0000 Subject: [PATCH 176/330] fixes misaligned border floor (#4095) ## About The Pull Request Fixes this! ![image](https://github.com/user-attachments/assets/3afa6feb-0a71-482e-99a2-2653702f45a8) Fixed Ver. (differently coloured, but the base sprite is fixed) ![image](https://github.com/user-attachments/assets/0be40662-92c6-4f1d-b16d-f9e8c216625b) If there are any other sprite fixes you can think of, I may aswell add them to this PR. ## Why It's Good For The Game This has been bugging me for Months. ## Changelog :cl: fix: fixes misaligned floor decal /:cl: --- icons/turf/decals/decals.dmi | Bin 211588 -> 211447 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/turf/decals/decals.dmi b/icons/turf/decals/decals.dmi index 58ef66b36d207116c3050d6fd3a2ab04d7bb7e1b..e1fdc359f29ee9107162c99992f23a7b73e7a70a 100644 GIT binary patch delta 121013 zcmaHT2{_bk_x}t^vOQT!WT{9|C>62{sqFh&Vu(^?FS5;-7NSC=p)ko#*6iB|k##Ej zI`*-ReTLcpU-dli`#kUeeSgFnr}Ko74cvIY4~GgnTsMo%@e%Qkak{pII^FCh7p z-Fzhx3^WYw|3#T$(k%C_Ql)e6RpgpBlpkm#zJr+YJ!!jBQc3HsDOwpDn1saW1*naO zk|7W=h|U!a^XvX`y3U)Ki|=-d=-8EO7vrAYh9>GCWO%nCi^1PdR>>Z5^i2uoYb(s2 z+*-Y`&KJ++&WL{;$geHY8q1vz-+b?CRX~|tace!;KafhF^K&Gk0q&kmgC;r}sM^EH z*f2Sr)bnaGRgGGVRxmviSngJLXC=w~h;WDf0KZ2=9@g_rKw#iH%?kBo`bkr|quGfm zxHUYy|Lq>dOYbzsV2Fc>`g`l@>UO#)1zJsmY%2Z}SH+EBOPhy+r#cEEPX4?Mv7vLr z185!VVTD1WICv!wqh}yoi9wP8AZ4j%weH%jVjC?9)qFg#ma;3vWCwFt}tR-ww@ zLo=J~mmNbdkPRvZSQ0)8=pRdLs4iP=Op=$ma!Hkwrr89E&DOc`ZJ15`)9IG`Lf`Iu zw}wZDh8`H*8ZV1eZP>sI2`!#gJkJCvmYF#HnYG78okg3bm7*itEDzQ(r8sCbp{isxvX_2d5teMWdC z1a}I0$8@VMkl$|nXC&4ZxX18^GyJb}@)7Z>cPYY5(3v^t!Vp=-u6SzpW84pO+Ru){ zz#q4;n)V@aWN6G(7CGxJww5@==My3T>qBo5^$3_TguX1S4nVBg!77)GaJxo$eLKa^ z!EjqT=2OnqlFYr9$DX}=C%){&W7&TB;%oJvCHBlkvDd9F4}LyKRqD?Vw(3UUYvh8* z_2kqpzWfx-l(@WadHH0?&{?Omdxg>(nsH7%MLY+GyB{6yufy4fZUrnnRHb4QjlZ?7o;e8dq-Jj0Y>Z)9aHJrTb+ez5iLNl+7U~T4)*pC zBU<0=qg;m5vCm0pZ+hME^}`djM2Uvd^DQM8iM3lsvyZySg%0=cb1*YA?~F(88LV|? z%^Xs1y=oOaZbUNO^60p;zGYL`*w6qmgwY<{xAEc4%)p7sUmV}sc^6Oo5nfO7vn$(? z_=bc>+Lj$fdKp3w0{9Ei%#(Y2e97M8JnD^1JeK=)r1yxMY3qwOoMu;Vylf!#%&A1= z?d_wlnTETqqaLnSak)94*7|rN^h*0>sl;!1RA*!PY4Lm(9!ufa3uV~`eaB7An57f1 zGF>lCu0OKWZ)asV&R5H&(Fu>2(^sVV7>2-4F*=a46*bk>%UM85zTi;@AS}E%T z{%?vu&!d;J!UHNC=U&R3en0XGb+dk7IJf9tNbQCzwuPu?7tP`gzw@?KR%5gI5BCZn z(c5A@Ci_9KGY>r?XvCQGjyq=6w) z8+lCXQ$ND2qP(#lVy`K{)t-OEk3+C^0Om47d4V1)Q4GuS0mgRnIk?; z!mzJ)y!Mf|b9l{Qlv$XKW6do?53UIPibV0`&`7i$&I^&#amZ`EZAx59Zfa=%!}{77VJX z?S%l^ViC7}kP`#QhmI5?9ulH3zTt4BisbXHw;u}W26g$_hU$lBG#OYiCKr@pgn0I0 zPOv7_kSgY32(j7;70+wAdk>Y$LLp8rOLFuG*~vu( z^d3l&2Ubnxk;$QIXIYKv+gxE#5)_$96w z-7mR0&n(Q?d(%VArTku2^YN6Ovd-cAh?Ib>@mvqQ{ zmZ@1TF%D1iA{P>m#?10qb^q3H`jMv6qY3PHWSUdA^S@vaM0rSqG@PWH^pL@@AK1`? zK)PPZdumX4(pB{3cisc8R^`7;cWb>ErsP47ZNra5Enl9V^=Qt6(_CIgMcpD-pt&GB z)9SOa&v6xgY58~#NJBvf_Bo8k5NX+S=q3d6Xt}s`HwG8oUor2>vJEK1O-4HuH+Azr zSQ@Ag`SHW#!NZ4>4Y@*IP9M>!W}?xwreRJaG{b;la}NlP{CE=laQ#Z{#irn{1;LH; zfS(BQPgi&>Ki)Z}5zlg3?DZ#&kL7zK-U*7kf~xbLK9O&JOhM_@Z6opTE}$tUD}u&- zg(>2SOwJt%UiD+_4Po)xm4ycv9>+P6=38BCVOnfi3{$li!EfhLHLL<3G{vTM9km7k zqrkulqajQ9K!~bB{XxchVl)%v-Me>dWTRl{$T&%Z1Jh1`D0|R(P8SsVsjd)#0E}N; znW8VKL4BhNBhm;Yq&p7_Drimt9g+DYQ1fN>dHK^5kBJhXWz+X$ISz1&ep$jYGX zsG-xcKv0)1MPZ=eK62a`dh~D{pcq5i~6ns!)F*T4iG&kum4c>A&ce1b800h*y0mn0wrY@u+JfN+RpNsL0{V9a9F5A6C4S zMd9l@(j+Pjrm;x>&4ZJrqBO}BkuF>L8+N2?wQHLmj_b8?w^f3#9qJZTdE82lQe(9j zLGqeHj{(}xug8^##0!ZeYR?Av4ym7eADS#2o}ArFRwf3<4=0l zgVrfV>fTgBYu#gjiE})+7biyzziq>*4+{|JL2t1IZKfDa@>c-dU<#;QYh({)mt~20 zFP*o&jcyHPW{nvvJ`9NwKEi|u^7t|Brd+}f*d`9$tzYdvHNsF#&=X4`k|8w68g+V0q2KX@+L z+2PCMJ=Tx9l@b&@T*>w|Z`2HL&o;o|&|kGS?j4_AJ?#&dW!FNhOJB8JL3biD&E z6rEl*X!?O28BspWKr<+4$JRq0%_@){F5za>O#F!B)lxNJMr@HjWg$vPvoPViYQiVM zaURUECmfv}oaN(C4kJZ!>p{1jeHclYAulmk$Bl&!wR_AnmtI~k-y_ZgqQk-dr*)jx z*BiQ>UJHwMNc5K^>eQG%RSieN6#?4&gUWu~a$*B|?K*r{X-XUnhaue$#c4}fb*$xZ zHP>5)pKhHN{x*d!RAKKbe8m6Ls&)_3F5ndCQgR;SDz)Uk!o6}ALN`4ztMwJYlFvYC zh3q@;q?xGx%Cz`eOXSO>Xb^88P<>S403w)qH1mQG#Pi_vT5AybP*T*FtGA@+C@@UYCK8~{r;-9#y`=sDs{N0KA3WX*PgPy+B#kr=yiA7urqMZt21cj)RD2z zdjchI1>X0NamSVT>r$cNu<_vSvHHLes5%@jnrVcJ(mx@85AA`q++vKOr-uD*Dtw(Q zZWYm-ivxi0nRzx24v|m`s|wh2OHhU2N9uQ37IoWUD8$X#9`#L3`O+F(&VY8-oMXjxJDQ(9>IZCbv zepE>OI5V*V%>;uqhQuiT;loi@lM=kiKmd>MVV_x}Cz5d9ZJ5&`st|i-t=4l1bPODI zOP)pyEWZ2Wqgm9$$!CYA+6t)(Yj4pkklwyNhr4(0wyVkC>1>#vKk4G?!>-Ypa6#y} zj{V8$0x!&>GzgXB@(y$*?;x-4jmG1@y!=ex8sGG&3Vt<^@WgZM;lQ(VEIbe%Q8XYl zVE1{E?>)OrB_w>6=25$2RoMLYIICCp@cV~5X}?n0>3OLb5ODe4;Tu{%FeuPesT#S? zVJ~rCjNPflN45HXAfIDentG03pq|-fB7o9Nf6V}Ee?2Bo$Ufn`GX?7Ekl#kf~%7mvM(LOy5=8eU@tLX z7jIyqwpIbK+8&_YFoaXW7UXgskbHP69!ckCRa7ARfW5rJbuA?V!iTS(kmpcl z7r)P56!K&J^l2x1=ld^{wIPXTo#YSN55@I79!eZ--f=vhCLk(&`NV4oSPoovX9^x+ zS{83Pcj4PGZx5~pFmOr}=vZ4TDsybzr5}df+}!TEcI1<`d(Dg-9zCjD4u0%Xs3}%= zHkkZ?@`Y72sRaM9FfciIYyOAzcn5~kZZt<2-_GEM5qnmHrZ9K>j$Su|-G&a!!-#zf zzkpCF+WI=t+VM~UQ+W{6+uNzd#Rpiq^lkY|GBR#20;}@QliIJRD+!h4v6VB~$@1Gj zHW_#{z2sBE9|H77&Yhn)55?R2PC@i36lKtIB*V|`dY1rw>Q#ZJTpaSISwHsUCWDD} zX;D*{UP)ST_9B*K%=(=kL_05SCJd-4>z_LI+77`-bC$Jfcag25n!`LO)BPAcib9<& z2apK57ZUr1#o7Uh$S6s$rh7#u+OUT+p2(_1DP^IVt_yv;aWMv35^?&R_A!OS342Da z@A+wX%oVryyvXRfVn6nwf_uQ~jn0*uQJ+-LR;lt-J-xA)*C*(0jZi~GWb3D9A<5Sk_X35P7Lw7l5j2pzL1CAz{i8qicq)EaNNva$&xs163M02L zq8;ZScEZoiu9gRT--Vwl;pMGSz8SRsb?2)rB2-VNiUs2NmEUUO5PD~iO#RL+NJE|- zL2A@*0`4`#4%loA20zg%A`NQXTw7PR9LbWUSjGsP;)}Di7OBFH;qeQfJCN{;F92jM zE%SRA%(on~?&bq(E_6Bfz{0FnAI1&yY7s|}wS`pxJ@~50D3l8<5hA@D@zMOCSqDtU z%V%j~15Ga|v>zMxbMVD^+n;`M`draD2+y>(HLq~lxhlh(>h5ZVyPL=RjqmATaz}3# zw250c=4u=>nO;^L>S*+)e+Hm~7X$pLdzV(p`%4bv_hz2_sTi=8{cvmE#QkunHT@O* zya%bXI#2{y$*GV@8B?uN4JLnFC8#kvFA(Fc-j*7<1?+2Ri^qbrZ~ zPDXqA3&ceJk1C|1o`(1M%%$P#>Y6uS6p^8a9M;s-oX6vz_2_-b%VXbloV$0kcVarn z$L)wmL*ieetx3{BFVhb~ApLd99(@J3&WIJp&jq;8hSe!zw9J+}CI*=Sb=*td;v*L` zPU;diK(4HuBg1p~CqqRkho0tYIc&w48EVs6W81QHJ!IHgMG^0B^h6k2G1F9C_Xha>qFSUP1(r^fq7kr8# z;b+WbW`M_fP+okbAyteIC}Pk>)7!3v1EQ;=K^^&@WIw1es*K{=?eW78eSNBPX4GiG z%=1giQBfq}!Owx*5PgJ9`I%(*&;dvHK~HX1VclrdXPVNw&t*4;xqJPrr81gMq3rb> zuw4R%3iTYOeN#M9P=)=z?DvsfPQF$T`byx+CgR zC}FA2b*n?TqHALrZBCVUeo8DU{iq!Y1GFhVJ*)bUk6fjaS~p!*zoL26`hL=B<>-?m zXwk~E_5w*lDBbCTCUYA4+8pLjeS9|BTg<=U16N z#egffX+sCpz zHIAPP2Tw02*=%`?`0lmwJR9kF?OD$HAy=SV^ZM@LJh_Qr>cnew>lpLvA*x8*n$~z2 zN4Kgo+c+cD2FN={nq4Ddf`_X~Z*A~CnCp)vQA3SqwAk3p3IVRn)>ULC6Z zJofS02(Qb1vdNXLMs6^_(TnUES0(C8&kw_Q0o_ZJ`wX)RC|C<^Hzy@F99q`ZWN-bNa6AnTi>!)N#d9Ky2BXtBcVP6FW(rqk zki#7{baPFkeLdI^y(rXA`p<>8r`mF;PKPAe=H5~l6R>BmdZYpo%R_anD8`Xhm22_9 z+$M@rS{6VMBz~=!Qr|2wv}CNru{_e+Ajoovw~F4OECB(|cUz^dX1~)^HkG>-2gxJK zVn?}w(PmY|3el>&e)KW7mj@&BcpXh^j6Rh@or*$@)ZZwC*_}|44U0SSVK_V#S<&aE zc*k5j3igROfK~8pPp50d+GoVVNdP-ba}LdHBBl8~yV0sZ~)?_jRz`2llSV0Q6JCa&G1}kA^07Zz|wW3d1ROC&4x1 z>}SFC#Pzr4(4=*Zx5)4+(2izynri9jS;WM9kH`YaggB}<^=k&r%-$#@-X=eHI1WBL zgw|1KD!#t{hYvMXZ)ETRzqj(fkAQMN( zlIgZW{i<h1-ff)-*jC1AWt|TR2fl6Uo%~F^EjKN0D{j-^FTl<78?>Cy0w#oZ}n$ht-Zb-%hJ*6 zx{>$Y=;ko`qw)78;C9qu{-4v_6tbu<&uL)LvCNh+#B1-nc)Y;zM@Jn=R^i2QXH1Sa zcVTZ|^;FcGom2S2H+9M6=U0nmx6lY$fECPcIli68m!@^q9FK9Ox*KBvFqE$B5Xeo@ z01=Yic{c5G0M(%!U0**vpMW*F$Y!ZsHG}lwXf;au#~Pxi$fA}!ojM4MB?3wndgqvz zX!+p_Cz{djW0wY~DLp*1kx zKrQbU=N)UJc{&;jWF1qb7mc6>QtY|x0uaf8-8>jNZPAL)@Ly+!Mo5S?Y9H)(rqlW9@5un6W zRfv>NXLgJTz=toqX;gGMFx*=eT}uYG)8HnGKmO8k^afeR^6?SfO&lYE9oc4#oU#=Bpi8F9tEe>r9j&$1$=v17Lq~G#v z6}6y9_wjxbm<>RX2&-4oA3Yu02`EZ}$x&5$b|C{1XYa0xrUK;ck0>F75Q}|1qH5<6 zpQo*+IQ=$SA23Xsgn^s)T)QN$Zp4Ys-ZfN6%`amM^zFgtfMIz)ZxHcpgenrpi@xzf zqDFC=JB@}Ps%s^12EnmjNuUzpH%4x}Uz?G)fh3XVunrEmQR`CRYO4J(0k!mN3A(ln zS@M(!x5}f$a7WptW(s0BLbav~dDICi!@Rvci!^nDo@43o3k*d*cY@j9V==Z1sa`iSJKyqiA8A+s~1Tx1nl6 zptJP9=_}h`1$wISVpq+~%pqendUWt&vlH_5ZKxp2cdWt$vhX%kg*o^`1#;y!R2oV} z3f_TQ0AR#aVjzWf(|ZCo6wD0g&a!!G{ivXLxdK0z;Ae&E=sjzQf`IqT9oVxA=2K+G z#O?809`JLI{oF{x^*;kda#zWs7&7h(uRXtb6t}2}sbbJv%eJu8@McJ0S*fnW4Vv`1 z=Zn;7HAWrTFS~r^kRK`VY9Qo$41KR+BtZ5Xr{W~h?VLlNbhQg?mbH@VNyDfuvQ_7` zLdN-Y6vG70r~^yE%oAU>$fEscr=Oo_ka~KrE&3L(Pdl@2(7XccXU|HPPvfQh6+Lg*1hcQFo*}ZJ? zJM&ciC@*}#kT6IPEx7dcXyj%zg$gpM69$L{f>j{I_%*oyPJk>su$d=EibvNy;JNQ& z6rxxLTOhcb?m78af4DH=l^x@rHjDv!DXRfO>CGbB!7QR=9bHLhjPmN4gw>0UjWv8I*$*I0JM=d4&>r@Y2%Mj+>X(fOJxZJ%BXVe- zfC}5%ghejFE|6x82YFAUDoep7V|3b%#`LC0kMh#JHDAHF@}7B(m`&~G?sXr>0P4?4 zHAXKC9o)OFEGy-BDpLG)9?w!DL4h}a z3yhlC6$n_j$%a$K6YLmyOXSsekQbLo4_nF=3o6&#URp$~g2nuPOjQL9S zIST6d)Gsj>uY5#EM^{vF9}CdgBSxbm@X;lhi+(h0W%pc&Mpwb$K77c=p-p<>0sBzB zUpXy?e>0J^P!D*B|K5~#^20Nhz8Ia-P|J0bpM zye_RO8$g54k$rgsgIVGYxvHcF&g~{ErEG$gdv}teYLM3-+vI4$p6O`ipBP3q4Q!N@gnv|?7`lr zts0d8#_kkr8xH0{qhtlQ?Gw3qjwhDkIgFYi<8BcaFA$#~g_DMvKMlumk9xv_;*Y;1 z%U*ES9~G&WGWbgc=1nBg3_$AVbadmmjvUKTn8tzLdcn1g@^a7dyrL)_iCi)_NXMLv zXOY$~`kG2JS;8LfPlQDqWGte80-tPay4?*GUN7dq^K9S6+%`P=sRzDR-N?tmAj@N> z(L{;kJ6~7#t_|p!#-a7DE@4FtH`u=kF=M%n}Rg4KvQyb{dM1i{~X23o@Vp~(av1VsT9oy z9R+now^+99Yq^D#lE7^m?$$}PO5Gt&xBRc$5t@{=exR5&#YLM7H@!t=nlf?rO0~Xj zULt8NbKr~C1&+{{Q#bQ_Nf=wks9@t=Aa)5I`^gTdYoYgHjhH=4>hoU-DU`68{vw(6 zlXMcQV$|5mK_V{8=6jO+WdJVIHp#*4b0P|Zor`}^y{DJ;_6ivnHcW5KW>6hG;|mzN z#G>CP}-TLz+=;bHe({8AfhZ4wprJ+K>k%xR-U zbNy|jXSpy3(~S-g=j)!@Rmv!lWTtk=-E2y;s`}lCnrObfLza*3%L~Hn!_2g0yVA;! zm&RfWP>~=sCRgEe5>|G%-ZO$)AXiOi@oY_=O^#}9y!y{^oz!`wgtt_0&sh6N({C>m zKkL%XrnIUq^#u56Z3x|0uSXhsLJt9_wDF|L|5$u3{b@v-ENh%2_mhr-NAbyw)%=0F zp85r5(GqOHn6j!HFlOQLe0IOF7MG|Lsqo#0Uesr6^&=;(ock<296&hed-H!T_84Ju zK%*J~#-J>)y`2Tzss^O^Xc1=RCnG19u{D9-1a+Lxn1$+RRM$5%57 zgCRjQ^Ym8C81s`F>aGfH&Y@ zX%*u|qotxtAd0d1B^kF8`o$KJNy%!=N7{Nq*??>9O@%`L)ZTj9?{^R?PZ1SlNBBif z60#mz3u_~uaDMxBl%uM0AkXsv^dZ9gak~BhMi@vi4(#?k{>u>b7D)USq{J0eB%B5| zFy1gd;Mcwm^6KZ)(O=&FI>@R(dru?^G$+p`8HG9;NFpiIi{$W=6~lkqiNte+LC7gx zX!W}fD&YLcgf{Txj4hJO6SU8X?a8z5O&`;jz@h<>i*OH=0yo5Cjy}=AmjSUgFczua z@8tR4r2Q!jA(g2{wPgP}jWe|K`n3?_EmtOeHvKZg#~weWV*2FR>I;~3j?W7%r{rU- z%(MQfAOIW(^9Z2G+rs>)e2>*s%F8aM7OpuzfX7faLsr3&t!Iba$>7=z1nv2 znJI81d}HB0ig%vV*O`)}t9K^y!S2Z#?b58m=)Y?e7XQpvI8;RBz0D1&<3${QKOul- zmbz$Up`LbYpF7(DgE!yQmoWO5MsWJ1%d4}_N&nOSrc^lI24=tN(DXR^_t$}Mn;&2i zkl&3(zQ!Z{i9KGcWAM+7z0=`U_|5C#Z|exve#3S&%BehXTIFSu03d!Zj|DO1msVeJ zw&=`udt|FmSN(K065bbp{npua39p!$clKM;3 zB0PYSLB_emMrT=XQPPI>20(rZBsAKG%a)es9+>@bQ2Xjh2gb1qAz+O>STrf}V;jgt zEX*PeD?&b^1YvzJKa$CG*0DO8t_SQAtM$tm6|dUH=yK6b&-z+Qa)`n=B;Dmo0Lg^l zGvbp*_NVC$VDMPblZm4&{*Ugvx-~X-SH&L?@Y&^A!P!HFT+{%p0(6A4W(i3NXMNrl z;vdcxn(PU9X6UQS3KavFC`{|?1}^3%7+(>rd&Qd&CtIQ|CpTJ zU|=EVIQOZ9!S|K@=kRMVAbF_=ki51-Qo_ z`|SQwpn8HGV$^d9nG^;^04gXk%~FPY zwxBHwI|cF)WxuqLPrJ*ce;~RoPhD!#v0W+#JR6M%;B@UY({@wg1Mr1@8(+3Iro(K| z%|yo_ru!gpy_m%ySGTkQtz4pCiMWa>aDyr3(MbX`Z$zZ^Z|?D)X%@?&^$uL{4*x?B zRGmw}lde$k6)R8&Q2kB$ptZhU`DHy`4XaIQr4F_x;D)lnG+AXrtEE?MWnET^JZCRb zyDVl`0Rk3>Ce?#47_9XjQx(I{rx$}vHb0}N)+2^2+OB$Fx-E7du!F{m6-AypPnG3vYi51m6EG;>pc{ zl6OP9yE&{7aHq9!hu*jAS0a(DIznCuglmG(WhdivaQ7S8EjxsiAz2wa7(fqFfl{A?1GPpg$dG3^RlX2nxR+P?DzYq}ES%8;pecGBw2G zx|=nPL{d~*cE9aDuer!Y+rS+Bpv>6m_S!fM{+I2}g5p;8ZPKJ@m~Z{IkdWv}snW~4 zMN7&+|Kf-{e6`qkn4AAkEC)+=hh_x}3>d}j4mN{BxCR4^{-tr?p5JN3*|$p(m>_CX zf4CaCO})o(d8mwcdz^OR#Ud=m;khCfOXca`){^=&f1o#Ms16X3ijwCg@s4$@L+2C5 z5sd+K&PA{-l!F*wVy$Aej+xQ2aqXUKbB>C`TfhntxioMeqonU~;epleLGz)jqoo`7 zA&>5;4>&;PuRo-;bU`NW``x{{S=SZ5Qn}GW%8zR+YzrQyYj)v)VKX0%%33=6p6a3r>F*bMX`q9LZBw+EKwg;%B{ zq(ja^bRgGNXifJZE``CZSW$KNN_VCPDEQszm#eh1Y>J9}3UIUv{HSQEAmiVN*`XolDA&5##BPwy zL8wuT=OFCwsGcpJrudv}x^*+ar_LF20#f!(qA?7r&l)lbgia^ckE?3UC3#s+o=#VN zMo+2PB=bR%NaKak$iaTw&bKe9ta0W2nWt`BF3bNBeRiJfpJ?D0xS8%pp{(C2dx#KM zN31r$H7YGEDX#>cSNEwtbrFaD7itmRn z$%cUbVR~qs`QR!EPU9FnS{SsKP;11e9YtrN^LrfuVrMBMd7Q+OR1IS}3gabH8@bP(;qR-hU z_r6;+yDe(BKfI`!?Z2uB)&Jf2BFWr+-|;L}$x)BBoZpre8|eA;84<$HRe@N*8xh!7 zp_cnDkj!#sOw8#91FJmCYsS3CMU3mOy$~ck6lm7d}w}pa!hgS5A$PtHB)rQBvlDrws;yZJv z$3_~kwrU&dx`5(!Z6C(eYHfH`0ZGct+9DFjv#?~kLVrL05*n^YFZbNOmQky+p z*5*^!^-q||pZgx(ue8|;nV>%7Og35;Buj*>SX6k7Qb&^qvQ7l}z2ZBfut&^iE)cC2 ztDy2TRj6U^QJYDQf#ZK&w(;X{JerwS={_%t5Orqx1S_xQy@LO^f@(Cl=nV z_B9~JD;D-NqZdaFN7kzWlEH6&JB zL_T|!W&VndKd?#ex5~KL4LQA@qnLjC+2&9juRVLsrSE`>RSY6lwCl{7)WJN29nGN` zy-0lZetnDExnJQtr^?3X)ue}$xARi=$T8W^m2PeEg^+u+QmmEizm!)DptdQgU+BC( z?_7vb$GFySMu=csX1wzu7i%zi4sLC=XQkGQFdt_&6Va~?a?dU-eA#dg2@3*qBU%%2 ztE~f9IplM|$s7#j_onvTGS993UALQoHAy%$D@?K3DAWeLpOZ!Q$7>#DS`e3Smv}fz zH!REg2tM%}^_qQU82!oTVDD*w?7Rg31wEi!N$8@LGVC z=uO`YA-rw*#Szn-gc;#+oks*dD&RET=3LHF&Y4F0({=yBLWx$;chORMpHn3`8&v@N z6Bun1!fU8%o9o;*c~*tRRp-Im3m|9nTc!CKdhlDywv8cXxHnSGq(HEzP9{e=HiZRh z!`1r>Y_&E}h7}D?U=`Q9G2#WZ#w&E|8jbj8dsNB;6fjSqYd1y{B?9jTZ+vM|1d2}3ajg+UNoEh9*={;JXLLjyDrWEtuBsur`4p=jeRtS89>1-8!0n?*Yg zyO6Nm=+bVj_6rZzZEfrl8owsu-~ptEzO1V(w8Urt7$kq!f*szOJj+4(Q0_1p#Msoc z#-h@H6&lH_*qg+kAQeOdi)0&c-~ucZf@za7X!GBouVuB9^7RAx7aEV>MY9Ffv{Y6> z_Hw^jL}m9#*>se&NAnf#g15+eyaHrz7&LE>fDoKGT2kQAC za-3BWTSBXpmP5|5UztJRCwSK)-`_32II%gF_iyn2*QDA4In>_Aah6+orW}{9Bz*sD z8aNVET#4{Hj@0l4^SD%wSX(p|n`2CS4_+`)liI~d0g&mhmcG<(18IyJ;IP8Jc4f8D z?b|E=BsQ_v0pxHtNHFC7OsrjhGYlfYAC^BCznyieY*z32PL5qEFbZqA7CzAOI11y_9j` zh6~zY#2fyYo51N;J`;O0AHoBI7yIRAxjUt(x0l@|+8jX)!Rgra#Gp$a2T||gM$(a7|2B$vXLWMqhIT`&|X)gIM`9BFb$+vUe@55;nVm$Tcz6w>z z;NaHa?J&Q$9#%6*=mRJ(V085B*k<_RuR`1z zd8xBz5`+@r@hlxcUJCr0J1Rcs@3r3oK&}F55)?L13f4A5RB|UKd2T~uqW)_g%x4N= z6e;8aApJaIwv&av#L8HMWB4d$-nRstyrPs} z1oi=>j5Ggp38-K3ch231$4HGt$0c|}n5We7b>f_Aw`OJK|9`w#Jxrdd<{x0ey^p-t zrVXj?3r5-faXumZw{$n2gG4pRP3}74tBAH`;S&MD5|Ri5CV_So`~5z=kOKF(kHI!? z4VSW>HK)O{)c`P~{xK7A!)HT9=wgAY3V+sRS@{seG1o?}PmcKu8 z({#jtFV<`u4$IUJZh9jQ$4238qQa24FsQPbE>ouwCY4^lhW>8y%QaHkudK>u*+%^; z9~3u3W+fZBKx3S8!W3t|{t{{)?8po0)K7PTKtSciLau4;rL-&x^)!8xXfL^Ns^ijG z7v#fmsOmkP5Rwk!3bYTrL|cV_QnYD|-2ibxkeG+r{su+Jj3hdwEn;1(-lwPibD@gg zoS}Vo;LrBQ7tWmr5qsuLY39L~9GowsxH#|p{5)sf#N3)R8Few_fq|{<#&L-et-rd^ z&GXtwq32LlQ+=5o1H@C>)u`WAtKolVV6Z;JA8jOFx43B)lw{3WBElO{9CXo5Xt>H# zB5FY4d|wm?r;}FL-jbo>A3r8Tr!VBZy8+SGcXcs1UcoeT0Gaz7s_zUUU%n9)i60jC z_sw)5JC~qbesKR4eaJT^Z7^~73BxKqoaP5p=loy1y};zjWBUYh4&nlJ0!Q0bfzk5y z0<{0Ff$y@K>?~AG``r*)8E%~Tn|vBaq=Vt&Peh7*83sK9eBUjcdBMh>=0SA=Ht z74^SMYG`=hK?3cz4To{>LB>w!` ze^9C5^~`W;b1V|`%o8lp(yfC2!Z_YJxvCAP-@Q%^Iu&g_902CuQ zia6NAizJ#^(@C><2^p|yIZdFh2QVTQ>4*AA?>)!TE`!6Y%1Swjn_ovk$oz@v*uUDG zKCQC<=yN_hPU0`eQWSz*H&6r9%D{Ft>OD#k9GU!pZ!kb(D<7}m`szo$K!7OEko!;y zJi8`<53iy7E)SY)IG+W)?!hu1_($kXN-R^1%(r1;?=}@IybJe#54>-`(NT$1kAezc zgpQYzyW&vWtFP|dp3x<*zgSq8jz3yJ5Vf*xHy>TpSu!%2GUCI@27-6UwkS4s$!x zX1TFagzZLJ`;f(c1zWpm)2V1I#VBKy@n#cQ$7)TF;XtFNL;gho{YTph{ZaLUel$FX z!z-UrxoDcnGazEm7X?(HxV#Jms}?o{kslv{Lq5nq#1eroY?iHgP zqM1t#a@sVt;BhPGLw+?0`c56=%0mWw4XgEO%g_g5PAsG&tjMI-P(i?xb7^0XM}}oq zThwRjev?6g`*{3z8?k?Dm^Y9v zDtB6l3F{{@>v>b(5UpI?McPNz94MzA-gJM!CI0L(AI@lWQ5Gmu4(C6V|J;DWmMbko zHVC6o*L_k*iOijxOJ3mEX?M)axzbLHPrp_2sq*d~yHWZvL*?nxNCt;17yp9lhivWL z(dWpnhtr*I(+|0lK2T;coXunOQ;&YYbCar4d-aaA!!Pv`kLS?!(RAra%{qqpA|2<) zC0E#b8^x?o{@>f+X2xlh|AaMN-Z)|nPVinq=u%EmWAW6L-(ncuW8kPld!mqT-O0&6 z=KKY5WO*97@F_QeZk9t4o$&Z2!YBkAL++=JYmAu{?*v zzJ_lffF)(&nj`s$eP$Y=@MI*<8Lv9}R|}+Rim_$reOJzMj=&>xViC-L>x};XLlV2y zpD|~iocHl6)`Wt`+F3<*wcT#he&`Q~k52>nRTn%9ALkIVnv)gbjF9<4M#gh8{cx6r zSlXJ=3iK@uv_R*ph+o}gm4CLA9mIn9ueqmhLw;KPaZkGtUHh@bZ{kF-ZZlx787?p3z@PBS=vXV24Epp zRuU_yzS{lbO3=MC$ zu2iz6&5|WsmP!#ZE%s#JcS?!u`}&|1T9jRA%DxXtc0))g$~I-s5@T#(jM;x@dVk*E z-{<>#{r~gorNZ+(=RW5?*L_|0xzBlo8`+G$5tFdeMp3xOF$=`vxeqGY=&%a{E7EVw z-cwT>YQdJnoS;w8y<$7s96$`rmY?DN>u?;gqjkS%J+yU_jyA#wKEnUI9gQyXeu1qZ z#Al4X{?ROzj~l8O7t<6bKwTgw)4KULF`mcfoA0T-a^x=zX)^}%=h$+ytMtCU)ozXQ zL4N$a=J@!^xxXYFMknDAJ)ZOF-lr2cRoqmDZ|M~&KPww#;;v)>**QMLJCAN2ET{h^&Ajl1L z`p66ZEjqY@|nv7&P~CLzszF463w_T170 zM&b^!_+#t-R{?+=V-0^j45KVP3ZrpMpeANI+YGyL)D3*YTm4v6wZGTwU?MpqCYXW8 zu(WHjzrd`d{E9C!Ra$C(lX*b`vW@;Uk*C1ziX?OTk)!O%)8R&+* zt&JjylGYiLJf1Ss@7uet8dRBc|G1dz^|mSFZ92$AmWEhYN=naFC-U&ENE=O-I~lK_ zQmgd34Mz>*RHMAaDq@e^{ZAvC!NRIKB<)Mv@fiGTFZK~CwAkML+Qqx(O!cFOTDnGipIN4UzE=GgYws0=wC3VUA z{rn6zN?=>n=nJPgy~d9X&;ugn6JG!vxx4the<});Yu43+_41*&AB5`H(#lZudeHTa ze%Uj#yS16G8{Q*6ZVk$N%lrCbl?0GWNoYFbM3oH8RBxar@z6bL;~*_EoO2v(lC|+g zWh0`FsM#WVWGq^8gn4P8l5TZi_fiUKV=^4Z89`$Rkhghi;(LkOx*j|_nz50|aFLnt zCA~L8DvQB{MRlFLvXBv-#UKHN4vw)U`gk^VnKuLLsOr%+#07FGYa6(L0}Ppkf2-3M*|IE(7s_NA=zj~I?*9!F){iny z%Sr>c&)k^`TEntDpt`Nn-%ZOXspHW4VgvBwS>NmSafS)-s13OB6zwBe^BARMkf`## zsNS9Xk%HUfcTg!n&TsrAMts+uocaJd%#vi%1M=3|&v@=SQy#yCpRI4*IdNiX zBaTFvTE{gM5tbf#SZQZQ$<(Rj7MO1q?Cl#rbh7zcc>S8gTIa4Q5K((j0vtu1FQC(8 zUn#{Bx@rmFGmA^9{@V~3RDQ*83ToV-4Uzqaf2wP@%;;4PNZ#Yqk&24_z|>RqZQ8Th zl2lDeRh3hUnj1vYs&|TE8@)&CDP%9sa5x5NkN&R;l101GexUNNj?(xuTum+zj#)~w zq|jOPBov^FUt>M4Gx^iLAg``F4z z|IKs}Gnd+>18IeyHgHt?`zU3I7C(=xJqmoBk6vOt;PB!799(FR$^*mFVr^P>#S|g@S5#DevjD&HrDH8K2T3mhV!gr$^-u5yM~3(qe`J~f=+~ot@~Yg%VEETl-x+a99WV;)OnkJo&|d$ z!|_hWL@8Z5x0pxOvrWmLv3K6!e?&F+cJO3TzrtSO&{}jK?DHryPc`DC1!MtRW>~p=8Uz~06a(*7J*hhpyWcyY{b8h!V>^4tfedkw%;_vY3T|q&* zKt}wlA`(Y${P@#M_(h+e?P%#21b<5t&`ZUuL7Jt^MS~1?RBUMAjIQt8Xsn}MpwzE9 zi$NROeu@A5#P1KF+CJ`v$f_zi^coOl_f9suTY=xo5*N81zTXpj2fIInt5s!C$m4WaM=9*kX0_oQ_YKA6ynRX+ z@Sj&Qg(|cKGlcZK-vu-kmbCs)D0CKX1OgsA6Hu}S-%qoF^iC$s<2YwW%@at)j^XPh zi1!~u)%0mmYmNOgU_%qcfsMH4yWGLeN^lJs9koo@x?V~HUixIb*%O2sVV3)!7vrY~6E z2kT40;dT^%F;w)V^f_Mw;|)ze&Npvx8zYW2qcJU)VMhPtIO)CA`G%gsa#x9h`lQN; zXrgI@n}?@#))#M3O8k1N5kXknneAzR67gZ{^Xe{gH-uQL?5QF_cX_%DmM$9`e>z0?45v(0MHso_bU zyYIbu&H7KCE82zmm7_{5t{wpV&GC>acIK^-rMTtQ^9=Qu-16K}pvMbmUo#~oKD@M3 zg62fw9l_wImMf^HVi}IaK`TMvcnpz4{;;^1Qnl#G6-d6!{P2TuQ%XkX2r*c4gb!?X zPS}N+b^&rEJbbp5I$u^k4xm%7?)zC36WC1(_R}^}&s?-LxBLCZe|Ygim0sS`CAzNa z;u;QzWj)8x^Q#VHeZY^jFGr==1l$6WDeS*tm!<*w zz!?v=J}4-FS%m>x0ewdoS?E;OT)5v8A2#_0Ffc)FT29w5j{8SJieRhOanhp0Z}@LU z_J)Ac0sTsdZNU7SzVHftOjB11M{uHvbZLT0#?MIhjbfulji@?^2C}KfyJqF&C^NBpyNohg_wUb`$!{>E_bA)VnC|EQnJgko})9Q8>kQB!Z^%AhOpR2^aFFlrIyO8+V*#^^m>LDu6Wbq?C)Yk zH`uT6aqaF|HLxTQw}^0@c9@& zL1fFa7=DM44(iTbxML8?79Mh*epsyMww`3mw!Md^r)k9GP8&Ys=9>eD4y}aBGcT!3 z|M+1QG}F;>HDXOB_+GBG%b&Xa1t+>K7$lYUjf18nzpK|f1YcbJV8awlxs>v|k#eR; zLT;@%RZiYlswKp8$qTpoPfOS|Ab+Y}0t)P+{^c`Fn)c>Abchjl{KN@gk|(Xg@r%r7 zOfkZ1irA6euYLe~y*kf~bKpWf?<;ch1AhVh*17A(1w49;6+V10@z)KbDPxGdE+I9D zuTVLP$3ebjGq#e`^_NNIVrlPa3f+i_`kCFq^z9Veq>ufTLM@G}>Z4GYeTl`6>mw7- zhN*fH48vHfTaAP&k|d>=;}=veF+kj|-LFOMjI=xb!+%)ZmG3~|Wv{i#ji8k%yCrYC zIi*pQi6C5e|J}?Ubeo@L_m0$`t{Wm|JZciY183#cAnBN0xjD`LHkI#T7dVzkrgd$z zzRlkEI29hmdvJ31pe7*0#|@{SO$LNMyJ6gN7`<(2+)(;S-cxTUf>?{_p*Qk2w|;nZ zH-Ds&B`>Y3kZtGvz2Vhgznp^vicHt=igyi~KQ^w3WHad}2u1xqJojxu3wVzv{>gRD zf0ki*kzIet=DeDvcgiTg+Bv;AxfAm~3md4tnb{hv|CJ5lsgF;0WR~s9NnXJ%gv-p<$M+@P=3#9gV` zFQ_zG?k3&w$Di8p75AHtFimT0AjBN`048VoD2jfF8=1B`wUKmkG*_M)Y)*TX#p;|T z9>kbOKHXr7B0T_=7aT+P6hGblrojs7)qo3)77j?sfFm*6R7*n}rno?%VdW=M zk3BW3pkXFee!F!s9Su!k!x+V1YE}zNbr4m;XTMnKk#Ocrs8Tfa>*+tyM|MXaUdVYT z=dSj+&NO{|aO9;$(eEc(Pns+y8t{V!=!2?WlNZ{P4d9hq+Mx&n4tazr>BLf`Y~|MD z#hEU=VP1jePfcU?iNu`v_;?+0)pZs!C+F7S9E6;8c9c41ymF}`_uWX8gkwlA=`OeF zwr0Mjb-CQX)6XW|2(`H7NF{?MQmmJHamG*A1@*z;xG1&T#+IYF>reNO- zZ^nI8a+2<{%SH64S4yGC*!V>q(w z>~Q&MTx8*Gjmjn8U>VcVDBs|k5m}jL$jwAysu{L2-EAIB&~6(`1)=erlSZwbbNF$ti>ex3>0_|rmqD4%8$$PTgz!zLi#VUwvsxu% zlET~8!HEb7H25d$%MA`l&WM}yDvE8s*c6XTT;K!UGzf>CS(m$wpiFw!3?(%`v7X#X z(BgV>hon88IYf)y;&XkuA+{xir-;flE36p6OKAJ9B9|)3_X>sTX-Ve;4WIh4A76Vh z66h9@G9rQY11>M}>gg^lb6@i;X1e=%qDRh!_=PCzUUE#^$-9R;^RkvbtklKJPu+UI^z>PlP_fIbEnG>Urd~h6yyw!5u@Ka?@Yf2 z?97_|X280Oc6U+u!Ip-1)sGw|@k!P5pCZ*T^Jc~H0rqOep(Ik6#ju2kNaBqOp^)WG zt|@DVZ!?6T9GpZ#d~$LEEVG@@4DaYSiq)B;vi(8a&Z#4Uj zz=vKw$)KfiJ6$at-`s;xb5B4vZC}50{vOXkR#g1RkJ?~V^SgJkVXXr=TT54ISdrgB z1rhVES67`KW9mGlv)(=WRvn=!m7&)%IIkPVeAM_zJm+)R-mmXQnqH#DUVqX?AS(xl zpxWatXT@iV79L1$BT~2kcklCG9(bzfUh+?RiED8|o=FfLBnHtI#Dq zi*Km}+G7V}E#b`v`GikXSBF!%6jE>Y_xG>A?bP1f!k9MIUXucM7bH;IX9ZkK5kAa6 zY{r?Knu0rqTb~H(2p(jD^{ zncp&@>FTX?TBWOxbn_LSEYsrWE1gcc=yhVTR1k|Jwp)t4%3=4?nr(|9nt4rYyG0li zdwG%s6kQ4=A2@j2safX zz_Ot-V3}(xHRUkwI;n*7mae^op;?5_?baUC1x|e4s%8~ao>)Bomt@CngG)t{l!b4< zM9I*E(O9GZ()&BJcj0RAE#zx|$CmRx;Pemq>4d?k^$%9L(vp}=M(hWR? zr=FVk+dpS}-XR0R@JmEa;pORb!T6;cCzzCfKc&?zEvpW#VS!(jg9 z=m0AxtZfF|yb8wC{l&Icl;=cuJ<44*nlE&$hV^I`9f|%0BJyD_Ojn@#>7J(iGs*lT z8LrOwiZe_0^#H=39vI7RSq>fBM)tR=ewgouF2_O2WJT(3P0ycioJRugN*RaBBfO|Y z0o>?&;$Rqc-U+6EYPkLspHNOBadvBVV53Svvo*XDR3*#|zpP<~MSt;@O+Ne_O8|%@?Wa`5cz7OX>Vo+(UHF zyPO&mAMa*ojkuPHBV&{CTqbm@k-3+iJdUc4zWz8#gGhwNvud?Qp)pXd_7^y|UIv@= z*|9&IZ^ z8#uN4PL*9zFHtVhdJwV$nD9PPv^_pPQGCE4t%-*C>^GgDpNx}wXg!FM3l%z*hKIH= zym#%@c-DI=mf&)%?eP|imlV1HBZ(hV@!jf9xEN(^-zOY*QZr+*g(pi4Ysy~x8nWMN z)3N{#GF;7-Vf_MlRyXYEcj@Oa5Wv!>ngxe);}TpiZD{ zG&CR&SHg9t^lgLN$rXmDz5pwGN$jO98AN}wzszSbySb+bAdf|Gk?u=osNbY8oX!zX|KSR`Zei|#r#$JNIn4_asXiJ zKR1N_(;5FYDzk5e&dk=Gzw3YD??v~A2^C*~ePx%~9w{?ErQ<)l6*yay|3EUT$`R#o z_XBqdev7NS19lWlO_%_dXMqL#JU(9kf~u;=*MR|6s$9S5?>l$z%D$vkZ*lSE2Ch$D znhF&b5z+gywFSKkpIdnHqZRx1i^1K2>&L*|&1?YFatf%&N(idPgAET=1aR6EmHQid6rTSLH9z#OC0hAo+$)E(4F6sFISuk7cj^e)K4av3V7}SYCDWEgR_M zFU6DC$BBsy3ewEaVJDt}5th6G?C!DIG5dsXP#-(Bs3};yS(@5IoM$io6)?t0+ej$Z z!C4~FP!CakKWlr*VP(eqima>&k~a);B7F05&sp;03{GkP>{KbZ{Q3VrCTD<{z+?8+ z9nv>3UhxJLof~l>FG7fq$;piUB*VqyfGioOuTJA$te?3ph<&joj5OUd>-C`cGXL;V z!7e5A9GY7hEx(1RkD?HH{ZiB_AXLbI8I^a&`HlMjZf-Sb?%==hOh;4TnW7Md`T&0` zD9A!r@a8Atlb*3$hQH8E=d%FW4KEj`Ndo732VN%N*GvL%S_{R6_$=Y4Xw-~}Ddp|H z`NJ43ik?#SIusvYQsMw+&a2$qgOrT!?>D5upp!*&z_{B7r$5bWj{4UFF8}$_q2u^7 z>VXxMa)LcNVK(Kt@Ccoi$|KZW<2*a{|196P<*9fMt5xokn!HgA-KHR+OCFfxT$}Yt zYU*Q_O)-Jm8XB6o_5qgQ5%^T7qO}7S8iaqu)Sb`SCo*ggr|xJ+x{?mMP;PoT?Juxm z4@_n;o*(~*yoemJaD5@-tTHjiY{zt8ampjQ(zf2K0vW(WpKOU|l0ZiTXY)M>It-lz zrx^dIrL_aOs!NpWyBkq>;Nr4>%pE^S-n(xrBAvLn=!*Xa{SplUu`x*Dj2BLu z8HjtVxKN^edY}5Ex?%ShX9@b;#?nBJ2pL z6ANawkm9fJVfxb#IKkT{s_+#1;Hkp15)ZbHN9QW;xw)%y6<%E$+byGJ^5I_pZZ!nG zkqTw)i(bqn|5EiVifUM5iWdy!Y=7sdDJtLex@!)r>nQID2xLr$aLRVh!#Cdz?{OTD z)1-G}>O~O3;u)+U#&3wA2mnY{*4AgY!sd@Ez2Qq81nGu(3jO{Xn(biNjP>aPSmKy& z&)0oJfy(etP%*g zXxUrVmn;sxDp^cC3FA=>6M%N1623*!o~GoZ`9Z-t5GAWb?HBJQht4rO1_ zF~lj`BorG^j9{s=@x1xM=xKqTNaoIZ^F|nYyZ9wD?KAQ{pR?ExF@_}LCs4@c{{t6gT**y?!5<)fmN z=eu*lc=yZTVDmFA(H%Un+RD!EeV$;3mY^=mPCsT601}o~{h?{XQba&$xpTI9stbhe zcRI%xd1Yorlc;moe?cJuY;W>dFKhMAr(PM=-~Vx0kfHdN*l}$Xm+OuE@9jfFCd(V$ zI}Ig0#_EeAu=HI>C1*$%_@x3M4QhXWT=llE)UB+jP}sY0%9PQllTk2#Ayn^;`)L;E zu4N;E4nYCY@A^k6faLV{X#$za`6Gu>S9;AZM6xFL5EiEb1<76R`ktu4n{|@;M6lRV z?I`h{hp^OvXf|9H??bN8gkh!mp|jjK@ykkphYVOTC=lLW?!%XXblReBvgn~pVP}tR zy}GOW>NZ7Dgl|FkN5fIF-t%=>>OKa}m0O1&#cSz?@pn~7g%PA)eP*cs`P2Fab3|SQ zlDqf{x2vg53{)sq*mz6)!Sd~MT+G=EEs9&F8V9bt)DOOr8viAIM=svlbZ5&{F^BOO z1Gu74^y{pNi2*_{O8c^NvVd}_Re*f#SK3nim$$0I(&^?-u;-ukHD_3AmKTfN{J3EA zygGUJ_0Bh>-u8KB%BTByadA<%Sh(qcoiX>(P2nsl$}H5?%g?3`FImo484^2g`91jR z8G2LgnA??Ek|i(E=Y7m=BBjKmkk6{`(Cy|{4v5V2`FkYceT?NnFv!UN1 zb1WxTCnY{U*_`!swhNbKdXXFGBfegYsr=~=*{PXT9i>qk-xFpnTOIIYe-k1UmUwjl z2YR5Z9YydJv)aY%zoL0CM5FPL_>&kRH9X6Mj#R!$mX~htw*baiTMIFKl6nE4j?Gsq ziooY8mRZKqVP2T83Ujq-?=)Pp(N`HBgSZ}^#YA53(NW|9E_blg{&0ep4AUJ7n^Ho> z5+aeFiu9U{o0YKMa9{d({lF^syCbvS!ueyPmT~Gh60JHG%Wm51RDx^Bz4`dOR zx^xwLSnHQioG6=gtQPAt84T97w}GMZO`YIyRjp0sBYG$_xhbk+l5Lmy5zc+4^h##K z^RkzYimwLhG85HVUdG2uavp`rD6=|!dE@SRti7V!4ven?w7c_FOsPRDu!1rSU>&?cjjW=jwz^nqTZwXk1y+Xvmz37}+z^PM(4n%Xo z)T3VtrZ7L#Kk!-*+AZPZ{USnHcs%56nh>iMZTul#_~?r-iY8|nUv$V*5-+ZS#>5ZN zWyn2$`T?~yLT5U)HV?DBd|(5ZiE;q*QP-K()%$s>w&&>&y68j#5oeKu$w`BCwnUkc zn4d;A{iEOHF!r?eQN{q9J;=+_KbTvvr?5?iGoGC*=q{;9&BAT*#M;iS2%ro=Sc7%wCb#~+_JuWu+rZaEgMTXep2fE$ zj3Z;mb>BO3G3lhL)8yWyJ_UmK&8WNPAvsn7w0oToNQJe4M9sS_Q4vOk^XDHlHeQm& z{Qg-I#fEq8)UDs)8&R=egQpn(M7{uj%~1xR``;S#tJq-L2=&SeGD&FW*u7iK zX`v=kC1k%7Yd_RkV34x^hti5e0eCp!=oF^do|ZrEs7>g6o;JK+4+P9dX}8Qmhx8q- z8a8y~W<2zF##Ec9l;lSkNz3T^_nW`tUTy7ypclaKW*Fn->dFFMFJn^r#-`Hc&K=fP z2hK_h4)7J$g1iDnI-&!OD=ofz)q}6Cw`?kp^evvVsf3QGm_$$*2?nF%q%s|*%V zZX98<%g|9mSf}7c^AK$A)cW%^Q_vlkc78?n>`JxZ2E6dEn++FMIs&W+niIK~CTP}y zFr&M)ZTwXMilZjwaUE*kA|4V7a`;BlG_vnQai~c2dE6_6b}+-~>>8}2{Ds$BiV>HZ zhYz~f;-^`H?r*Ryn6q}A>AzNK(K#~0TU1m88I_vNDjy1K6$F3u3b|n+s9MhxxduHP zL6kp9P}k0m;tEa${H$zL8vNJ}tyyXoJFmPP)a+Jg;{em&`*K%3zby0ZTq>=T6aF-} zO@Oo?%tghQjx_hP!GdpH`KM-EK;3J ztPaadM$*pu4)L$8pq{Vb+eLUHp`P8+cGAZ3aB=1NyV-r((UD+GmjhI$C1rbjohCl; z?{OiSC|q{W=R+U{IdtH6_quOh_202LRz~e~*U*_@6@iUcpbyHU#fSb~fSA;!eOASho*!UNT<}kzK}xIlR$P2M5WwzYmBvrHaw@AKhZr4~C(f`M?a<*$y-PT3#-5X6#rcM}|&6gPP#@d#RlnGCATjP5Kqu4`iyvrTVU) z@R?`81MgwW$nR%34H2qrBd+G&9^#bAKp_gPX~yI9McGPP^;d~Uo_c59yK+vJBo|xu zb&;YkZ^^o8pv5qpDLwdO#|`TzaBcipNAq%X04zT~9PEGh&ApD^*|UcE-#5po$+$4J zA0O5PmYS;g?YOabetuYMz4P(76Wz<6!(u*-w7eew?d{)hGTJD-?DjWTei;gIFz&K1WxnbN$y}FYtL+-MhJb?gu@81ytMIBnk@?&!B^AE!K=e&FU*GS^ zsG>kh!E@1b#@v+4tHHX{C+3S@rjgEhQF>(W+AQ5Iq$cPbtbv7mdr%)DIpBX-vVuIf zl((vP*M?wT=&eV>vPZN6m_?(k;0i|%Pe!0+_lW5hUd2~aLIKiMT5JaezW0Q}ouu=R z@{M8wj4CbIw1W1zJnk|nedvIEtd$>QQ2YR7P4aCj85?RgTU%H&T`?PTx~cF(K;G+Q z69}P}s|MV+@7%dF=cGjsv&S*T)>UGz;)wY^kH&bna}>=6Z}KW)zxeasa^pqR(mIdD zYwfm7tEfxDX+gxMexdX>Xur$;0`}NmoE&7|u<^b-4x`Ig^NA1Ut*s3!8FhDv)_WSy zZOR~%*4Hj6HSwX<*g-}{1{NLGx=t~O2(%CW+Snv+OjQQyX%WvMyK>o;x?vr-jK{bC zX+(r~YwZM|>Nkc5F>HS#X-l@S1$lN}izw)@i1*@=caRD7{SZK4XFNjM#SEQQt2D;Q z(Rcl|c1*H0=%xAz%~prUo)bPN+17$ifQXx>#{&M5rq_L9QC#Z=q4>aVnA&?AS*!H8 ztgNgUbXOw?(m(Hq<(KOpE+*?b!9b>3Ck2EHE=Ou#%hpbMls^}J?X+)5d}tBGKPw17 zc`zpo_vXaztn3D3hLZDQ1`482cV&ynL&L7_U?`EzWaD*|Vgd$n?Hdu=XeI6Ik~}NI z2LfHG*;WxO(b&eNAmv9ZSF}>(ci)p6!SqE50DCPS@$E0zk6*~X>CF&vHm@&rmj5u4 ztgCSA1PtUPVhQA>i;@SUAcpn~)VZWV$m_w7VuJqR_uIDLJVN;_#sI{{g80&SAgWhi z7F7lcLLAYpK_K{!eT>wucw_9n6-%avvxLBp@k3)?^=AR2lil^QPUmk~2~c5b7EP=} zy4Sr@Vq66?4B#%z>x|e87T0pCd{i1Vz0Rilrqa|y8>sS;O=VGWHNzZm{F4k8KA}^x zvdG0mX&DdU!k-4Z>x@|zrM1xA4-wv&i{3fhw^b@08S1`xe`j`RdiR{O?w^^KY#-Zs_wf&&qlM z{6tznE9aQ@_2+f@^|PeX7$-)3r_uQ%%b6WgbMZwUaqQX7%eNa zs6zO7V|?f}SXUn(I&Gq>K@Dzk1Zx*47L?FCTS(YuCp0$i04I`gvOWvne5l zkYS;e$<}0s>e&81owvT4vX=7 zBg1WfucS-fSZ^df3|tv~Ag8bgJ9&|N;VZ|5g?kbW#*6%p-I7_CSx~TTs2@R}iE!yi zzOLi9ub^_S;-etx+ik(I;Fd;z)f^R<0y~yOmlF|KmLNYI12HD*0T4;BV)hW+TwK6O*Y^tRQX*=SFVUJ1( z$cWyu1quBUG<2{?34}0S|}Fi1&Cp5~PQk)Ee%1`9W)kDZfSX9U@$xWZffTG1XpT&3@QW+1K` z4toxt!#8iR%b;H1xqOQLZ&R88V2*t+HnbIKmq0R{PSTsGiR`njK$Ni4*-q=xQ1R4$ z*U5n4o6~1Oc9BCr!O05nS66F?_KKhP^Cs5v(AdxzX+nhWYpZ^bp`Db!%WbcG_&*0M z)Y)mI9hk5f_0Zc43`Qsp;rUxU6zSD480qbJZE;yHk4CSIx_fU@zb7?;Bm*Hn^?$e)1 z7s4rb-iY+oJ+9;`VhoPa*LLXF)R^Z{o#@SPWrqH2%0z+Mq;|zUG<=JVv1=f>*gQ&h)Cs-n^8W0JA6_?id+KRXW#? z(#lZQVlLEZ@AEwgB#-j*^FD3tA-z4HZo;3xD{YPjg-geTg5pQG@%EqsL~&zE5)Dni zzn3zG3Nvi7oo_&Dw|Y(PC!1>Y}CLo>CW{@lz zP43`?1Qw+B___+V%5`Sm@1g?-1tN*>`4ss~4#oDyT*+&xh0gTbW(qDF+TK?@UhR3J z&gQGF|BZ?zbGeMO7cQ{$_!`M&v~tHU<2HVWuv=JwjXGuY24|XG&*>uZZYco-R%CBbB3-AydADo6~Pl;UUp&rmd!tw?nn)# z&8yniutFx&u};ow@=;@aJ1>R}o2WhaXz%;sE7TjNMlhp8u?ZW11%J%ucb~o#+RPSz z8=Ta~)-+XBPZCvVI2=h2fCBre^9x`C4(1xL0WvkMBj+niOYKp{NW?T>F?kEJ)HWG% z_WLOrqxVcgW%;?dDi;wh8V`=FtGW=h+n~MR2j?S+!wsHiie3W&vebTDzkPg*$tAbo zj@zcI6|o490?mts1FtOcJQZ^GoNg7ZA@Fz|#XJ>WLX8P=ed<>wNdjVsiDQzDWlrP8 z8TZZp9d$#+FGAE!Ho%O5@U}{?yAu;$V-$%*Z^xRsd=G;$^~BEu#jTPH9RhjzbpcDz z%^Qms+UJUd_(3WNd=e9K(Yx@rVLnb%DmsrE@%ugxoynvLxfr&FeM=J>TJSf6uVTf} z!wPc4-t`_!J`yq$M!Vv)g(p@)eXt%~|@j<^nJr8l~en zg4%P4fSzqdDd>`l?WrYrgmTb`2e9+#4~X2;iyz6V{W@yw=D~#8l59YF-#f_sajrmq zuixw1Y=zDSjkjVL12RP&z9$v4Zz>)?2m+hDFw5l8m!lxcPn}#ewgDs@jeU#8I)mIr z6*kWS8E$%F5dz$aq+YrMicRRN_>d0I*)7(iC;9w--yc3v=R+qL;JGoSCRgDo{JO++ z=QFZGFozl>-*KGu$Mwni@8GG*t{sSCHb$r(8iSEwSM`}*ei=QG)*ZK zJ9U}eAfCvd-`*8}CT$IIhw!)%0*~oOUN$#oHl*a&7_>rR-}vzB^e4^^0WWi?zRBDg z3o^Q-*O!mq94XzKhDV-rC(d06wJAU2ensIReGEo_&h#Dt#sP%2D0c?Q7@#k}-1#RT z^YspD=1F^+Rmu(hoA1x`b3|P@eh{!jKv*l8PRH7UjLlz$NXKT6sBT>dzR!*cbi{rv zD9P;tR1A5!wQ$C+>n=Pv`(3~=Ap5`}F8KGWT@_4(6=MS0T@DipQ(h0cE*~ zlWp?9-c(^*e+cx~FeZd!_z4J*JJ)OWT7G>0?wb<>-Ae+!Cz+-PpwYoePv7zW#q4Ru zJr@m25M!$NB`E*s^SB+tpr_I6-}DX=pHkE}In+o7nV0_5T|C8M89Q{?qXPmpCyZ>7Ntt&ZPI2Q_3+=hlV$ zwXB4@p={bTP&Iv!q`tP}%`DP6A#!ue?cz%m;J^+(2BD91$_?QZUU2;Rj+S|#ia=^V zrTPW?H3o{*W0$E)o66tMrnyBMU?Io^%?-~9tvVZAm1+4XYZXS>pkgP*=we`fLkZ!W ztCDJ-$jc2l&kQ_IPlh(%0zo(ZCL56DdhoLM1Be30-{MCLZ%h)0?P)5*oZ(i<&%&(s zXAdo*rc2n`TDVOkro-`{9yosEl{ALtLiny8o>~(+VrQJzw!d?H1~CIBsZ_tE5wU3; z{&kD9oL1c?$-!}(z+_0BCr7HTj;jn?mI_7RzxG;M=6)OYNDIyYf-;PTl^EYH?1ZU# zhrOL`k^{=&o15a;YJ()Boy*xU--DrCWcRwnpk_56&$BEhIif)cPgA0}EBu!R#Qjc* zNEY>RqQ+3A*1dW0El^iMc%1R2y1;F)cg#5?az?E zHMB$9hSPXv_C6`O;LsY3P8+TG*Ast}tqhY^l_(IyN8KxraZ5bvq$lI157z_boR$V~ zKTfYO7W5v-P;c058NjXqF^O$*=sNoZ&vBqYSH%1 zK~f&56bZv7WXsn6s6S5}XP>LCx2G8H3Q=E&tw^=dsHDAdblW4+2Fmf?YqN7T$lm0hP&~?$b_3R4SwEeKBK_iIfI)aXlq6$W1%pv>tEkx%&9UylA?+GtZ}mJs_UH6Ac(41t zo3yRPew$&5)_`3&7fjiA?%{{a%j>kJ4Jeo1e``2zM*GNF-~c00v>7O3`>W0N8_+3J zGqlL%jVg!M#HA#mo~o&4UuN^d=)1h}OuqJH>uuvZ7 z%^{jdp)3n5<;aB%2;V7`H|&*fQkhrVWEK2M@58g#^KZm%{t630SACmzR1Q72gEuwx z2u@EGi2QwQ74GA-3~dNa)qA@&J}%r~%oKe2*qFfdC<97$4pb;3tMznvL!^m>VT0Hb z$ed!R)JTIjc_Vg-hGH=wDZbtDrJMZ~m681(qIAi`T;D~0Wg zR@yL|J_e$+s|uwc{=HcSd>=o*;HO+%_6vPw&jw%`RIr606wswiC8nJ0p_-*_No$^e zuKM)z<8>;ML`7?++6GgyuLZ&n=|_ z-$5;L{fnY9qh(5wvY4GXXAGwd^v%C0C#v@6!#Wj;SI$=dFeZQphs>j4P7|TQ7evGR z%$cs%Ofm$t`-6$KM=bGlI=CkOjkD>q_hFFi1BDDu9T)zXPsg4w$4F>u6H>N*HA1y! z%qZB=^IJFQQ>W-cB$cJ%N5Brs5hBm=#~`tvpZsI(Rk_-AqEbRxoA3J*&?+-3r4Q%Nd%?Hpwr z?^TR|JPSlz%23%u-$$HX7Pa8b9|^xN(&s#BP!eiTf@!=DRON-+jPmE{_n2ah>0i^6 zu|jX|xjmk!?ROBre)DGh%I*gf`1}mop#KeDE& zuExGyNX?^svJgUl`OT*RT2toV94IfVIWaAngY*Mp3kB85ftZGK#_78@q+OfO-5jsX z0x+1v=>rBW=SxbaAR`oIF?HNC04KfV>FKYzT%sDXV~U=)w6n9bT!^LqAsPL`eQo%} zG~Kqx+wCJ#torxIH?d%54UYuary~F8RKBgBB~3T`o_VfyeuX5eV?2NVIemb>t&#@v zek@KU;Y6>5^R&#?-h8^+QL+ad-@L`q?=h+2${48a%?za>jFL_;IZMqM_j5SJV-G~n zW)2eJ_z{#RaYflUM5bt;Ru#o!K$294U~DsWlPZvImGqW!$U~hXy{3MJZH3=?I;WHARKN;tt~ z5oD}zEFy(^A*`mN>Eox8oG>73$4jIyjh37l{z}H_5-n3x(f<_0{eX;hzV2~dtJX~9 zp`Bef>r}$tZhUqF0Tj$u6NBp}U3+wlx}fc^e2f`)kBttyFht*F-~Cy@j+|aIEVl@? zG4>)Ix)na7LM-NRC)ifBuJEL51RY9^k=!nzo_7*`ao~SJQ$_R%F+DE zEAwP`u8Xwr|DX^4L62H|ejK{x_vdb%r3IJoup=7&>`x$OuXc-&qey5CbZw#p{@f)* zvf%=mgYaYp*h-{fQ|CPk%-*o6%VIav@9}2oM5S4QR0^tdxl%MbyRbjixmNOLddZs$ zWXzO+y)c`6dXY>;xRZvp*)kc4pxmXfVwG?hjFS))*;4jriln2`fEib$op87NZWHNQ zEJ(zXWN4Ahfbt~`Yg6*rBH3e_#KgqD=c1^V*EFo+A<62$$n1F5YbTyfIM$INK#ULo zI}k*l1&SpL%N2gyp|C(wVebBF^29H)V6u{AizTuv7gIaNz_!l0@7?6O*qu58LQx_X zO_JVih8oG~OJuhoS=>|3`{cU?Wnamn03=9I<*A-)?amKEaZVo>FE~$K zM@)0?15;oaTmjtj!|6ihG__WrU*1}Zq<7JVf*p=0Sup|i{xKusfoaBGTh;s!pcba@D^ zJ-p7-3!nuh*bBhD+WK8$=Cx`b`9!VD&UcABCOZH8C%_0|2y>qyTBJHRKD-_bEUzHU z>fA){D^pm8qoR|BNr-&tr_b%fla`j4clt9W^hUe@Abx63#{i1qJjeWzw39BvX+i=lrl2ZjERMTyNGgB=RM; zsGHptHWP(Jfj30lVU(^Rti_fX`gfsii+;bA@K(0piy_U;mxyzBHc7wqy~c5Z^()0L z1($WK`*oB1!et`&Si&t|Q>VB!P6csBQ8%S1Djzvc?0YzVv%>{g>2h`)SVR8D$W}}C zh!X7l$hwC%qhCZd|IL%)#uP`GvlzmEIK&_o&;Q66_K_90lNVSwJsLs$J-Rcyi=E0;TT~+Y7J4=kLP@0Xe~_{5|Hs12youN_Z0uJb3D= zs9RHud<+azzWVBDMtO!2_vYCMBgXDp$ITkM8mYdO4*pyKm`&cFoT#-jPLd$MZ&ug; zl;vYt{OWeygrnHSDD{F(zG0F07Y3xw7a2f@vg3r^~pIBc1`7vFW}= z{L0Apr?Cfvjg!dE%y!TFJPb8Rxh~vawMEOgD6E;7ejYH?4&XNCzTCRN`KqSjONI=M zro|sKN`1vZ%0N#bL(Bdz8S3Kq(X11&3d+nIlN9$Ea~cTI^Y6?=>`UO>f#h&=)pj=} z?{VwV^Y`E%yz)!WaF>tUmq>QHM*z zDl&Z62JN@~wZcy0_od^Z)|vk_;Y@*GANxRs_(Ry54?;RmHyPjE;CDP52g} zHc%9+w9p|1SfPQM1@k9#7K+@g^>jcmpvL5uN8_MQQEna~QB}#F*rkE;TFFb6Bsdj^|(K<3SNCkl<$_(~jG7*D@(<*880d8|*<%-);rfj^WX z?i;sV)GJ#%`NNMa5Oc?i4t}#O*7}OW`-+%9)62Z_Y=UA{d%j$Rw(S3k2r?(C+I%Np zwf@fQEoch1`)~n6S7ebF$v#C6T2NO0cai>;Dg0PS5--KN+ zJ^60E*?=`v@%(p6e3~=sX6tQ?ffoPAOXD>i5YOKqKeu#?b({cUt-_Ht;Q9e;VamyO zsb*q5NE_Jxj+P_xy370+BP}(sw_{tJ__Q(y50)T0M5D+0+!u)`w>pR}(c2o<cV+d3DS%or#wVDu#B#IqjlY1^+(LBn@6}3210!wB? z3q;YDgF7}vWTBZLRw8yoO63Yd{MM~dogy*16bAYD#~)U%28wWFwi7-A#N~ZCto_sS zaj4VwiU;laF6n3rAR_HktnKVny^lJo)y((Mia5lxiIfURqSm59Q?Y{uqP znu)*-Fy+LIXwsIqmP&V=C^RUsxTf@)oq>$5%jFL!3}HRr88wZ20KC$Ru1M4E%4Q3w zHE{<7VbUYn`|53pO4e;=7(PzsFtxv-Mz@|KeZM6__eA zRZn7uZ+Sj-&8FeAg{D9j9mIC2OWuCZTd@?o*H>olwY8u^nEm;x|F_$0L)k%vlN$E0 zojU*5DhEz2kHJGkcy_l)cl2Wg7_-(uD_z>fU46ziDL&(XBln5gEfNJ-k3#k z@f3p)cON%~H#4Yxtyc7nu0V3XF&pJ9pVm4fu&+43xSQu;IYGzM-?*p53qvCZ;}zRf zd7DV_uei1>$yIjckAy)XxM2b74*hy$r>NxjxqSw zvGbz$uJ+pp9vR;C^Uu+&-mhgc9L#_TD!Y3CZ8dLd_&G*wZU!8Fj_qo$#B6={1v zfhjWM^KmD<wCLE1jHGl)E6Dyas=K*mW9$ z?|A-ZVV|m_4NN6%KFN^w)b!4-%DvE(mJo4bBw!o2mTa?4<|5eO%pq0s-19}#v+XPF z=Z=Iv&NrkOXWV06Siae72?tSRVK#3^S1B#4mL%mR(f;ym7kX*0J zpUKLHs;iI@o>mC1zX|ijcj+f zZ_^y}qEOO|MTCjXso3P=9bg7mR990XK)Qr(K#P;H0EYgI?GPY@y&rl|WS}jWjF-ND zUs_4BO!|-3uw7k0__yKKx8gxXBKyfhr>)ebhg0rxzNm|xB!NAjzOyIe2yAI z!%7RR&oT^0ZV-BV=gW?~{r=KJ3-L8qnTcdzPqVt4A9rP1)^db0ruh=ekqa}Egk>5#%r&l0(a%{3PLH&&^0!p~N4~wlq zllxkDQgYr9iHH7m1eR2?!fPHdv%mFd+%=?2J~pyr{ycMpn1% zEzR7kV{G!(OATfhi=-nks0(6NNe93=={0NLXK%Z7*AqTCQykxPqo!1F6A76J;xWjp z(=cum;x>Ox9Y|I}3%RhQv%3N_`B;^wO9otOJortPt4&k3Y1ZX3i>N@1CWS5;^!o3E zUpUXSknXefC=^Tp7OKgIbK2wg@;LNJGS{04^ZQ6Rj0pnV*fN!F)GADl=zBg@iAC0? z!ocsjw@DVYhg3OwHH5sE08Qd&+V?rA1NLbn(pwz(%ghYZB3faS*o{*#_vFms2gio0xCZV-_e-boa4J6L0IBT)67rR%PHnV@ zt>?bFEq;Z@X5x*>h2KN57d2ZIW{G!&jmpkQ#Lz0gOhPHa6oLNugBX3%6UJ#Sm(e?P z2~faXrvn5X%}>Ktd#I3oi8-REqP7P)jXlNG-f;?8ZfeuSjAZ+dK$l()yka-gI#~t( zL@R)--g9eRwVfo@?|Qr;6sXYbB9g*K1W?y4=);x?;(qcJJCdRSV)|?LhnkH-_>#>l65lr zTTT_ca_m<=wrH|tPqv<~KXz;!W7R&>_HpuOZhKIh=S&a<0>Mh0edRT^+s~@a)J#wq ztEFJRK5}&($1y}IUM>cCTF1yey9F@F!tXu&{_WcpS6L=j3d;!KAx1>6l^M5QG|Ip& zG*mdSis05xEIL-J_xI3p0=A53<7NgFY3yXpL0?c=atVHLZ%Y& zYmyevKJVR`H7$vJSWa^Nz6s7dlBgpH{$;(bl)P&s9Qy=7(o+{Ag*(adGx@Bf<}yXu ziJ8yOqALi$z@|Db2BeC!9WW0#ZYOtkHpu)@8qYW<+!O3L5hUIAu`JR<6cfo=MR@!# zc?Gj1`Ro#(7_k}x=J4MF3EKT22QCb|mZi60SO>AaGx%@{F}>+KRfap8uP(A#=$^7| zM6z0UP8C}{j;7RIob5LcU|V@oMEncYpUP~{5#ojGIS%}$s&oRtP_Mc-vWRzHjtSy0 z1|)zM&sB;5!3&lDHgvlbkU4B^Pa&F$`~-VPAaKDGgnF!IU8GLY z!qwpQ`)4c+?QhkWoq6J(<;2!Fm>2c`Jr~x*%Uv!nMFKNMIx3Ax4hhKj#}i?Pvjs!* zKNIl~+}q^i*+xBu#tGo7qrNz=eKq+f`7<_U_kEqN?KB8Q62k&^BmYXlu{rbCoiI>g zi{&*`N2z}r7-0DI>(``OvIvi?RI4T~_`JHhGx>1zHsGk#Is%h@!JR*Q&qw!_ z0UmoNCnwGn-h06`YS1L%CL+J}*bRx`i{_vu5G$W#o|0*K=GuUeoPg>9X{4Bh?c4`7 zT)4S)zx;b!i21;8Kg?UVVej7)vxv{ui!~n z*3ro%Wa%X(Z-^)M~_`Bd3H z46Vin478)bJ{}6=C&uuLwp6T~iM6=QeM@f|Qo@XA_`;Em=a@&fx@$|TAtSk~PB@!) z$ho^RAs~)aF9J-#9N@VAINwFZj_6oE0h$f~KD6S|Ol6|>+ToeGOqD%zCeoXskv)K= zLU^>ka>AINMhGw+guYLNtcz0CV1!Ocm+IL5-fkRllWEkuDD98Mq58+6bQ}mYyI^PV z%Q;@hditPWdF0ZWlp(kosraZGX3qG5hofN0a`*lYXTn(RC;z~W+x8NlsC_g}3_wb(*KrGa9^NN2gG>=EOt%L3Hss?$@m?$I)zuEnaLn3y~n8UP5 z^+X`9`N=-6!J)n|hqV!``?C_>qWl39WSlTW51ti&08&TyzdL5p-t|5JP_?vZ?cIo; z_7Dkx?HB6@8-Kce_G@k;Dt^^~Kknb+XuzXw*UNPt;F&X^4JmDRICKgQ94BpRMQ%ch z9eO7Xn0Yq$`r=5Z*UL0V$Y!IqUCl?*Hh8t#=%F^JTA)DV#H_Q%oIck&CaC5G6(KVK z-(Ca`v*J8C`}Y0eUbFU6;G9i-X|gjiMcd@_CTVYWHHYx zflZ;L#K;2_L}XqkLMiV^1p`NDbeH+gj+dv)^}Sbtw6cc?&+onS0HhYAMi(g_%>W3C zOI4K`M;RWu1A6V^$ou;?QL3I9%k{7usN!Ja2VWMlUG&~K5 zeEVH7#3q-+=nG2=koEvP`+9?;vW zI%*&O3Ywga^@pARe*kv=7?^;=^}HGDV=%o)>!abGsaFHnIy-#^T|(&w9My=8wD(WJ z>JCt1@Hl4KZ6v%KFADu884kgK65Rr8$1QY>@frU?ZXBJDs_`8Wd2b(h-m0MF7)S|; zdI-w^ix8wIyjh%Cna+Aotv7Ui0%=OnjtGl@?vooTT8etlfGhGL z8y`uEuO-^IMFhydwI9iX`NymYY(|Sy{x2ch{3Kod7WH*l9W%O#R8%a!4rt1H&%l}) zc5&%7_%ZnRfxRQ&2mN@y54sk2Cl?XXOU!uUtFZgGG=s$YfYzNoJKNp-{n|p z!UWge9$yf_+tYhV2}Mz|yr`vWut`QwrP8?G6aSl&ybwZgNFc672uQ0P?rhQqeE zWtB`OLWLZWlft0So&*a+h!dY)SO(q(C(5cQQ{E$Lecr``Sh?UPEJguxu|cJyC$xd` z*SN8Hdq=vw_u{@lU2ky&`hD*@e)(%dixR{mD(doh5G=h7lYCnfNSnPFSeESq>nSOu zpi6+AE@%8|g?9#nq$;~?AUT2VVpm0LWD2urZz5I2ukUw9pj4Gy$4|{@4}^{c1pl+t zbmd2ZwORw5cND-?5T8uqNP@64b=eGPB%wS_2R3HNgWwonVB4aFX{EZg?85fNt{P>j zvUm3$DvKvz3AFr9d?{BDbcq5Sf!idq^VB3dQ0FU6uyhlT4~1ClN2{?Fq(`en;S~Ob-Z1{SbXDlrO^h*p&A*R~Nv6_Y)PmGf zp}=?we$u?UKZ$OA4ZW|QaBw^ldq-3(L_%eKz2ptR5DF9^B9~iU-_W^Qw1jaThsiX? zPw~T6H8Vj0{OXX`I-s5ikm(|CChd)G(Ag~i2phRrvYD*u9RY#mYE=Ox94`f>`xu6NG$_)hMBm`}g-Xpcs6rRU;Qn4;~) zy3GQ2+Evww5MSsU?K{CLMMbi>CMpfDO|Ai(IKV-HTbrg}V;tcL1LJsfL`U_ZGFYbi zn^xget$_L97RdK+kfb~F~N3d>+M%EA~N9f+5dZm*vqlbrWXG|p4iKiw8u^-S zwFsfiu;031em%!aS3=TX;nVWJ8Im`&LnbB=iIcXvgM{s98OokD0+l^xp@t4y=L)K!dw{4PL=3 zYb~&H9@3WGZ3OCPBJN!7LH*u-a)P;yk2_m|uF*0aQwD{XD~+*59$))axEPP#04U%% z0C*r|LS&?W8%zeOP6>uoOw~qIo#8ybJpQfTCiznnT=B99l#)G&q>mKIr?X(Nv(=7KkR>Tl$5~Z-3W(8*u~+?mtlBeov1ak6r+(Q{;{D)6T+#F zlTQr5WWE;o%x5^0EP9IkIwdHr^eg$%DRLJI8ylYF(NpB!5J=I!_LY0Sp^`ZN z)d$bVb>=!PFowS=@iP%;R6Yl)T~7?++IV zVm1gngynTVAjTtmuXc3o7pU0eZ5}7V=7JhE9BY!^=SWwUnDvc7q%86;WD(4-#Rw`1 zEY*W~j@-a&=^ttM!va1y;4+9G2kD$kt&eTaIi{2@q3W_nQ2m?e?373J-5^@#yg{6s z%dROX##Ler9HZesEkwxpyA_7ktWz1-XWn%_zxh9aPjcQbKj2j zsc@}6!(y-9SokL##tW5P`zfO z_fZk29n+KgZ^OW<>GGx<1xYB59m>0U;tRYyf z^nU+t)suA9KALqHCV*AC)ke}pa^>kMv$6O z)$Y63#R0>=n|mTNlvClO^!S5#0h@f0+7%}?^QkdQ$44?xbT&XO~5>GeCl z&RULQeQk9i$`D8O_;NpCIqGr5_C1=b*KDs3)#fEnpC#vl9PAluwpFAMh#u~ z>3sxq|3~P?#FDpLhmfq<#L_=>t$}fA63*vb^=6)jATwV1-+4nb>#j*(F)FUK4^asepp^Ye8b~0~;a=}e_4X3L6JASv zIOpz6&LZ6b$~@#H7O*U224uAH|B19?;8^wUv(RI6XLOU6Gh8qsrTuEAoe1)nt2!52 z1}h%blI8V1;x_zrWmKGoCzoyTLrcrFv55&cw=@})wcar()ZsowdbG2+D z!ce5lm$7wp;Mz4X*c@`74ECXlC=|kl1(p zd1&G~V`?rk$w>QFbaE7|KjPn^*2Mb*S)8d+BfP$`agT}9&x)ILO_ia|RTX3V55pS9 z@gE04Cy)wN(!XOtd9CtiZ!>3FoG#8gD>~fWdeR2+;#M`7oNyXD0+gj9jTUXis|fR0Nav_7&vqJLl|kb$tF2$B%M@t#E}k^Fis_YF zXe2Q%j-9MO&*_lq8D7%V>n^jxP0YetEJ;LQMC{RrYh`oammVfEI*qySI}GgrI(Yps zNLhbMQv=}|>V(rRfj^F9U7Fw239Rs*rmCH&RQrc&G#B}3JdIjFzqc`kqQav>Q?6p_ z!q62b+1VX~#j`ENW@7Z5ew9^Fl>(tCT5-FH8JaijSbXg?7HK1dI&Nn6uf4jjJMjx- zvJ{7KU1<71uU}#~TplTHYTSwxExTlTU53;Y6?WvjogTS#x3xPs`cO&C?n;gpxp`K6 zKs?@Tu7Pm$x^YzV>!%T(&_r#;{VivlU*YbDL`nCb+eD?)=4y7Ev2mkt> z#vC2<#70j1rS*vUolQp5tw{PCWwKA>NDpkEtjF8_^H7MoB-8l@RUsqh5GVRPOv7#3 zLhlYoS}h3Al*v@iufDi6u-Ql|8R&=!cW4(f+?)A`=p@(m_ZQ5V94MDM=V@ze>*nC7 zKY6s&(I%}};gia){2RhcJ~SNEc&*MGaXVZ3`q?{Mp5`P!jamKpaI*;D1 z@;A=vhO=3u9)TJXK0R<*W|NV5Ue={5fl&j?!M$FL(`EMDHyhfisn@bTCM>oxa?I67^Rnw0YpXhx{Ee+EcvIOQ$KtP4sNmG@`>Jk|{j7xO#Z?)C#?wilPQZIC*V^`dzZmjlF{YuiQhm?zB#IRN&0sIQWgc=Z zrLZP4&-WInsL$YVI3sk*L!9$uz5I;-!IY(^r(vqd*7+yK>;Oy9I)RV1(6W0MdVl07 z$22uxLj3m?IO=6e)_MK`cU-Y=3pz$4{;=-$I!_2~rz0o#c>BV%nH+8+gH$`;O;Ys6 zh1mKYm5(>{pTyU(L65QdwGT@IT}voL2GI87;p2B;veoTg+==P3re>RiC8Lu-*4;V; z#rDEbWE}xdgxixBnQQ{LOfzjrzVmeVOqVgUNEIV0kL(ZczkkETtP`F9FxeQ6l)TFm z@b#C?CqGAr35POwIo^P&ChzBiBP;okr)S;Hl;@01azG1-(OjK*lROC0{C0U}k3;hh z8KTXy!2fzEnmCoD+xoxPzy-6i@gA2G?@A<>QanyVn}_2GeFbe~b%Wuk>@WI@hj+SM zITE-+hl z>6ghXvZq3YFe1G__jl5R4M*$)h4Fv#a^xnHMsMLzoe72yOzLQFn60L z_9jnmaeb#tTw z;i!Qza@Jod?g8VAyiHbW7k()gUrymp9(Otsv8WoN9d1eR4PVVzuUcw9bzks@jnb>V z;@yaf!;<#%Q+}R~5Oyhw2-1O`)XEVa9?5)RUPMVUL-TSg#U_Wwc zUF#8_Pjwz?$I&IxQ6tpV@Er-?(Oy=$iut|}>Nz*Fa5Ug@L^et#yFT-XfZ_?>;+x;Y z`>!Z|Sf#9ez_)gbUNp6geelHIjA+BBm*GZpaYp;h^Hz{x@M7P|!nyCz7uL@ARWy4l zuClF%#B7<5j!&L5p^`Y}&=%#&ice5_HX}zej}Ce=V`w-;_nlt~n)?wzFy8-XYL6?Z zSEf+sJQEGzP=)`D)Et%e2kZ;8_#C29#(gsL#{9={zIRF-jrG9V-aV?+it^|iUNdw8 zhpykI0-&OH)X4vILhCMeNv*S=$}(9y?qwT1lSnjweb*Rg6Y%`dv!v`pQ;F|1pLok_ zg<<+Z2ujJtl%2(MGvOuPe=e#ells|NdRe6m!8n9M&n5FWq{tZVHT4`CG^^Ew#4{3z1_ZZ>MMaU zPF~&#mNDkf=Rq+;qTdLVUEPh2HrFkL2`S(CqW zxPO6pV#)vAhu|nUO*{EjnTigu=bcCW&s|78%`dPyuW3%u;WFj@CpF(Y*?zi<`&QRs z%Wpp4^73%I(~OqKLk!)+%BZ)Uyd7&I`>_`F1-FTx;vEb{D-g@=H~mqf;SV?h&Etyw z9c2U8WY*Gn=MPin3^TlbLi0YhDY+=1yTXfzk7Vl{*308b#cM#!JMK1#s(+5sR*st> z|7zKC^%#RWj)|_v?d|Pp{)lq;eK;XJ<#8kv7D^av2@0dACs1Q{?^;VAjf4T4iUERx z^Gai5BXht*rX*Ale`9aQj$_*uSYhrnNk%HF;l~vtKEK+G`{G*~*U=>bw4p35g0$}Q z09BbjjU*}oRGsbCgDT#q3V3>>KbYF!WPbcupAbe|LL!`cE}2$+fa7kitsMp^$lD(< zMPa}qe9sLjR;0L70fb~wnYJ_$AxNy;=}0Dqf4jKXpi-fE zIODey<=UfNe3Wj|q~~2|4>v4LsG9!nWo#g=wIeSSjdRo&tgPNG&F*D3^f+S!=g*yJ zFOLLRH0l0Bdt|Nj_e7$GqVU)c$@nGzY@wDFYUqvZ{K|JKBV7)QEWbdqgM~-ZX?N*- znx~)A9%2i$q`|flmmQYe^RrboZy9Fe=9*rLq}#7MA~#u-zWi#N3O|C$d1MJc2S<|r z?5ain`3&44Cy4tye{4jgp4v2MTydA)a0VZkcyp*dEm2-y$^k9ftiA*7 zp$nym))rwzbZ?Vt8_9jekj*Kpm{kMq8B|ItFE5Yj6tsqWV{8w-@MUm@atymS&40B% z0uh*^h&&M|(7_vKXEi1LXf@k8wLKgXzc(rW+|4n?dhEo1eye)90nw@HE4B!B{a z2DGj3wgMzQ*pGhQ;8v7GoB^6u_zu_pTK>x-{sjd^_o%0k{?Ui4eE;4fu%fiAOx6kx zARKP7ZAp+k5pq6?%&jb7!I(rp81q;EV+oDifq##EnB`7+UFDBl4w>oLwUxoaSa}7riCrZ7CEO(cAT| zm>^Gx%ehGT?xARmnd5u>Q1aB1xJ=#`vx7StugrQV5v{aY6Cp;9*C^=_h(F3V$c^}Q z=-L!H16G#gu@46yp3x9ULLvg$^ijcSnzE^yfvJA}ClT#RwH>EJPB>mGRH%jav}@QH z5?(|*nh*L;$Rhk-vA<_*4f~-;T^lOmVdhZxCsA>NvNZt^n*K!930aZls{E);>bO%U zmV5t)4S7P)dc@`AMJ6GxUimbHj(iPnVrjKm%7x-n8p>^Fq~?%DyXVgP^WcVcKRS35 zz1p+ilUq)#pOY&JdokN*YJ3esoNT4hcUMWDZ7=k!x_15c_T6Q1BR(1G97HuOHSF~C zJ>uj5LV>PNerVQ^My&t#f{Lzb7e8Z_Tu8HE8lCz)^AO?+OHOtc**!z3n@7^9fh!?y0;p zenar6W<`mE*)4=STa4Z{`URT_|iguTZ=(EdfRzCZ^y81x^a{j&j zfXSoKYf&=4Fvm&1q|8Y0Gc=Oa{-AKXO{rOoDOTqYF_Zurp^Lo#CnrIIP7cc(DsS73 zx~=LOoEiKjq3XTWl-apP{LLUfH46I+>;BV;(GbQV;`W-K`75jZCBj`$ZFRRxe6HHmtxqCFWMS#vsIL zGr9@pNMS$q5TfM=hVMh&)Viuw{;X7Q8xkzw=M~LA7RKDYL}vIHK1_u>ZjKUfhbgbF zpVgkcQ6xk@zVL9U8{OxjqJMVpEnK_B?%|){z~LvwmCnS)b@!H6{FO6|2*62JKPJv*`1)SWOM z%q4!29}}Ex=W4_)Ag$ZP;z^)B5n;vS-$t-)e~6w>Kbe$D$eWLnlV-MSoKV zkzuTq@5|SwY}Txz5p*Jx?Db(N(=B}qh4%>i?X7Ct(c3vf>GFs(XBlsMaTpLb-#J*q zRef(C$x{ox=qve?+S1j(Wx()}ZFRHAOZ_;< zM~;uokFeiCZnGoAB$Rh9-1g0)^AtF_bUWxi#^K|>r%`BcWu}U`YmJZ4;JymAWoDu4 zk7)p2T1qlOxxJ76`2BY?n?jo>j>zzhJT_bW?SdJjvV00JldIm}Wq6LavCB2%1*(a?=TL4R@0Yngx5S2xoucYZjSf1O>f3gz!ktR4 z>d|3w&Oq-^?YE^beN3kMy?N63Rcbuv3r!XDc?X&SZjZNt)K83Q;0*RDb|54B##rYxRcto& zIg*|CAXw&U4n*{)QGHH2J>$W*oNvP&Dp~TyhAFcggaHciHj>~}ghQM~3Y7l2AEbwkZU~^~D5*(3ZOiq{YDcPHD!-8J`H8}f zSJY^C(Z!fv{Sn<#A&oGux#Xl*H#h@Nyv*3|G9Xl7Tuxg`^G}hAuJ(I|Z|X}*p>|!< zp-V4?8OwGGLiD}31m2U@4u4kq8|;;V2+ogO8M48)Cj_;UHSy(L+Op7VTL*OYMnO6} zg9}YJn#8Qj-8=uKiVu{nQ;fX>+vJq%DZ5^(|A=dBY%%m zF*Bqz@?*H8My+T>??m+FRZ88Hl-Ce)4|VJU)wr1W>TBaa>U4*EW$qenaq+_%aHtjI ze%+iB7=+XLj4C_&CT;D_m%^J*ixv!Zxi2c6|K!TAEKrKjcf7sN7I1EVD}23vqze)W z$>01UF!|^sg;#zGks@Ix@oGw}Qo)BAVAXbHJcR%}?Feb*KS_;>; zU*I(B{Cs|-<%QpDi9?dG@G8TH%`N%YOln!32!X}tjE_q8yj)cadg?pP`qOleo>%$^ zU5VG{>(g)3EU?ElZM|p}s6h6ecmWMmw7Uhf>O3O1)43#;tFAJkU_A)2wTbTCSgAUj z%P+T7)h(9jW2BSzhV`TK36GyM-y{S|bv`t2q|%XFe4*93oq$aKGJZyvOQXqRh@>@~ zVNej9p*gbaO~*XSQGeyp(gTT#s~x9&PHR3(o6S~V9v^@5w$Hov>xEkxeyUaqkal91 zqs4o0_`)7)(YJHK+Z1LiI(^|fp||~8{_aYLyzTOzyHZWB|A{%TnBQ>tu}M_ljmkja9KS-g zs&8p{!DhwyBYVcmv3+mWiqmze`To#d-Nw+Tj5_SJp)c#|zU_0h(~ULyjmqz9&bVud zU-)yx)jq^h((d!FN^OSK2Z|TiUJ9ZZ&)fv=jLWb5`Wy$hl&(N# zk?Q=6`(L)pzMj6xs?M8G;ZCY&5Bz0uA+>JkGd1_PNwrA?s4L#_{Ow}Z9 z7hgsC`fJMalJQ$z;!7FX%e!56L&eudLRdD(9Ig&}%Pv;kJ_5e@AKl&Et&dq*D;@$5 z{1B;pJTriO5Q*64tX`(%TSnyGea*yK{Org+FY@N~a2M*Aj*^JLiVza#smU8Eiq$PG z(JEe?Ao}*y-@mzLPHO@yngfO4n0-{P-RDRMe_R++aX#q1Jgau1Gqd}xp{p~6Yww~) zBeKeB_qtb2x*rCM|9r0Rq*);MtMdz0%ElExPtW9EOG`CSU30l&aXWhSXkaivs`oBI zXG!-IHwz-Ke=w^oGAP`xB2u0fVH@0VDm6}FhGH&f&5)+Pqn30yxqS|ryzz??^@QOE z@8&m8dc3J&Q_vv~pGQjyIF6G96eH{nKq(p|dLH?ETi#Ku!y^O%g` z(Vr9uxgs;k6Rw~`&++@~@|YPz*+HNvWYdA7F!9B#vhiTo_MY0<*z7td_6m_?huqPF zq2)fE?IisbQ6|$yC}OXC*N6NsGL=(pKhLROVAs8IhFJ*Fowc*vpEK(6FKGSy-pa~s z5Ex`<0PTP1ZXSu@xD$Ml_P<}hp)(@Om(N(vBe!Px?}u`JoPqk5LVn?L)PP|9Kd&(5 z0rHf{91BM_$_9u5b8jn<`s9DUL(qjfP0^H;lxR7G7V`FXw$~gku4Vl9Tf{qdN4~?R zH~MwOg3A4oS(o*S44x0&X~ca%-)U2=cq}ZOzOZ zP#{;#>sJ<9&a062U9noVb$}i!JM`7t>^7&I?_mF@h4Nj)Gu@z$4|-gsWzl$sKv()9 zV;QaxvVZR&XYv$}`0zFmmqOWaq50mXBY(h3OV6(i@$BwTpL#RvFIc%L6+ZZx&wb-4 z8XZ+w)zE-zcPC;UDHKA}BEFoz5zsP@e8XYnJ*wGv62UzPi)Y_F3Eeg3XRU_UfnVh6 zxKOLQflsJd;AVwi7>aka)X%!N{z4mIxVrJ}o~|%62>ALe78d_>)3>vRdjD{1UOH7zfByLfWi|hxvljrS6m$)bDj7lD#Gh?t9sW_h&p`jmd~Ibc4Dsk|`C zcVEj~xyh?{%Z&~rqN8w8&gY$3P~Wn8i$X`oy@;4`y`;K7{3dHf*Am;LrBQ`mr(VZ@Bu5T?_<^eV#x&p?vM#oE*!glJ-Kf{-WYs zU9Km;(XH_~u)orq00th^w^4gMK)m@xwSQpa+iiwCDa4I#mM8=F6K?m`2OuLxg>a=C zR^7?1!+MnV+@xDf=k7*EXI+$kdu_2K^A=NEY8a#u`Z-zQBAQ&6!zcRi_gn=Ieg z`5eV=zHDP^7^;|&YmJiQ?X`zH>Wm5z(!#>BQBpr8wn86om)gtsJw`)MXAsv3gtzD9 z(he1FdW$D;ruZyf=w88mU1=?wdxV$g85v6E)PTnIl8SL+2IX!WE^INyo-dcF#zopw z96Ewo4A>iXR8f2AFAmYH*?tK|C)dV3GM42wj;lEUURDcqnttccm;PzUcVy3B`EqZi&bKzojt6}h)A!i zcN+Rw#WG4E9h$Qs<22q9Dw~q~$TU~Al+a~$g(TpwPE-6fix{Kw+r%UN3vF&8TqAmUX!tu-b}LU0gtEH%NG)*8IZLU6CH`CS?hfWi?)SGx zN1H;wrL5}`D?>0TY!#|uk4HXt6$|Tpxtj*LUKk`Qyt`Ug8T;PLVDb6s#eBtLKlq4$ zr*h&@Q19XUQR_#qPkGwSXV!uZbLyQt2l@!E>mYGwIdEKt);fo3=Q)KqEVIG{TJ(SZ zAD*r}9;!F$53*%Xma+^gN_d@nimdX}}OLjsfdzO@amnG}i*CGkSgzWpi z4YR$^^n2geAAIJz_s%?L&U4Q9e9yV(nBt|zCcB7ydcpZ85vMPNxmGmB667lBK7&`z zEEaF>Fe+>57zo*SH*m>Ke-LqKz9Iv8{O~%WQy5ziAvlZS3VLKn^{y21)y+a}UWoHK zwOV`O!|=SB50Pm~((YzfWl-1I)R40*9sItXnd%Nv7h0=+FxPo#)U0bhf<1U=z&i=7 zoUXSid^P-vN(VC>mUZ*>hoZHvi-+aaA9vgPgJj-k!MOFXI@!0}p`w!#9H|ft*4r7f zv@}d>;`rsf|2Brtywty7{O(1JOMX4|U==%&+f-7YJ|hGFt>m*IQ-o7}_6F>yoxEQT zB5X^a&0G&n6o`Zgws9GM4q-&OtKi0+?ue!Rd~Hy4C9y*4=R&bWImRzk`?hEZhf$rW zi;29R3AKTchxb@#1GD*vay?`+J@{~)s`XUc)Ta$2lL;vbxMd3XAXlyFBn&ZE?qK1C zn2qHjmK5%EF@m7;DNL8j8~S?_p4u5{mE=RtCjR{A@CD403(bs*D7=k+E>g1-qY+u? zs+@I7;T2^2skQXf6ZNl}6Yavo)uU0k_;3%&Cx}!^XDvA@#nBXKYBuOS0UFc!z#_>r zE8}xukMM1cdL-U1VJxDQ6QHrQeZ@Z+`^S3JtfQx0#FP=-@Euddonwl8p1FF?3mV9Z zj;;F~?+rv+%0n&=&k1D9Q!adYf-+dmU`f&X_Fy1`yS-n(s4Vh<7UjLQijygU2dET- zRdcQLR|2lOcZj9ZP;O%fKg-ojUZEVLpi=PpQd1{ENlgI_4-da{o#~2&x3OG>!G6Qw zmj8S}M2oi584q?djnKZ^PoS(9^(%jh-`wWVa-$?ol6OX*jD1-$%OJeo)H9;$Q>Bdi9({&~N*^klCm*-V{jrqcyc zz?$I?k70!?r_0t#k(MM+DqN6g8TFbx%Xk7&4?{CN5(Yk^$gSMI>&|6}!EZOMzbX_k zefY%^zWg>j`$MJ7r)Ui2YOgZJ;Q`LVqqz8>CZ9A$Z|M=Sryw9!^?IIijcl!1Px6o+ zG_}z_HLGO0rIBTVoss#5-j0kegqkRvk-qoM@2M;JUkEtP5OE*{UP4nk253<;fV3k& z8a2^OT&Cg)s1_)pX-UXmnETZ!U2mf-oO|Nay{hr3z~hZ{vlYY^)!LMJ1<1_VycD9m z$nx*1W|3GpqDjA1r63ynl*c+gu)y%K^)2f8eI_ZK&FTZWyvu!MI7n4}wNUVTlI~NS zt50$9(m3K7g_!UsQSO))tvK|-CZvM$ zPgQtwZWhAVz7$j~j~_rmSwkHYX-%fp6?w_(&9I%AK0sgp{&Pg~PBU3|UV-lz8M zYR3&u&m~DZ$&H0)K4?+M=HG`hzomVix|xtdo_6JDGCd-#MoWGXmA z*-C|>%#1A@mP=Zjiz0DxxJV0|3tXpQy97y;!8QgTQ{>clq6g+e|4BCP-Bi-+H-14)BCP8 z2|7N22(MvMTJb2GG~}h)qRK$tMS;2()tt>LRujAv9PwZc zA4I@J|1fGz>TmOlRv4E$(zkjxq-XS}a+oM?q`#12;apYA+@0$Av$|HkcmHN~4XOWx zWV#N$i|PCuRVOwr>NR+%0goga!I(dexR&n)Ehv`fKP%TBd^UT(u_?k?-~8u|N)|qm zrTjz;@BOQgE(yc5#^Syu6i`KBPzH=c4G$WjsZwA0u<|KS$?Ex)Z)Xh~rN++2$zJ%< za-pEu3cq<_44$W3%&4u)C`~bMq?xAh07Gr0eAY~F{y_9XqKUAx&M4&m$6Am6ws$iT zTBkXnEms<&bY9q=?ec2BucaP$VvoscngxpF;~Je4p9@xUVo_19VaX$rPtCEdr4%!| zU9uY%bdrvrZY*gdT@qzSyTUN;EW`(yxXR zE;s*oiTvMPdYHhu`3MOZ%yyBA@!!!efln)hL@s-=a!h1czK?Kfz+ucf%* zVz0dYcM|v|9^mW@9%Tvm&jkN>G?KP~}3QxB$t*f6opj+cL1iTL`$R+<-sX>oP@^_gPr zpTws;{_HFT93XhBC{3P5m$?W&n@y~%Q_nqHncN@}kGHk3)QiwQS=mGUD^!Mn!ZqVj zZ$3I!5Pr;`xHzv^y4RC>b9(=3C+OR)vc4jReW~+k-08k^6E~%Cs~UY}J`o37hfFFS zQV3IBM*N9;K;8bgjinY1$5I?<)9%^BzNpa&imCnd`t~_mSub*FbFh+7zE@!56w~4PSc`>fk%V#zm z-F^Uzia(N+{dtM%q6o3)6O+;{;CfG2rkRO6z62c&Qxmk^UJfLpZGM`qLXN@xI6amR zJxr6~!r9St> zjqjy%8|+@R*@>TKEAl7GT3O|Ebie=dR?}x=Y8MP1S~ELq34>h>`3Q~wF{44{$9>K` z&wnytn-X@Mx1#RiEQ*&3;$0e<2%t=5kt*+9xE5Mx_g%o8AM7bLJiDA0Q0wpAs(U)` zo;BzzueIsJgNnfxX;B+m`0(EKA_ENl4#O*+_-f~#aX|KD4<(eRat%5741SBLfdZC! z`lYk0Tl5VF=JuE;(AH6Iff_fIsM+svv7Pz!TbT-})R)Q4ocFq#UG=<|#1=KJdR+U{ z?0XGv36(tiV-<#X{1w8Ozd#}8;ww&2{0#nZ|Xz0U#NtS2%m7DKuMQU(-ih$4v=3B9bFQaQtV#;lX zMY(TWr4oGZ3=z+EK3<-A@L{GeuE@-)XM7&xB62?c zb(}QWT^RN~hny3Za*h+a zX6qTVfBu)w>OK|MViXxl>+_Aw?JlrwObhQ~<>U;B+n0 z^en|Sipuk`J#J8w;n(YEQQ`hI5h^z0OKmc|!RkN%DAGCYyO!bMXF?4$G9UI;*ttQI zS7XiPWd?KYhj%&Hvg{4HdSMCb^?zR9y(R}i`Q!vd4#?t)UKL-ce*90C2}1^qu0p+nuPR^L6GUNU2Tp%a@_)YWYGIAT*b`dvXQ zC=fREF0RY*(e@KvnLT|5`y>bfbwE9-M7&K`-@J4_>&jwCnn zTztNs)W3K6!EmB7YiNO#G3@K^1PNs^)n0DL;I_aR> zKQCX`SFb^wC<}J{wH30*0>kV0%u*E$R-yXa>E>ux5IXN(_XYhr@%HyUD~R$7dyUBp znAJsZ1_SZ-vzX~~X7U4pAp2rojNdA2Dfr0P&o&KhO^z4X&)aA{K=&Wic5K&?FUO#y}}8o(%*ba zL6T@JOgY&hG)gx100CL(ag*X7`wIkI&{z&(`Tbd+Mn|i+qrLhf?L0;5Yu;wt8b75u zx}arIQMk-~L1qE*GRIfQn*p?o|BsA+XMLqiL$O>tmw;`?j0!WCAz%WAe^0>wSs3m? z+b9`WW(wLg6Q*?LME3s~xqtrzHVy(-Fw)X_eItNG+L;kzV{4ooKT9~+njTFnD_2jf zs;Un{9|?}XQG0@5NAFtr?}vDv-JJ536cDQOnLnv;)CTXGtg3WRR>a};bC32hQ+SuM z?UiA)tJvCnhpJCwm8zHGtBiJEvo0#LV2RZ4MEUPpQn=n8vm}i$Q z0I`nTo9_DDVq<=EKU?8hGXh{6KA3xRy-I_#lkV)3)hF2{#0vEfirbQ5Nf@Gq=rg<}0{mQt@bkK#=>S0SN@mmu-qPY zCLOJ+%xU1QFLOGrK=8zoZhCxtg2D*Y@K=Of zPf@uxa!=xldCsV*sSUf*l*I_e6n*t8w< z;EH=kzFS+L8LzXRL}fNLwJ+1qPw_>Mom@hqHOIy9;Mz7kzvCset74 z@@$st6KD68S=fu=un6p&FGuNpf&|mZ0qguFSjt|@g-X?|=JWzsQd^gZsfpiL< z14|pQ`Bf2XS3cG>i0EfGR%3&svMwD8)+dlV+=ds5K>ip z2O+8QFcbk#Z4d0fh{KRa!(4p+my4na9TG1DSy9J5tyUzN3)A~#tp%fP&yz38VqU5@vP`mrW1Uvd zgQCoztjXwkH^Y=?C68;Ro?h!fMf9J&R~?&9h?tiS4*79bU2y|U3)0yo8$Mg@WWo`t zPk2jMX6q8HthA!~fNQ8fcYv$3rn-|xp`gsrlfnwSwyQ1Izyvm;nwGmaPa^ICB?A@s zJc;xgl*XqUUuIXEh2^0P?P4>0cMfpmlM~%FC@(=4kIi_~a$5fK3<4Pp4PQ2Pm>s@6 z&vkNYt1q~N#_WyU9ZoOFeqh4O*}a_B2DI)~lm|*sWQuMaZYppaIGbZV3AKBqCcc~< zk;%MPP82p?=^k87oE7zfJq^xoVRz@@Es`hUsC%%G#eaX*!gB{#Q;i;@(=_*OT@N+c*#WMYRththy`yoRyZzbqVep+j;KCRp2!Nt^bTk8nZ zd5sSvSPM?ip>0SV9uU6P1y$Ry(0ql=NsmAY=a|~k2Zh8!$!y9b4U_y+lm;^ohW%u} z2n19HiUxkKxoOWX!9K1NYS7i5qVdNNio2HeD(?Bh>;uNsFs8q%?y|7wTKc%uai!C# zW-ST*7_^0aZyM7tKPbOMcHvevb}dM>MbQIWT&=QbVQttI?AqXS!8z)V1`Mu@bvViJ2g&S>g7R2~1Y~G8FyF;k z%wg%Fd}7xv+c)F>31_3h;78uGR1*yb3X7K?e`rwc4h30v=$aH}O z42k!U4Ul1!*PKS39UHe8Ia5v#=^Kiy?Oy()?b2j=ruw8I-%c&%8^l7bC~%npswuotZ9l0LY8;ZnTz`a~Q>rW{dniffy^AzQl=AL3{N=hbdAh(F< z?d=@G$NMDsFG1AFA>x!V3L;GgQG5-&PjF>u!1C9TZe;iS*H+)j%J>7-9iUdIEWgJ- zZ(z~FY$I4M`(FBh;95s*>{b(?c)~;ex|{N!iqS{N(S=*R|EyKiZMNG(+wu4nd{q`uaE-s<~hYftAZ9o+utDN|Pm}GB= z&f1LR715i4$r!Uiv4SpV@}C9Sjo#^uUqVuAs?Vzp`!C8aU(0qRaAnlIuyh?KNh8Dr z5u)36qhCme)UH$$#~EKq7kQGf;;F&8zlp|U5~J${QZ0EUoA+Pf2mVg5px=<}>?Eiu zzI)&XGAOT9D^w6OoM%g(e#UMiT&b$5^$)h&6GU+lB4)eL!D83Vx&x74W)wN6D9l{E zPHg|2Xgzy<YZP>!CPCvV&&8Hp}oj%(DGsa9``=M|B!t*Ne)rj&YrP{_ZW6Qu*hd zz?CQ~^IJOc$*k;+1v{c6wSR>5Dy}f*Yrb}}oL4^GYT*2QP3Hcerew+r3gp~H)s`>B zzLjWfLj>y+3`80&7WayFByC=HDQGI};Vv@3HYHtLKgg)D=$E6x7Psd3X-CdNG|&1> z2-19{s8M~^X6}-464~n;SaU%Z6Rtu9x42#7atfOZdiij(*z?PbDFp@gi*f$=_vhQW|yP->=6sSCOYHB<%tG8NEoxvLQ&*!*GT zGs9)3LN*kCc!8H;+a7>wd@lkXj?#q@DZd;a3)G9m4|CpX-O2wzk-7G)p~r3Q{Mo6c z-%}9i`9#FH8OrIP;5RyFu?Jr?QqzkzKR*b^e-*UqNBvWClc0{6~y!3z=`cMrp4 zFKNr?m=>YdTs;*oOlO^ZfqC$h@~yUd!JVd_Y0d4zle#pJVr8wD+miuyM6r{&^xLt zLj1bHEa^`tzZf(Y0j60aBwm-Vzax8~aJW}tXE$)+`DP(~iS@#m89VrMvmYdbgG1qf z+JnB+&sNPD)$pHGxhAe1pPJVbriEL26dIr-L=4q(qO{VWF<1|^OX8K{_Av z>%tPENe?kW9F`%hdLN&r(j~|i%tnpDQV_z`E*Fx}N;^z!7paJJURlzZ1)-9q9iW(> zuW;4b8GABHvl*W3($wXf#?P@pyu%7(3YT`*kD*;%T+6t?@Od_v09S;Gh1u|31M|3j z5?-OmJTAgjmH?%}RNRe7cAKM)+KA(=S&Gzv)zI~?@Oo&oMQKFMU@TKy@n3XWs{9tIxMus#K62VDG`WzWDxZoQQdo+#%JiD6kazqZP6t z081pMc%Q*iQKXhMm1wbBlc0{Ma(eWUqLt|~XK%dR7|4RHg#bSQ>< z$P7)KtLW=(&%Ze4w1W)S8%Oa&D#Pn#`V<-$Oun4A4vgCJUK`p>TCUfJ(EcWe$dk;+ zg}ep@G4vzb^qr)HS;b@FZaioC)X^%Qpt5|EK3-6E#MVGl`K6i+%s^0fg~@Ql&@PIQ z*7qgcEBMFG8i+L=w$AeeN2r+^GbuipSb&X3Y#6ak4luoYIQ4mj)FIpHsu^c)JZ!;9 zL-O}T==u>#dwFC83r;~>*fPIr7DXIHOfysz4U{9}e1Pe^_244TR_m`_2#bRp0oL@0 zPkB5+5u-MABN=|g<)!nT0Q_55zBG37wcWijhE8aS+LG!z@>usW#F0f)*6=OQ+y!0V zfgKLH!sELVoV<5ZGRrOS_GxzacD8W)4ad)L$@J4FBp|l(**HxByJ+ut<x&@ZWglx-4B)g@(mh8m) z!`wwr@pkY!(p=k<%U+r);G++agxOo#+08UDkpEg|SIEE(^X+nRCw5bJ57#$=477VC zGw-Qb@%S=O1{h43h9L5DLqzQ&Yy_W$AyuxN37+gcDwqRE_3rI^Kr>>PY{@}d;;J#_ zITmub*{x67a(=-MXpNynJ`>6ZRQQ#s#Ahay9Vhxqo0bxxB4SSI4d=;$VMWSG}=CfyBv<1YB z>3(`gbj+W=L+E0N8zL%t!g635*gs`JvCNam9mF~^$>0HQ9;a=m*-nXw-NW|9-M2=dxI$z4@QkV2=r$ELtDJe9tTk#Vayu0yp+AsI`s<}Du z7?Q>sRXq2nt|QG}xgT4aYT&${vo$$Es|O0%MU;h?5qO0PLrd;HEME}LJ*}m*p|}D? z2ZzTIEkmZ3K-@j^Am&p33FgdY zPR55_c`5P+9;{`{w<;v&bJFb72!gMpZKUZ&{i>HebYivmKYt%R=W=U~O@!hTWYvWZ zI~nDGqz*1U-aN_2rs~nyb7ItXCqniWTT?$<^1i|a9b^jJp~ zO4@C58mnVdUwl+8uvb~wpBkP^ ztC~XMN-)H)dt<@A`@Qjla#$}{mvp)Cgb*eR%f+M*@YEMd;!7Xko^aiUY7y0T*>3#B zQH4YD7T{Ne@O9@3+bRyusr*sJMSU?l@W4Qc?)(ZqbNFl+?Cm*x0@K15-8BvM=%*n;!}L7QVD~bN_f?oH#{X@Cu4HE`2=?eJC!wP*F+}XMUOgQjf3Izgnwe zFek00S3LGUNmp61pqF*kxA3AMLG$l!$^FOOP6E#m?UKr|sE6|URlXD0wC)MC4S-6S zZu7lz{fx~luRADCL%)Kf%9KoOV*t-dhv2pf;^D)Qwh*LJlAoVn+N96w6k3*;RYcPK5DmCHZVr|e-A_>z)3L;H|<|&g+8^xuiYNfu&5u{zxD@inx5c$M@(ZSOt=HT$4llWu{wYj-D z_-lv5dZ3&XHPD@IS4INx=`-$pM<~Nn~e%j60 zCd#jN&d+C(L}serXJ_|u#oRCbiqgRU!C*euO!_YmqYQo2RPOAo zP0GiQyzHHz#Rq7Ix#C$*x~qbi8XG&RsjaPLipTz5c6WfFj3@T?%YXj{)J=$|rKg`_ zGoNqWbeld5ojwekKGcG=wQ&9$Mk|qN`^O=GzIy+ihx<1!{ zO{`vAAYnGH@=_|&N1Ira+BNrB z86Q6)TS6c|ZX$yqeiPi9d=Mck>mwLUJ{V<%tqGk*S#E-=SGF|zb0w;hJlh>K+l`{- zovPzbL+w+Gcgpl5qDpoeHWaR^cI#QO6A1)`lr)9ZKT(A?uXF(CrFP`YAucp}mpls@qmt-y;9T$BJa@0 zvG>`CbcRo+$h;t+haRYKQ7b`03e#Y$KnB6h*wfF`GvVOiz(JDx=k)Zn{9rPx=c`xu zRN9RU2KV;%Hm0Wq%^Q8^27`Z>I-_~qmw#m+fh7S2Ij0Nmhf-6K z2w!py$()J{Ch>C-QS5`hxw*M`S9dU2<`CTC*bLj~+H|x4AwVCQ?HbU#?0BHX@@Hyl z>MER<*Q~TJ^*7yxSHpq~UUqh>qNlc%qrXw>d!nMQEz@~gV+&r@y)kBA`E}yNKFt)*wg|Xhztsodn`hvVZ&1>x6xylb(}>&(>bfd-?>T_V@= zv!UJnT304cs3v><@@GJGo^!clyJfel{4kA=losB3;)W1z$Mq}`K^)3WgRpa(wANT4 zWhIapxgqC@A{_h;gZpPrC$umKB@C=84t0<+rcPZV-aYNlQ##6FS@2oRTm6<1rt50Y zrIvPyDK$eD8mdQTW?x)t9*_uABuyZw%9@%R)rpKxD0v|w_FUs`znnV|HyGjl**X5t zNUtKBIali@;SeGn!WS17CZ{l%Ri-xk2PmJgurP^`tx`UI{)33Tny+7nfWofv!QqEs zKjRRf8yqPO4A#}=RMbrxwqP7Gw9Kb_ESope$#8v!^LxRfnGjp7xLI6>w4Ffsb+wP- zyRA^GgX;ISTJ9DcLP(ZNQxO=kprD|^u;6#t4u6{&8eD3GVzStpY#C11oWb4Lc=_mrZ zb4Yd258-pazIft*@*+!F2H5H>8ZfQuV)4yzLS}%tMc`LPL z>t)NB4U{>gs9snML$7--|46+79-mqw{{eQ)+WNJyu<+f(tr@Pty_>cOttO$A?mC_tT~}vWoXdM*-n|O-dNZS@MqHx8p62Rkl7EYQN7^~NL5`jo6Ns# z+;Kx&l^aS#Pl<>?BG;s)?*z33Ff%hdynOjmgH;ZA;hvrz z@cqm60>AMI^yiE&K2`5ekOiLN*We&qBl74y5PN6(`o0g?>5Y$5+>BoSUmCB}D=7R} zL`0+!jN!;&Zi8;!y5((SZEZdG=P{dqZ1}O9oE&NQSM~#_D`X1gPXL4%xNFmCPz!h* zrCW1S?CwV;@2$%if!BuT*b5AV4AXS7&V6Y=Ws2p{v6<;2K3+8nm{0OI^q!+O8`~_< z=l8a-SZf-Txxew@Zne)UT=57;VY;8qegjBMK-IcvZ>BU%$v*0HOok-i zoqGh?Lb_n%lk$Imw;v^I8W4!3WTw_)(PWvSEdv9C`}+8G*_$^rhlcch032D;hK||E zC#|imnV5j~rU1=|g_0&f3tgAB^>x1+H*P>)Hr$iZR@kX>Qbv0ELG2c<&Cqu0ikR4+ zZ=UPpQ+&Lk*^a&4*GU?Gg<2!UffVeTkyiOeuggieI`NI7m(j)83&-@kA?y@R0H9fVLoc>l zPYP7O3?~%7j!<)&XL~oLPwOYZe)NjsIXFRJen`OZz;`DM5wq5{)|Ro-qarc3D{KaY z0W7(Lk539vCa|Ae&Ohhl;~U)GzPj(z_-=L~Esbx*T^1O%o3h(4tgHgTS!&7;YcSbh z4CpVQUH3F*r`t;vxrk7e74`;z9kDSnK3!d1Q{ZwQu0vi@7k<$4FVK_K)x8%$qm)PHRgps>ABXg_feXwZ3(%3FVLSY~Lt_WSNw z`W)HHq@=u0e?<13U=O&15t`!wssSSeFxeLb?knPRS*Z@XcHN}~1@~TUhC%@|!0VijJ^oo5Go4NnmJie8$H5`u+_W8RAVwQm(JBZ=)4<^xKw&hL+ak zO$CK@FWIy?WWaX+*csNQ0P%`DG%(9I!OSj&Je#BWptIb{-mZuiB}_>)IQ?VlskZW4 zFps6RUd#u!CbKnv*Qi9v_l(@KD|QpO?uV`v*FF_5lL#pP zu`wi}K#Fjo#GeW_r@1o2H49ucU80vWrPyV1NJXY-1~oLD8fI?16;#b?#xNAY^LErf333%W+QQn2p93rzuGm$qrNB^bNOHxbTp1eOSDlWWL zey#h2Jf?DeZ4F>7K>$MsTwPsxd#06~YptB+3|!17CGbgN{W0xkfU3|FufCY0ng7(wssF~b!s@%QA%6Z9&t>=&I+ zEW3Ig>kA#I+@fat^y6ANBwD>|9;y!#Jr(){wCBAv`^LM>0fHWd7j1rDzC!VaUQ1<# zLrDs*hll)THfO$8c$ICbP+X~s*Jq4}U3{#~mP|ljN?0Rld_PzBjq>O3L#_c}E7sT7 zqw&zhw--V5kH~=@J3ISl-?4&{#zuveeV=nv<|-;`YHHWyn&*Ga0W@`9C3&J#&Wlp)|vKgTx%Az5_r0R#Hj3{nf=5L4uXbi>8NCSYQSG;RDFbNL6zNtVx<%P-nOj~bgBVs-@X{pUwx~|pO6CP+L&OGYFqCaPza=drQHjl2NLud;dzMb*N5Su zh&l^odU(n1bkw)gt?nTbW73S_7R{lb{&L8j6}XCa3{biDGPoaUQDud*NF5sZ)l`YJ zo7+pz&L9~1@CQhRUjYvy$|}aLyYtPA-jrfv3_wFmPA`6MvoBEP!#aaYL4B8yEW1(? zU8@DC9Js|cnDny)Fw#dMi$`9PSo<*?cVARguYHHFP1Y&c(M{sM1tEK{)*!qpt#W7? z-vC1Lxw*OST+ne?Lek~g^gX<_=~>z!3efnLh_te@T1(T&9G{xX9UFUChdh!ZM|cqM zF5MQ~ruRpd-5($LG;+no#f`?s#*)(dk?xIuTTxo}h1I}u9Un{Lx!Sf$H^HqITU#li zl-Yd{2Zl~tfc>LPN1}cabEv8!_~xGWn;BKwpJ|Y5z)q5fqM^st%Hfa^ zQi8qFU{jkq9(K=Nd?w-$Sx=O|#3sS{_3KxXClU!X;p(gHC@B1{h)Bhi=rpaxMSw_1 zM%ykzLgSN@IS~=`vbS!XNt3Pp`t=U@4cf{AF&-sdet0dC3}c@UHrD0)5-6IA(9*nXe|A$ zX@P$9{}?34t~$pjGplnmiYZgm((2z50r+=E)>Vg~`_>;(}6B4hO$880q1 zkG-wXKRzwlLmPLT_<)#@l=Ek>IOCJCht{dVduFFM9@rk({d4r!&xedh z+9i@%Bz4i&o0f%LXizw#uO$4l-1#G<(auh-BrFBKsczBjcT>s*krtw~biBO0KP@HE zZ_RBkH<8Uf27_^b{#;2~TAKU^=!o&HL8qYbrK8=&y^VT%yXvXUApq0J!EU(2-XSnn zD?P!F!|5~-uZc;tn^^hgh zx`NgjcQHdOGdO`~>SEI!Ba3n2(JU873x8?^VCOmGq~cx=)W~X3pT;Wf#+E>(+_|?s z#}F#CVB`W6HL%;ile{D(TgAmzO0Hw#TX5Ala1xzi3gUttv7br~?_vm$Cztd^54B7R zM#h3PkmDk`2rb-7db?1RWFy7R*r{cYBu|1ZvNkOy5nw$(S@z+Q zo>p!8WbFRhm^3gpbVg6G>)!^_6+Qz@^yIJ#{w?STdQT4r`|FyVZ}myhC%k^Y4))m7 zN(18lGrn0v%)LU@TT-X99&yQNJMmOTfWS_0nIknHJ5L48E@2NN1^wCR6`O%L3iO%m ztYiA`M^`M`9&UBFYO!5S7b^i}7hioC&R@Xyv+Ha6f$en?w90w^}eAEgcC@q69V5v;RjXc?#%_YukZ z93u@?b;ye*A!Oal`Cbxe1aztcpkH6$dbI6D6b^t2JWee3q&x>Df{lA4v~-DuCTLO; znLSl{npKry`)s>prgAyqs`VQs^)0QRhll;h$6)r!!Qo+~=j+LXJ!$mGn_1g?HOnd* z&+ncTio9}(P9jG!3|9~Iac~gJH56GIpdl+grAhqX4kL4N z8Dvm_q1oDFh&Xp=J6$v>X?Nb(!o3OPuKLM2nTE0)A1@7CZ=1`o5nU0*f}I@ohBrNP za}U|pJnP+$cI;$jWwQX40ov+;og-N->jdC^bxln^X8l)t`w1YRXd@pmeeoxV6v?5_ z@87?ZupRARK}aMdZCfC+!2upu0?-^TKc91qO5%YHqW#|h z@)_{{1Ymj+0W&iCYP%4#eh{7~!GO4c=Dd!DQOQWQJP>|ug*(S;^_o^9ypsM4Bu{Yu z9#kDSt|F`UHmsR5t%4o1Xv&A?Or`a>yl0IrdT^~N>)!q$d7)5)WQUgQ=?r6fgBct* z{wuz^>z`*vT_!#}*!ZBrOVh`bwNjkUn4rjq9kwVq+`(uY9)3x1B@k+m{ zBzX5G1S4W>*pfUd39^074YR&w`I?K=#f8>O7I9(_zz{oK>7B@ZalcU;Xpq);t8ary zK)t)VKBt23)QmCzZwP>yBl=ywQgODy)#5Apbe$)}4{k_kZ0E{@1j@Qs!J;ZzDVR5h zqUi4x*e3%%z+0Q?F`Z3!u&TZY)|#I+Z9euQayTOPQZeZ2+wXbSQ#Nf7)IK8pwm*LS z`19aEh75HJKTSz*&)xGM9vvJUT$%zyNzV{cZ>7T-A)0I4j3!A0t=!$L(NzLd)JRJU z#qPu~Pw3Rt<4%moXT%s(Bv4(Yt?=Sx{Na8?tDRUNPXC% zXw|jXACpltl4*Z=Vw`E$wWB?DY^?U`w!Pz#`k-PNu%%hj85RY5?7EkOmB7P15eCR6 zXqaOAvVwc{%}&tOJJeJF)clR#4`lN*xJtXOadBuKv%k1UE(J!pg>W5^Bf)CX7%tY; zzZo3VO2d~@|F_cg|EetWUnNkIziA^M4_Q9)76}OndH3r2)vLD?B{H%<0U!gsiG#g; zSa`qDyX~1XY=h9BKYyqLHEaO`3)qzQEnJ#bE*YGfnwTts_$LS8R}dP9=S{8dmjLo1 z9|a6z8bd~`5}1op0>UR*CTcM7kihjQ`Sh9iX2Hi?Au;js@#S|JO)n0qRaW)pZ0&<5 zeEk%!%2=SXvh8-+-?{xm^%O7xHESHQ5Tcqf_CZHlWMxQNXpBr{(W0*Fp0+~Y53c)H zL{2V`_}c>~Ui2GLkyoeQo>Py*7OIf*N$*%Yarek2Bh5xg#vfo6NmvgM@b>lffds+o zJM8efr`jQi-hTn+_#R$Js18s^0I-oQfx~>_EA?|WfM;@dh5&oVLOR|e_zB`ca6j1d z7MKE+z1QKBKm#&TQda1vrKhYmSxB0|cS-5`;;G9f}c1SZ&9& zEhZQQ%hUh_zc^Nk-57qaa z`*UlQu?HR?H5-!sZQaw;dP-&&u7mgtSjBT)`zrQX!yv>1R`A}`Hb|PJ zq^IYQ$w@FOlr61TjE9j1#Bz|PYvVpA0XrKD7&z(bs+W$A5uiz8M8A=3qd?Z-x23u0+C6+h0=j}AgIdFjQn-lx9Z zsaEeBNq1&VQ|Az}Zq5kkj)FIkatV!%PTI=0rd%E0zD^m=Btl{YpixzueOF_-4VTH8 z6=eapCBT7>u^EYb*O#OWB?R}P{)eaUfQEC6+8!-x)ELqv2qHQ`h>|EtFgnqV?naFk z-HYfYxXKVgMD$Md-lGK3OLQViFiIF1=09`4|NGXuYvm?cG4Gsr?`J>Hv-dd%Ww(La zzJ5oa(yX~$fHMHi7W0d&Et264T4x}s_F(oC53%rbjNkj&YEV-7OX4jt!vTLm_djjn ziGjNfgzq8P26TWf6Fw^d`!oS27mLw`qJrfJB$8zg%ma2=b5KSR*ndOuFWus@?Ho@Y zB#$V2JNGG9PMP3vABE%b6?N3SgTA4p|D=8UnC(lLz~X@ ztaIb)B);`)0NiRHCIP?P_3j0Dt*+*#X&S8le+FB=_ZI7YX=sqM#qO6 zD)<xHd$2^d2@Y`R_elD*J9z;~MF`-hbX?cy=qV9Ym zItG2YfAwcS(+e8R(kgN3+QqBS#sg93g}UXM1T>Jmgyml-z@7Ao@3U-)tJ z5&iTl*IH$QwV#dPux;rV`6E~^$^@wA-iNQ9DZHJqp`Kgw{z2s%DM~QA+q)?WC|JRw zvnrM_)yNz45**4)O4{e<=Hy};{r`$NI6Dj6c9*>o3m>_4=T4WG6gyN^@uJZq$7- zx@Ug58Z83D+4RB5aj!XK=MzboQ*Mm>Ru01UJZB9cXkX7aFNYX^BHh7V9<@maJ>KR>(4+-hM1YcS0;#0xM^beyRsNVe_}?v+&~13f%#>{v zV+#M(R@;v~kkoiFW$-S66P*Jsze5O$JkocVP_@-JRL2Ig}QJJWKSYY%W*r9$X`#~pL2wa ztTLA=dC(3znrS5t8PMR4ywu8hRC3W7>UQtx^LO*{UKdDQdfKC3rXSF`kBN417Y8__ zTk++K&Wew2#y%5F|Hi@;Jn1eOT2oWg^Rnw(cyTw<4^1M4?q+}qE``-sRUM*e6m#2% z193#lP=dq`khQ?dCkN+%*WB}ql>fEA&{TIuxYl(5eoWVaC*R7x4Aq@`nv^VIZN=n} z9{7(st0RZu(S2mfgmj!lsw}6S7b|jL*JM|iuG+yW=qa25ww%PwYP9@y8tx>zDG^ED zO8YfLG|o=?A+Zi+@#DHSDGsuYTEYR{OQ>p;=%YFmdEmz8EFhMfr6?F?&dkXr_nE#; z7tL{Uk=fzk(*1!Uh4A-vGfA|<#rEBH<3NJI(9zsQ-(4&w*R~QVeM`9Nj6`t62;HO7 zV0^jI)*>Sk8OP^;&rB@+Vxyy@W7VD+Y$>X!t*t$-c?Q#uK*HRLE2?crI<16*puea4 zU6+@aNWvi+5#m%x^bj09uCh7}`roTDf(Cx?zuC0ucD8+~t^LzLf0@gb>1APFnoE8M zw(O>Ih5~IwSybm{XI_KDPa%n%p)^o<;)&gE9FGcN@knCvQPhs$WdetJIY+I z?hOlbIJtM&)=hAhJBU=ne{1Md0P_=60KAPk%sll+J#pd0sc*L)R%?V@r3c?v?AR#F^P&H<2;poV>^YJ)b7Q3>`C5s`)o=>-#HeOtw* zW#`F?+g%Kr;B;lqdg5#o`-y=IY-Vdq3dj+B3I}tu$DzHN>mjiWH73f`ot+&)mN?YA zCfX@X-cs<0%wMWZ@1NJ}50Mu%vt!W7k8mFG#Q<9hSTxD>w{NO5zW1F#m%iOipk>PA z0>Ukb+p_&8tfb6QIF|*VhC0tmOk{ZU=uzO7I|aC`P2aCw`I)I8lM9M&8c0}k4-ZCu zs({`@Xi~I2!JUn5h>8p zgeSTg01(j*o=Fq2g$IAfzue{-FrV^B5|T8m+MD*bHahdf9BzclHq?8ZrX?~Vy}f_; z&hOtM7*dR+k;T#iv#9y?(PfkKun!~QB6Rvqd(F=P@c_7tLFa~pTQ$o-0q=F z{3-rOK|r*FR!<156EbQIFTJ zVS+chwg<>yYGzWVCTE_fdnWZ>Xg2UwG9}fBU{MkLG<@yvUg}N5%=qKU&??>N9z9dj zhRI=a&U=}@TQ%SDZ*G2OCU9Y4A(Xbds)`VBzB$){o+)Swj$b(ggCHKgvUVn6isFtu_0Yl6MS7D{lrS}2HA+S*LNL#4CzM0GWcEQndTk*O(o!6qzA+7}K8v-(B{ zXpsD9^}pG>CItTJ%7oM_!0kZHrytp3~YG9**QNq7Ys5!tIC+C!(DRHa267J zMZ3R@M!PU#_+_@WqwI();BCC5anxeFrm^ab0M1mGyMSV^26Fdm4*- z<&MvzHtg0&USD4vZx6poBQez1$91=?aysBAd~&!mVz2^NT^R)Bo+i$1VQ-JDUq# zF2%`UFmX08n7w_RObSOyDL6~%5>+0<-}$PzHeFoSl#IU~AOi?Fxqlu>Nrjx8c+4y; zm`vDKa%e5~@+j~Ho!PY%oPw;Z01*m0vnbO@!s|2*DASuJ(shrPJluEoM7U64k%SVE z&t6xuk!O|!9d2-%z-$90dofD~YtOpq5l`u^#3z)lxDtHRft;sU7ITiw@W~2Er)PM| zIu+Z;qcZ>4I*85lgX`gUUr5#ni3|tu;f2qYk`mt9pUIM>1GT@8J!wKKwvNBvs9Uy&!F9Z zFL(Nxt5=@auf@%R~@}q6*l~?;&>7-A>-FjghmvA>)hNGypxij^EK% z>Im(u>@%?XDV?e#R#C4v=`{tN=&OV?SUS9-kM&|F3Aibd#cd@KL8 zmlqkpy+C~Gnij}uQ9F1L++>=}IJ;=d!u|6Gq|XdUh9=K_{*oquPiBse{9{q23E+tj zW^J=TB=`Qiks8Ar(2u@MEXPg0KzWKrnF@0z3~~lkKI-lML_rW!nM1)XFTv#StDgAF z*u1$4M4=Hi`6K4P`Wd!GnlU=L{pY^RmDH_E5Rly5L)I&vvbgUKQl>$Zle(#D`6?+0 z@aESYOQa9DkhtQ6v%^I&EHgIMi;scDMN>akde|}+bMzWKEFQ@xCu_6`r(`d~+tM7J zoa_{v=6cHXD}bl>Ns<5|zLkY)iYAm21imJyx*pt@^&ka1|4mM$_4l##@c8Dne1=bh z6tgunGmF&BI0Z6T_JRrehT@7Ll!2ZX7u(}M2YhZAkoi5=^^Y81=dc;U+|c;-0)@Nr z?EE7y1?UuZ^!F>FY(HM~Pvh*4I|KrnC*r`-bmLp@tbvi(Up3h4d16KM?Zl0dvc18i zmM4t!hJBn`-L!(n=--<6(5l*z)phmQBXjyTVh%+?gMzQD&FjjLrM;1=ThH`M8WO!S z<5&E=cnWfLe2dPw*^3VL6D|vkNU%SEA`802tPUo(h}?)>USB7Emh;@?2+Z7dFmK5F zeFsMw6u$3JvAxcY<-aQ!s4TmAQZswut=8LLZpZrX4a@e?)JW}IT)bhBx zEZ-m9@9MG_&_jbWwu@A$7mEGOJ%Od{*?0!5leip$apeU;s2zq+D@=9US?{)$uz^1I zYxr{3V^0t_)Mk>REOb*+Y>uGlC}Gc6qXl5g-%*0THUPn4Fc}=y4VD@m~O=KxX zSo$P*hd$PVIqX$fkDtAp8$;gs)+$v+zZD^fkhhne8E1k|oY`jni$WkF?BhK5en@y& zb#P_*jn$mo>6&=qVH?;V{1k!Cv1a{5LU$itIMB8sJ*=lTW99 z)ZaS(25Fv2J$CaK@l}HuB@Q2rk`D-?8%R26h%y7KDb$mQxyp1Qr12ostAsw@h3I$u3s z=L|$)5T4(*_@2T~eXl|PSAwfETxwfese#pQl9y#}*KhherfKa!2JA3H` zGG5;xZT||Cf#7_-zbFkvU^w7QUU)h=(sFF*>7Pd10W3eJO$bchwF6`LM;ins+@b1P zCpwwhQg~~OEa)PGNs5b-k!IUI*^p5|P!As0{eB;JlSyb`>DV)-KDor!Z|asd;dq)^ zA>Sv&%EaA(1&~}x=LkXVM>QG!y#V7sKtJ&Xt>Yj5z?eSEM=}BRCoXTO_S^p2oI0N2 ziHi|nCwPwf&qF+S0Lq@~MlhMXt1IEEJj{0ZL(r_l70^h04gNry0;19u`OFvJ`tqTE zLc8AXK?6(lVl6n)u|SUZ^8TK2fX0BVP1^Cx%b{E5TOl6K3;_j%v5=j$^x2L%h$?*|4>2~LxPaQGf z#Q1_&JxjG-F88j_62QAsX}j{z@(Mygx?q6~96&W)YkIvR7kOW3=;Mk=J7K%w)6l59 zyj2rQWrvVJ>~Nz(=5qS*XFGpkwa7N5;{(Qj9ORVwNL%vheJdtFcowV{QtCb84F*Us zF(Lq+S98PK!7=}Jr z!MFchB=LUXE*IQB=Ghg4Edp{bq*`oSsSEsFn31Iq?M2@z$P`+_DvrRj%m`Q$W z$xcX6rb3W$M0Fklr`$I}jDna~V+6(lR$2~qSE(ucm+6p+`jH6r&FbZj+;Z!%{clOW zfj3cx$bbGCP-UPs@v#7Y`RK=3we!Z;!{aL8uKl_8G=F(uFi_;cxqJBPXQGO`L4@{r z4$Y(PUJvUZEYv2ojDEmJCYoLG#5`=U&A)&R;Yj$@$s)h)8C}VjGmaO0eN5sqjt-L(ty;Y-D1|61n5YqB=PCTGpUmi&2=^qm~Y`el*0!ORF ztLzrGI8EPA5(Z+*Z6_ZfvFHAxi7`VbXyp75-o>-Le(>GFpmWIGtRT_!Z=n3+n%%eP zVK4_r$K*);XWj6xc-8FUD3;FG-41938`>h3)peWJFMT6wFVjaA3uPiWb23ZJ5TCEz zU2oPY-ymDMmZh_2Wc6ZWUox@iP0(Eqi7^xH#h=#4gz&|?OmMu z@@h}CV1^oARRXXux3(r}#U847?N;`wJQt9VgAu~;zyc=L>OFSg0HAsO8LRbJq`Y82 zQ-Pt_2B3j&#HJ_!ygIC)ZFdMx-pkzYZsLmOENN%p`Nl~g?2+k;*}1Na8BA5EV2wt~ zv)f8cYvkKS5QYBt5aW-b!;`if7kits?<2eR0R@7?&49iU1Pn2{y!pol>sjZyJwQI- zvw%`kRz}#KQ!ZPyx54*T`T);wATc1l6`n}QzI&H9YV`hko=pmGy92|kap^4ER6#Aj zLQOuNY3CT(78JzI(|2t{{V8LIas<+0s}rD?Ac6zEAj|)5o5B?LZn+^n{s* zeJkXPr()4v)~qYJYEHR4nxI&*NFtkdgZMtY6>ml4@#>BE*Sq40|DiJshPgp>fGdJ+s@ ztR0r88;0ue%i`UUSE$n^f44sxei9rnBTMba{xoYlm1X{Yy#X{l0_nH0Aqsm$06W`I zhr~!=XLu%c1NNa{b*8jw4ffic8k?Bu2m>8=gc0z2X2lJ9mLCDZ9<5r`6@n2Lj%RZ-Qz1 z`hgplMS3I1;wTRNZYkeE5>(qASIo@t=n?v{EigAkqyo;m?!YtL{Wl*kt^9F#QgBl0 zj+usM{fHpP$P?J>ULqsN*3cA)d^hpcIlK;g>Ac|obN#||=|c-{6c~#aP*W z?0z+%NIg@EE*JQp8vBeLFXYi)e%rUoOG`_0<$s@^o)W;|Q>LJs1N=9zLk9-KFCWN4 zscYR+D`#h3bc@^2_8eQ5f|TM#!Z>T6B79WF=e{6$9fv{%UhU#Zz7)e|R{x3Fi&d0i zz)*$P@A;(<1h8gI9i;aK>rH8;phX7v>osgyuNYcAv}NXGl*RO`1Cg$dJ62chvOQ#< zZW!AT=-V(_I)B-bn)LL85|~-2s8FNFjf9qS`&~kqO^_WDw9|Mn!6TZxkFe2MWkUlw z7`BDMC^gpy1#o2ejAn^j!LJQDfjqo7ETkfdC@}QE12Dpw*;zVo*Z&CG`j0Ez1Gu3y zkpujLCyo@nM{q`a6-^WT{FKt{PiNM8^>8@jaenKs`_Wo*w;oHr*9(I1MGS-y-W-8o zalCyBUg|QKd!S@+!33GcKJ`YfWl+Pov6Z@rIGC>e{{+~@4wC6A^ACU(L@Xxl>ckAS-6 zyW~G1dBJ*(yu(g1qZ9akpCA?or(v$b|1+s!(dBwYFOfit1p##gAUlZ(F@MfM;5Za?7$xroTuek3Eqf>@kx@9pJuaCpfU zh&GV%7Tj>#!V28J)F=Q76Aw7o;b5cE0ocvgxiN@BbqfSG{JKj?A~!?72gK^~*%>o% zh6&7MDp7TBz`h&-X#rv}^B{I-|C@w|aCumuZKk)4xhQGH%#HVxgbom>j3LZ{4a_xQ zI<&|k1en;)o`Rc6-oG5{gr9!g|J<6Fl`qnwZ2ep3C9 zi)KL2Kw!oi5Zh;25720J^a2b6d|E}BJ-m@|&UUZ;bxAy6mc(rQovZOm>R0jIFkmu6 zH*?qGlmBZPh4%6DgPn`eQ5&P<>(*xPBOO~$%=X&BY^iMLMsXYwtUVDaP1A;%+-I8B zt%JSZZuC<>%RWp;Ua;`XT)0mi%U&d(DEdH0#YQV4X{|%{=?UTJlBBOH;>kq}I zmw(PZZS68>UFfH+j89a1biy~PNcH(~8NN-koiv3wf#!qG@+IH>7AFKmiu76`$(MNT zxb-`mN}+XU%)HUoH|)lhso1afq9gVXh#IJ;>A5JjA4l+cVj8zVDQ-Z=hL@F&O{y|& zh_ArSAm{QMBwC8%7`^>LDa_>2LI0gMYUBj1tMYbE0q&1{&Uto3w9nSI7I(cos+$M| z1C6jnL1QQ7?q@@S%ZHGyosEB0?Za6n27edTjI+Tu>y;;10RSq*SeHiKW_1AWiA(tAbN+0&=AEvbnxL3vsK5g8HlDrTelsAMm4h`g zFIp+uN**+LqY}F#NK$dpFze#Tmip>Ypaf~B+A9&iE9jpchx@KFBuZ zUhO-k67|E}_6%JTE+oD?ZS~N4MqUB&voe^m=Y8~HNqwG7@lmwaUaC7L%0qI({mb2u z25^^MN8fSDcARnDgkPn>EsM1eJd5!KLgl_0 z$I~xVy&=Bt@UFMd=jmk6E>CT$nD22OjkI3&zHl%QsdRH@YJKyYl-uT$S0vq21SBDsr>*5O_Dx~4@5AW0?{8I*bLDL! zEb{qofm{m78(a^+6-UcD^yl6CJ@ai+F~6Hh!nuGomOy#FMT#h&1)Vq{BM-+@>w&B* z`hnuOKl{%>5$jN9>cx@*8huWEWnzuq zg+D37ZU5DdGFe7g@hzm$Xi(Ncta|IML&Y*#%R9jb<%d;9^X9m+iEXeR^SNQy$8 zEfTW4w;flI^+{%+v*d@9^xyNFIp0odLhG$1+Xk&F@5}PgV%V|TJpv7TL_;G-|6b7U zzbnvoZIuC-l%O`0qra-bYo>+J_piG!!|LKTC~kfn7Oo)Y;XiFPAAkb-af0ZH&{)QN z_m%!Fu}N}_fvB;ziPl0oRxGkg%tbA>jk|?Ap|rf>B9)=vN7{hD;8DBve;jH({{J&;ZBLe>Q?khnW%N{cL)0nMB*+fZ^ZH zDt4G~FFc8R5I`UW(T}bZ?e(NQ*F;*ORZ(zO*!&_1aBt|zR-VF}b#{{TO^M{vr4S^=-M-9Zg!ewS`KX;hTo|9!<=7pR-AN|A`uZ zdfZZ@*x%nL`@;$?jCb5%g3g*crC;Cd{l2jP8`>$Wpnw>>xrUW}|D1?FE2=>a$928U z3B8FfiD=`?;wB_`My3fh)s`pI2O{>|I~DBE+`89ie$!61J{BCQ|BJtWEL9yQ={Eb0cB+Ph zZkKyYqJf3NMX9X3$c*x%0EEeG*45*p8bnXGh(p_tEq$I_Im}1P@do(S`86oeBbZxP zwF@g$Qi9Y9wDz02RUGs=4jA?Phz-W!3X{@`PrgS+H9ERg)}l4D$uh3B89P~+MZ3kk zmJ3x%gg9jdjm!*SmQjMl=)NoYOPK+QJ@9B_sxB(J@$MFq@4o>4ew&cL1ZZ2~=6pIq z-Jm6H6x1Iaqju)KJ-LJG&LMoux;m~N2MB;$o=V;DVevHJ)nV7!)LVS~kFW6>?cZXN zLjCiZFzANMTG-&#E`_IzPj%KEog3Cth!E$#s(-y2#Zg4LgwbUGL22sVH&jY4VIhQ+ zZo7AR%o`Z-JGS;es=!|t`1KQt?*gx5kz_n~(KSypezCSra5XvKHaJVrY||+?1O=gy zzD>b9s_Vcc#cUhgl98?U-r9Ids8xgbBN+3edaQTdOo4TU=4H2gU1whdrJuk%62U%c)7;)h`wgTnhP?6&vWI?dzg9eG{| zWJ)%h5k%f0uTT8@$GnN3D(%N|zCg(xf$^ml1BhVg=!wkkqR!<~za!ZY$4Z?P z(=|Gd44yIiX*_>oykc1r;eejRFy-7bPEnV9djHKW*Blkpt8~_9v~J0T+nmp&zXVn4 z>A4sX$0w3lQ!t;12*)iwNcpb~Z}UH{yR|)b<7=cu~DLHUj(+cVoD8 z`i{McBXsR6Tm#A@+S}M^*$Co=&HZpJEAOZ-2c;LEnfMy>Eeg3RG28gLN6Ayk?g7!j z`cjQYd}D@Y0Ckh~w;D$Vh7=x$D3XLmzA16jve)h_4V`1Tv25`7Khi={nKxGKuWk+a zPG&e#=5Q~$2Us5V){u;GoTrU_bmRHkLCBnV)#VDr++KB}Ufvn^4&eHC5F_KccRr3t z)nmS|ykL|KPYU>NDT!$fh&4-ttduG5a?^(Y-5C>bz7TOt+r6rd!ShCIfxoGVhx+Ep z*8-J8OpLCla*n3jy3a4_)Xg~BON8nad6^xtr$A+b?x)66uNvz$maa}BOU~rU*+rq5 zMy1N`stu0bPQ<2Zy<5-Zm#b6oE0kskIvGsY@R)&yd{@$?fb-(+7@;y;mY^O__QL`z zwh01r`J6cG4A_#>0DnBtA*?GsXpWCV{%^k(gs6>g`19ezkyyKof3?giLUpxZ5BOvz zwXSUYj~~sPHPjXqLi12bm@!-G_A{n3ezjDu`PDGiT1aNae2?J6VrL|`GeSc9jj@)4Py^>;Og$nLEXLz2hxu+!wXKgQU%s zp}5XFU?^)8Ggosb#%eGVKxhv}y-IY{xg7H3?5@g;9}y$+f|3Hz>KdJd4@6hjuB0BK zdd6QjUM5?rX5Kq zp5VDH8+9k|%~d04LQsgXl8?U;s=8SVv#esLl$K|JV7pswekU%0TZ;%kp(?KKKkC}& zaVm;2Kr|^qz4*rotGuLRQ*z!kyLx-*x>@j%ZJpM0+sF?LhNu%YYJ!3!l2pEo+(B5o z6ZeK?s3Liv&GqM%k0|LNV_T7ps-b8)mYz19eS)cT^0jdF77dbT$iW_FjapfY(n0r; z9bQ()EpvjH{-}z>^WCXCHJ_&Iwb7(zvz_0P0%jpcXUsBKt5-Gv%p|KwlCVAU7$|V# zsFOlLofuQXZ&02N~>`|;p%BZCM5z0^i5n#6V@n>4$kmD*p2bJ9i59=s8 zsPmb)(~pYKenHLej&4ab3T>G0=6Xc3jC$uJG;I;Hs-`ooFv-vVVJ*Gf1nug(iUT^M zt&xzXmzpX_jem1 z_C3oGj>P&L8B2x)5mIeu2^Ol zM5CNj#XR|=rS0Y;yvt!{w0@lI$i?OcW-@a08XlR)+Oo}*aX_Sc`m(%lZuy>c$?8WI zWX^1JpN!7dzbbEGl@scwuKZn2`u+Iu7MddVQPWa6-FDz=!h0ZevcVu$g*CWoX*$kX`rw{9l40UrXqFRc?`eQ zg7a*PnsGbXjZ`mljUAMddu5No<{ibmZpqd40ywu^CB|(?&?WCZg=+8qq@Mqo-@l|0&7LmX8h{CV zH7^N8F3fFKUAl(moNv(E+<&Q2>zLfQR8}S0Q_i@ftmi#b(qeq7EBLZ7dqiuYVeYE( zMRjO?;~HQ|Z$i$#7w0BYs^Kce@pa|ix?8(LigXKTwG7&tZpH7PR9$G^MYVl1aU}fc zbf}uP+(*5{q17GpyuZQ`Ef~tg0nG{9M8~NnX=aIrMw9n3%4&Pf2wK(EVk@P& znuHwLzZi6-9nxw)_n2ogaS;!FOIP9uPfE3Q(AcI_gngz!rh1O**zi+o8~G_VI)bZL zBWyvY_kx4h{*hWp-|D8R)Sy`C$x&L?xDAtK&9AInqC(foH%FezLoGSXp1La7?fERi+DA%zj(($g5R}ea?(J%S=%xiWqcV<`dnB4 zlAt@iTZ=COHbC)2G*Z1`pxruF>qgYwm8t-!V@h!vE}XHE!Y?BxJ1LnxB`}mC?||hV zu^?yca!4Ihb5yyXdU%JSZ?wWnR(`Pmi=);i?hJ1WT!9?`i@=2OwmNy{L>32h+t--4tkJb;4&Pu9JU)G+o;%`k z(6svuY)0Lk>Qsm5#M+Ie&H+dGK;O7t{(vG|MeSyLPH9-fq2c2BKXU$_uH7o3c8-BA zaf}%b^Mi7$TOuxHq7IBTRDOqAn_MT?F%lApB9GMVmn}cf9goBnUQpHy2xIJhr)qMw znBYGR^bAt5Vk_*t#V);0brU`PUp#bb>p!(t+kMbgk;OnV9!;P4O?2$5^(}sSSz0oH zVbEp#>WV4Q?QWHqjCAAVCjL_llmC(~C&2K&VgM^Indj;yH+pR)1PQ;XpfCU7;11wH z3YpV^x0rM%8UfijLp(qRRSX-t<|j3&VqNw9`9>$%w{{{`jQC?yY_%>JK21w~+kufl z!`G{maq){J38eDMB1dGqV%(g3hiQnSjktPF+yyWo!ThEi8N;b8C=CvvzRD%VhYGWT zQ`Vvjd|7C^3^Tl47wlfD-pkD!2<<~$%F*XI{j23rz;DqD4ZDxWV4wm zNxMH~UO67Qpq1~$M_F^NirmF+rqQ?Tce1{CYQ@Caxx?DS(4f-!>`$4y>IED62zNP@ zio*o?*u*)HtV(RLs{0g1{Jb0oh8pLW=HG%N$6(Bv9I2@hhCQT_BTg6Jp2As(Vk+ z1hqe#sl89bJt7;=n`<@rAjqLGNrkv0rOhX>O&yb7(qD0^8c>W*Rx}cAEs97PCq%p} zF2lO@awXlU{gxaf|9h)10^-&`1**$deocdtx$;3uR;%|tN}d_MU}hdrKDC*}2;wbD zCn@wPMPWV$zZR{RdPtP(En$JN-&A3Np=4qYbas?H?bnDZw8& z%rA#^`~96iFWkxP0b{L5N$l9yExkH=ku5sRh_|dm*c(p9_8dpZ256x<`F_XXaG#}z zg{Um1Q^ENaAGyU&(u1!LD3;w#*RMUT*l?b&C12);P8vT1xQx^&Y7Da*wR~|DzeYL| zeULTQ7!^k=y5aVH-8WBU#!eA&VEEzdpWsp|3qxj11hRHhXnsN2Vr~`A-YUk^Oe?EO z7`01X-J|nIJt+aQPcP!XEmWH@71qx-`bG5Ls@sfzskK)l>0Ft@mz^D)sI_3@ku*`xda%!+Vgsy^5AiA@7Dl{LDt1o3m$S&-Z(3P@&O1Yx7Z#vNYD+AM z(q!4NF^1WH*^K!J?|P)Cm$&H{GChXuE#Y>Il2u8R{#)+XgY|zDil+-k^6oPXDHHx_@6liwncBHE^(EC# zIY!#;ZW!pxLW=$30i1QM=6{|IdzL+{t?yGt*{91zW8mqTbEZ_OzgZ+txBYh|_!>GU z9E)^cILRF{jF-(|Yhy##Hwzp+`29+Q*Z)=_bI0FuJo655xM{T-d_A#f`nt`pm<6>t z&RmMYt16O$6fS%ek39}F1|R4an_Y1(>#!$dCebkG}siPKOrO&n;D>w$S?7l0yBo^(Z zh6oN+SN?!d0W?}qN_UDLnY$(mJ5`eEu{yGMO%T87Oi7QI$rmeFQ&Mh|qYE&q)c9k7 z(CXurY_kKmkQym_lGRLFZZngzYoQFy5|;{3!M1zvle*#9?dK}1D7AW?+xe`*WCXmT zLbaJx4Ttk39(F@a3$TdBjc?)E!16AwcVM%7=Le1TjGw6WZAXM_(A-}ypsYQOx4W%S zNSZt7^Xnq%BL^kt%^9%=&mIY3m7W%y=?*@o8yEgQ!5LaxDmwj^)-?s{7c%2peM;`| z5|TI~VxO_7<*@9EAhCWP#~a)~@;*dpGIp zw_qw{sbV;?sz@qFIlkB(sZey3Sd~ z=z6SKCVHgq%<8*Dk$bohRG+E)_a6VC-BN?8Ku-trh7pqY-`W%%uxcBz56^T&+-)UF zV7?T5m0j{{BlFAosN5};@p4g5!#fJj)^i$MS~(tn`+ks-!?KYQ5m#iK?@P!(EMto66= z{drg!amBS?lA$x9FB|CvFGKV;Ek$@94v>j zH6L8$ZogNxJ`Sp_0sLNe_j)GjK9k;Lwc46VjXTHQL)Jg%g8VUM(sK11%I znpLB<_2N1)t}D_T&r4*gN$7_1aitrOw0o%ijr@swGheRM%1o$5yV#`kH{9i%b6rT) zzP!zjP4W(m3X+{+NdRgEkfB}>(L0WGt^n+QXdW}0g}!y1S!Xe4>> zL#MB^$79AMA(%~PlJYGfgL{+4y?OPMGp80Ml@%^|5y7eFT1UjxPn>@%axdK&qb1Td zct6LiH?KWrah=kJj&Cy<6@7!LTkB(h{OGhSM5q>FsbbDQMK&|fZ zdpgO-(#-r9_P#k+^QSMBLhw9$$MMQ_;{(^ASW?|~krv8ETcLdfkE0B%)$x?>($NA+t|&QT zTvSD?VOo>-NG(5?dJ}-THpZx8y6RGmUzz*l62I+aW?sr7e&%+nB1H6;beXfR6ooR@ zXc%XZ+gNM;(B4rVa@AY=7;R65$UwxgF$ek%mbceQM@W#@h5kNLtJ4Z=nQDPoCX*

HKxOY+v#2HrVT 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

C;_rEpKzh7aLCKWR;4qWf3+msYI}vg{qXK zsvjvW09zqsL8WJ*v1FQh625Ar$NE|$>OzxExRTqFSnkDr-SeuO8ZDuz{gdi`bmPVi zs{-x z)qM&mb;dpmqh z#s{YaFq`9=e`zhgwbR0crnFeg!c{yl9hjVNlmU?XT*(Ph3#6#m6ah~DjS;mdZiig1 z761L&ir4v8`~+Zr*zjxBVk#`L>S9l0eN*s-N=j9`ep)ZGoZZ`r|`u zdC^*Y8KxI7?JahEU=_exUAgp zhch@_1{0J81giU?psT;5*=!bV4=OfLoj;|B)zIfmhfkbcrjg;XnnR6StL5Knyme5w zGw7aS%H!KEq=-xFVEZk~7OK*DT|*pd$FwEEe`)r9b`4tOY z8y%b0%U=hzPq6iewtf>p`U<4W1YCEm$IS1UlrN$j20;0aAvLAzKd-_vDik4;+ip9q ze|C)W{@3u1)ewgkP|H;OHkEaXJ~j5D9G89Hh&pJpU@H}`7~~kUwn%SzQhGdHiXo<1 zMee6`yE|NM0Cr1Uj=WZ_gynm^wauxpmA6T_l>0!6UtOF5HZ(AU0@G@sO(D%4$JXhk z)9xi5%rac2;kZNu>gsa|YKTM6xavTufA^5fy${q?Y}0+$gp2!wKIrwm_8o_o%nwX_ zbL_ksDwMKMJy_-yCO5wDhTSp&(qtgKScf7fi| zMAy5EeYb~FM{K&2Z0%*s57SW*g0Xs2_DmH`be;{RFlvMIG{uOl{|T znS7~G(ojQsDHdw3vo&mkOWj!=uDH}Xe!vV=Q(FE}tqMZKI?Q<)>TlgxaHvqqIn=tv zwhh;I9kY$7c3O{r42FCR(+8@`(=5Qed8bqPo$bE|x{653b1{ zbwxc@+vSRbPq?mUFyj4Ow_LEj*aQf9R#W1um;_`M03f zJcto5mmjUZBPqacjnr9*iQj|&3S_M>69!Y`VH=c%3Ov+_MoTZOE?q5j%(cglX#=cf zPK-8_vh|V42c~>u)&W(>F$o8@ZFr?cFkQStpu7jv_a zz0|ZcSQlWn4(NoIoN0_LTmgi|Kee?L)fyJF65jLpr8T%Lf6}0v!eHS%&|=y|YQS4iG#YZMO8;dlfdh& ARd9# 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 WuI4gP-t!vMcRZhP z_!E)iVSAbb>QTkZwkj`TJzWmH-QTh+4N{qExXJJ{S|4;`w%#MITp<6}J` zhaO#J!FS)oSfA^$#=?S}dwUia3v!M7vJ59S1CQJfa$f8W?5Zittu!2CmmPMREJKtY zGY&gq*A={+RxyQ2to5s1DO@814<^EDYc;5pJcgiD`sVhov!c03S=JBcy$|&bL|%j} z`VE%G9@mbutw(#4vT#KArXP-8YZ+Ba3Xu!IP9CPtUvUhzgk|hLUAtpXolH}*t2gt~ zEj~BzH|@`$d`dZ3vnhIc-@~UJjV{;UEoB{3N9H2k5Hjy6Sq=H{N}vZIq_`CBk-u^# z*+nvDWTl*MX(HqlH%rAk-uZl92t*8`d-Sfj$Y9S9 zkwy0)rFlBV|BOTPK4D;IDdopnmuS;;;F#c{l@`%m)xNlrd5fQ>7L12#Fb{*R{}Dl(IW#OG{^zm7|3ws@!rp%xgm&wA3Raw4snI^D$SoLRMBu zM5MeYe{1l>Fa?mkT^^|^)AKSltDTG=xiyp{fJ9ALRSL?{F}Sq|rD~`YeDknc5qWQ_ z1^Uv!SBqAA78IVKl-0kkzkn63#BpLqNHL=0=UZ5Y7jFuZf9|S&FsCQ1;>E`BC#itS z3h#GZ+lh19-%3Z_o`3r$hd)G0DxQ{zp6nB<-3t)}goVGj+Ys!9)r$CZGIz;Qx~6Mt zH{L875$U4oEV)5ccoz0o!ibpOKUYnHdyN0v?tl}|o^$>xPM&_g0!uv%iF zqiSL`Bk7GDw`xs%&c4cp2a$Z`EEW;F_j%~SAUCNdjNT2)?;2=(?)@`aWb`;Phh8y) zT9^Z}26)DoIQ(e~!nV=&@=Ft&r@t;C4?R;T(dqB4(|dQ_IPp=MeuJJxt0b?^?Sn3m zTW2{t+U+|tU`=G-)%Kx6guva?0e?s~YsZ%u9ZM8>oF<~Bs2X>&+0J2KGBs77@pQe3b$E)9aIg0JYo~fdK$F_{GZ-mWY zccu)^xx7ZqTT$tR)w*jo8@&6txu@H(!R+b6%1Ny!afPWsq2H}t<*#cvk`tN(`kTiA z0qlXo@io(@D3pVT$NmZHirtpPl`s2*ewNSXc2T6^(RBRK$@HKlQ$g^gUOJ^m;UBnv zdAg#SCD5Xrpw4GF*fzGPg#u z?m(06aHmz+WfmQC%?7=r_cKEs_eKG2Y{_?^I_BBBneqDljUP{n-_#tjkS(IC4`kp! z@ay!7$Lm<=NbptA5-kQ_Jbss?*^sOC@%_P)oFH*$XIqI+I$|-U=ge$rl@B`FQX&S9 zJ|X4tM(oJ~I`^!}&H+u){C;L;XxeO|QAS=~$7v$sIWe?=<&gHPgMPGGj|pzzYkJ?~ zxy`Ee8MBl13CFb|5MaH}-L9nr9?9kfzZ*1+_^zh%Xao<>F*KS<0f+-B6Q%9+x6Ks> z>Ued*kD*@<;ikR~*l>Ucw8=x~T9h(`m0crkPEW*)VNNezWYIKeXy_~(dtx@8YB{&w znsB_Fkuh|y?7@0gjMpoH4;8>vBC7iji?A;}3TwiX8qY&Ol5{fIHP7Io~d)`N`v z!ZGp=p>U6XTZdYB0ZZm=ybaQXHcA}LM%pmC3EmW?v2>x89qHe}AxHOpe37%A!~>@F zEvxSptgGzt8dTmO`NwRb=v zL$dEtrHT481z(-MKCv5?k&fUOoW5$d=V~9bKz}mYS=u*~h3ngx>nIK;ZN%$EOACg3>nLDs$pKL=tl_|w?yL?oC_-=sC2M7;7cJ+!dQr=m^Xk>egm#vP5BlGfmL8m7 z(6`S39q#fT)3yQifs-FhxK2B-LLrXMOY-Yca#I9%Bqzj{L8k>wK0EExg}+#N=LqN6}1eQz0h$@HNX%uCF1dTI1Q+o!1XdKV#mq5I_vZ^UIU=s|0B~_R}@4?!K zA6VGGIB;W>#cHV8&D9p(Dx@K6ZMW-z#lqVpW@9qEbjbF z=iN;m7M+Gmyo%4F#Cdbrc-sz}=NukvV~f|Dt7Lt5v&h-muCJFxL0T-SUF7ZQ$Cq7! zy|-l8WnZ%KY932~I4A1#&Ii5ZPdo8pA5t;{OWo+m?~uc)^&WLfrRRn0cC7f4w23ew zj%tZXx5&Hhp3fMH@!Sb{u-=2AAAqb00P6zExLQX23cnl&T z&O_8vQ{qd$8NjE$Aw35_f?BycBRdW}F{@cL6%-O`{OTUU1zC%%Z5NqY5qeRX=7@j976ypFh? z#Iqt^g~UC%;s(6Ps?A8)lMNgTA-mqBybeS=#UI!6jIb?QNwG!DqQ06dP zO0L|sTr;JxgX#)C0QuhA`)B|NS>zm~ck>Jz&C(>tIB zlV7@Fh-DWcX@!6)WKw8iXV)ukJm;B=?ynz1V}=p&n!KzronKa#VBrHbjEC9z`Auz! zQl4Ecuuz())x*-j7^9w1zi))v2v~$J?K-TMknawK+^W5E3St`^e86XMRp8`ueM3E; zT!;%^hQd55^!Rn?(L=_R+j}@Qd5c`lU$A%RiM`C#QalG0V?}&K3*LZA06{-uJSOX) zYM|%cd+2QZupbJDFY#| z?#4}_xGCH2jp6LqJeqkJeEzX>1&2-n>sQqnpWN*h!j12!dEXM~Jai#in}Sm3w1uMi zZbFX%`cEv3OGA@{j=a>F3-TM%Jev}hmKK_p{SAMC)TJjLrtfz)Yd-&+-k^6N>2VKM zw-~KwrGnMI|0|E?_TuEJk#{V)zN-1Lox^VJ37%Oonz~aKB4BN8UA{9N6BZ-4D?UXw zZ`B{$SpSeCVX%T75-)Oi7t+V*$BZkiQV6hqS#hs+JMR7nL;m?SvGjEk#iO2Gz;>$P zv7o4E3qTtHrd~ZLcsaZ}j#zE_VPviJjYvMF1%Zr|+KnjE=iqd90~#fv?JgM4&!*vQ ze`H)S4;~LRFR~4?xd+Cl9TLLk;W=)ejC|y+AJ=fiw^g3avbQLQ>B=*#@P^?M;DMdR zcuK@uY+<3h3>{!>11+6$Asr47l#7Pa#-PDE#%&=b7J zqJKlbxwE13?t6{KQaig1QhVn-T?O-rPqV+dw+9{4zN^(&@RJLtj(B_tUs1j;La69t zXj(r{j(pJJ;yKKhB zYaNF@pIt-SWiJ`Yv%PkECwk7`C5^aUU%w!dKi`=aQ(u4ayn=!OEj=5`4WQ6*3wTU5 z|IExx!Jh0$QKX=DErV;B($+kBd56H|k<#z7zfR?8qv+-#b05iwZf^+W8|S=3@Bn9a zj*7wo-(yfKYI+K`A=3zqIyVk@|6s-)eLs5^O}BEryY^~I&wq4Y3!Ni|Z|0@7)m=S! zkhg-PP5+>u-$$64B&RBncX&z+4Rxb`B|??a4St)Njb2^&^MRe`)NDBx~vZ0sSvRCsW(xw-keWs2o)`~K7lK?9b? zL;kUd0jn_2k@VZK_vo|OlV<~b;Bt40ybSA)HDk}dQe!S`21)*Bz|WHur8lp z?8_Rm^7(N^*{chfd5ooUx~K>3#^qP(M#6sSqX7hCIVW~GI5o$o2|kYX)E{(6ZiU=x z*!5BK?y-Tl9i=Vu8j2Cci4KCI7){A@5$jQ-kG5Yf3!Z(M*sA~39t{06iMnTH6CWp) z*xhlhD?Ou;(6sY~?L*YQWqsfnTBwJLeim84BJITA`tqF9Fp1Hie0T8asoTVFoD7FV z!q=a5VIUas9V?vsnmI9s1%&(x0|I}{q8mv#4C+N@$9p7p`D4f0Ck)MHaoenVntx|} zyH*LmP39S0u-yLfR<$?~E+=W2QKC9MYnJ>q2U>9Q8PzLU9ido?1*R_Oi-$&_t#TSg z`I(8^ZtC+9+m08f@_wR+oYDiYQY{zcb9_kNd}RT$`B{a9s6Jp~!M_VXnKSAzyc@Mm+H)SrKQ)eFv-sNz+^fTJni<*vb!B2?6>c z?!Lar3slbzK~)=# zA`i8m-r^#s;R#nt@Aul9j#5&7{^eWU*VZ>N3}HEd)B%N6@6D?rU=Fkm`-3 z!Y?%(40dhonvw)+4CZsdGETJNiYPWDHe`OoeOFY%r8D;*&m~aC#>UfC%7RIEfKLHG zM%?$g?l?G6)Fu>hr{M=%3l1mz&%!5%Xbfs8{RF6`66y@EQW^JYhR_Q2Y(H3<&-)cX znm@H3W0hqUI}`RuVd#cz;?fuP+4;>2pO?;z`n9ALot!LHT}jmom-uj4oL8YU&ba2} zNgMzZ3Uz(!jw>vl>XbX4^25zG`dF+(OPobZoXE_JKc4Wz8G)PqT_3QNVkb=SQg_9e z@ko!;X_DK7w-MYG9(YHW(mT%qO?|Z+*_o=M?DO;c=PyQ6tFfQvr|+d3Xn-aBDMXol zcEL(rbd}PnY#;xh`iCOtcyE)4QH<^5gG4|;Zv_il{z>vD*-IjHL3AWEM@J6Eq|V$- zV1>W}xq_DB*2U#dJ%CuUoFE@u+W)z$ex*YcH$rUqP>(Iho zz1F~KTvMAKv?win!ROwhKV*j7Z= z;Q3xO`VB^bkwL!mp44tjAX;{nqA>r>n{kPp)+cw!%5y2?8}!}5IWr!0-W`hZ_Ond$ z?-~O?DX6WDw~MP|L@V0~yTNO6upWYU8O#l&9V)uuZioe(s6WXfMbUL{aHzaF7FqKE zI*wctE`vcKZUGZh&j2|m_bd%wix~^>Gkg;kz4NyB5dY2TEZ{Rti6*4zQq&MP@oMMG zeM(@7+#Gh6ThBH(hemM)ZhU4uh?w=xeOd>fL;;g>~;zm=w}58;@x>P@1sE z4KOqrVk^~vH!HB=7N&%THgYd5UC_X8}5n>noUSq;r)&fO<64tHN z+&%;>8%q`2J@k)7R?zxY(rM^ufcW9N&5K(Hbb)n_`+yrcO*j7S6Br}F24Ayd){u33 z7&}1}xI@`y9r%0WJh&;P-K4g}*F=+7JqC9ad`>QF0*nP;lQxH|kGFOj-2hTsRT%xE z*$9z^qjKj(e;y6*#fT290r;(s>7^NFUS3&c{z&A;2+c55rVRO5M% zVWO{tRGF2kf4*2pDOrqP(x^wZp%&IDO}c(H)No12+h$2@XtG3IF0DgpyHQlh6NRaw zd5*~b$iQPO6XDKst7Ky?^`rU#>uD9F9_3n=<$H;&jYR9`;>ng9c@B0h=W8C*B|iFh z*#y(Qt2YG!(^tRt{z~D&kibMV>$eV73tE*C@1#iE09HO;7)ZvuPv%&^5y?C7#+e(h zQ~$((<-;&G*c(Rmlo-TDj4INN;#@-yc)3)@FB|ZBV*&lgASAe)_aCZZ?FuuA&q_FSSSx`8?YYv zgPuC0?2TkM2v53(oHM#Dnnf%;aq-6zF!%eIHpz?^lu-9->B@9l!;Ox00W>JCI`o!X zNv^XIGAV`;u`LqU0(%gpqBySV&AVgQ zcu$HJg60VGyw8Zfbg__;q;l6p2L)SR0tR)9sCKA6Kbn(K=ui%-Jno9z_B?j9@tVa&f$rPj44tCl@;^s%^p20iM2*W&`|4oMICBR%)UW#OzKL8Nf zlB2$a4BqWc-p?QtmaI1shFw=w34e6_isSqm)m7@jGJBJ`K{|a6u`jdeDEts}1ElaX~1A#PM zBEb1<`I{fj8cFL%GrmOie41uZA1ey0T#$DiyiOOs@Ob^2;H7u1lDR}&2@Pl5HjCCu zo#x>KeL)KWF_{NFK%IVK7+#TX`xI43CTfM!WDinRhLsa|GBu-mm#M zv>5}r<(;voXs`XvjV!^#*r9dV^@!u7cXU|}f2ya%Pa%D&1kGX|Ryp@Pk^Ih-(b}1Z z#*_mi^Mqv2IwNY+WE?D)XqGEwex{v3-B_B4L0*|^e!c|TKJ)fc5cLL}L6fW>4MGAW z!s->6(kn>b{`aupd(^uvgE|Dw-KuJ^6vgu*P>^oVC_Fr-7Z-^;3KZQ88Mc| zVZWOd)Ap8;)Fq{mB?qthc{Yn)rHoWL6)p+w(CK{2jOrus+atGA*1q&uLR0DU6Ly|B zs`+Q&${X8Z0%qx#8uY9ga-`|~HfkOfkq&aJUnt1#s2apqw3s9GG%L>*4t>KBdX{a; zpB##gbcEU-ik?ia)>V&kghIb={TL2$eS9AMzrhGn~|IlS$x+jKVLsK=e z+=!{7)?}zd?&$!m!dGaj?)1$>_*{gGGJr{ElO5+1GsGJO(PZzw9RLn@cQLXH88(S< z?w&;3AR5n7vgc(0G{c6^v)aW`i80>-8~?8*X#2OgoXv^d>l>wt+$}!GzmolzNJ$u~ z*Db_X#@NfvcLBUEK}MnFC9nlTVREbuyF+i$3U)*!Bj3@=>K;3-ns{UHs zQp~j#A8=1-Dxv~VYH=fy;I(-#m8D=O2w1zuU3r7f4xrP&P*{)3!AWC@kIVCK&G)5O z(V8mgZ;vgLdCbzL_cxJRLgGN3ljqGj$lV zwcGik?O$DCvf0FpL}4jE9m~VLgDr7Gq3Fv|*&aTOpCBpXFT%3=H70?^4<0 zAt7ys?Cm?2!xIMG01vSjeQ()i44ScaPe6>9V6dDy36jEhn6d$OvkIMVOZt*Y(=7y=T($tRkrtUG z+C;#-qI#WJ-t)r93Y3|QdpEmZ$GMAtWe-sCrdc$yub~_-%}h)yI~8ZtkqaIeU=cH+ zvAC1Qk0!^V(_gEJIz4F|SNEYfYi(_9ss4u4)H{O8W@(zKJPULMbESI38}da>{= za#sh4N$@?qwteZrlM$4uJmFrltdf&q>XBOICjf$`9lNmJBC>!3dg(b}c5*?K>9*C} zJmr2&`uD=d&*0oP&urbmJynLz!0X_a%mbfoW6|A_y%1?fuLJzY-chME1NPKD1O z&TeAL=(L{kbI}|@SG6`o4JnCM466?opZbxL8(KYxP*cQ4n9xdOq1U4uj7(tuY1Bxg zS!UFqa-=ycGv00)T>&HOpz59ov014T;lpOEHsk#VI}!Z-XL2r^GA@DwWj?cgyr)$8 zGt8N$+IV3TSDa%)Gke99=-Yzi%^FiaLlqEL+g=NoKA)j%mPep+goaoy{Q#xHF#Prd zeTlEg)-tylbim^oTyuPXtFw`YM`lzWAoRq#S^n<%hNMjh^%L8*@7;G;C-saj-n z4fUaBn$8QvN}T)&r9JLbkE)uUi98;m9!ca>;<9-LCnX9Bs76@wevJWOZ1;^Bsdu!YuyjjA;i>V+ocB>>Eq--an6M#S3?~ERfj0yzQL6RQxg9(WuDkSUAdA zkmV34bj~KGie91c=m%YV0FbcwbT^;YflYxuS?+^ z+OX`k%GjeYy4ADBL%Zhng)sp3o9u!QXEsm!D4~n1g!cFbgVZ=FW6elnwN zf7_PBrV^;Ym=PdTNvEYUCd#w@hfD3X7(~~6%&Xb4jx#wpm=g^P!g{cnYeJ})?saB{ zv?Tj)uS$rES`?!ZH+4EOB8SDrW<2Uzt@6zhC3Y!R<+a|N(*TNDB(|F;OZH@>SQmo1iqIl*OospDFpF7jrq|fyGoOI^d`UFnpL@)aM z*Hn&yJMex97l+aN9@*k^;Rq)npgX|yc4m9tM1R}paR$up_C`m&Zn(7G(NA}~q)A3m zqH~M-OW#D=+>4+jFv5a`8pkew(#sXh-ZEs*2nJ+!X0pUeaFGw03jNn^vdMgsV2aa^ zQ{Q(QJDuc5$ClYp3@Ob#!L7)plGUxxv=Xx#;OGlkO%Zjk@>#5N_)VbG9_snpD$Ufg z=CST~r9sb&|2b9km;BMak#LTMU()1aM$)4fz?0hoIfIN75#F{F={bF@XAJaecesH4N z#Vp`;FQ(tlSB%7^C;w>@S7NW#Y_C=A6KxDkR|n*e=`q z-Bj$(n>@{KbiF%N#HrykD7DtVq)rkeGyDAPKb^xjz`uNWoW@o9>p5LxtPiWG%rmyc zF5tVsNtgA=u!+c)a;}(X1sJe+$N^^ta*|gtde>>-)YfwrABBs7KV{KL10gl2+$oE~?Q>&Y&d8<);r*f}&>}&TTM47tTjWjp( z^#rIOV7!~WHrPM>2!z!9*UbP6B53J^cmZ-2Ruo~p=qHzhinM&TX;nd$ivH;~x6b7|wt`d-*D@@pe$W5u6kTntXm`(t5F8;pWov5PnYxB!~l2fABvcB&X8 z#$r@)W>;;${*y@`1ueW;-_Fave_5rrRQ9gceb{hB?!(u4*QHh7p^G0u`7U?q#z(eL zCk(WMNH+-HBi?Vxfi&->0XD&NZnBG{F}JgZ$Fj`5T1a2j;ie|nhf$?(rVl)TJsz39 z9B-N(8u0ZZFURjEo#-+EL#6W9DL(LxzvskYSxlcct^Y9O-A*??AgA*{8?ELGJuIz~ zFzhXH`k%zN8`GI`!{2IiqiIK{Hw2E9hnb04XyTGN$fxh?z$`74{Wc`6F30Ivc)tcVPKBZlGpL@;0KH7hbXffCSXD~|! z1^N3=DhNU_wvT~VQvtVOrtxAfjzarcLXUX_0m7A=-NORegcf|#8G9Q zhjT~v&TM=?qV(_9JHuzoAlHlZAmOoKXY&R=20q~f+<3!pKUPT~ zhL_%&@S{-TBD;~{V>|~ z%Fljv#kw31o0Ac|LM!9>$xAEaNKxsC`vDEcc zp&**8izAAzP>55N*39s#n@TVxN$I3ZnjX>sztsG(4Kq>e*;kQL#Gy z6u7l7&XDb6Or!YIf2GO4ap_F|L~%CX@y5nl{N3~C^+UMrSH)`@*1B}PE5V+_GQoAA zxajyn960#;Cw3Fvm3nx3Ka8Cj2r!Gd5-BOB{MFQzzVvADzy3jfnd#*E4-dxI{YM~A zS#?-|*6AG4uaN7AZ>sbaF|S5nJ_tAXPA^l!pJ@Y6SG?K^gGZk^d%n)mP$0<9%z2N- z{~O-;1tUev=!dwtjN4AgVP@`jUAZt8-juefzKRVQ2;1Gaqy2Zb=3zDD@_d3}DMKzW z^*a=K7T_@dJ{x&1BGK9C3Zdl~-2vhZISVoZ%iMP;KK#xJO3M2Ecn*tR1$=>~uJJQU+OgDjH)K#EY@uV+(-ZCe_sG2nlFE4-N z?WJSS7droADhE3di`v&W@b%s@>-W17&)Nc=($3{&C+bQjT1i9r0G_rdVie@@YmQs2+&8#HCxp(3Tz1@=`kP@WR^Mq z+qOROxN;X=Iv?m5fy|}N;~TSeSqQNPe911Tw~Y@SAiECV#+`>`9}+pD56ODw0Etj? z7ab=It-1}L_1W$-;~ER`^#`3~e086@&xs(UI-ZH-e3u7;E{1m++6>5Fu z%9-yb7#YgiP31=thC1j31Q@azPa`5ewqF-j1bYo+`&Wh5G z$?u}EO`rbn;7G_)OdvTKf$fv}RxS*=)QTE)9{|guy`FNN1r3+r97lxKRm!jtj3X zgt7mi%Yh)gL|nZLeMGY#^chSB-+Qgl+G?+NLE|F)?ZUJK{=gPwwW#Lk|l74o`*QM{JRa zqK|>BVdERL<#i<%L4&?t1%rIH`_PJTw52pBjqion1u@NOGa z3+Ftm_pQ*>W7ZG&`&!ty|9{$$;Q7C`!L$-VaU-21&%ncDZ?e;S`cpF%ggZLEIy7s(qS}i}VFjV#6^JKX+g|u=3RyB(Lq4rurX^)ZrzY6)k z0%SBD>>cL;A?6;=Pqe59e)}1wD?JrrIocN%##a%(l}Nqkc7IQk4PkSU=QzEu%yl?C z3n^b!`{w@I6b4C2jgf=X_J!Vnd~$l{^d8cSQ6cXf<1DRtOAnvm;^9h79WePMDu}so z6}hoAqEv99?0O@ZQk&jqnQ3ql2!g^QsYF{~dd^!bB;*d;i~mJ1jFLq*_^#P#w0ujC z5qrx54hba6?SFf7PUP=OOk{_aVPk8#xO7n%jA^JCf~V_KB4q0?2vL5W~|4j~pi&Tkxp z$b+$M4B}A^yz>rl39b)}asGbY@)NL0oU&$GPwJLu&WwAvnVh854_vcKROauXVhk2J zzc`{lJ^0+=!J@rvi$7}H5V@Q_^5~jBjo52BQhA`VaHpZCrh*o?#ZvCm<+&Uby!}Tt z8MUO!plrXbg6K<@HA|tCMpOI)q^9~T*AipF9@F7L#ivBA-=Xy%H^aab0pI(Sp#&LsNW9xuOgoxU}rNzK2q5Aa`9KOW48g~I)!5c*B*T6 zMW&SDYS~0rL>FAzBr0x0#dpOCf7xmK%fwRqY~;Yk6S?YK>9zZ z;A0JZ%{^#+d7WIcdtNYZsbimxYRLBdv+(RD@Ox9x1u(3cDe_qx-g|UeWoiW~CW5}` z3s%z7?;vzLcavXLe%2Za2s}ckW7AI)vu0=ITW4pn4W2wz(Szsvl+JTKRVur?3q|~v zY)*gmHeh-DCB#|iHqMbFPFVkZSGrQ^5=o>*NevY{b#)s54Urn@;rZXEhefBGWk!g3 zjd=gD#Z~%D3;18gbm09w2y>p#{sDSC$VDFk-B2hoaY$94NY*o?zhaY5g$WEYi=#u8 zl*N@6e^JjDMTgTz3*9Dv)?YTDJsoa->Do30M=Ds1eD@Kqm`X?%X0h)-VOhbTM3 zbuR8b*<>gZ)o}DgJHPaQA1LMrIxGUJeEPP_F{*A5)aRJefY~|7`L0(=8a~vu%dT1u z__g)Mw&95P`XP;<#o>%j5lhr#G%fo0h=hW&nnmI9W>>FtiIa#_}K>A!&J zX6T$$1G8+MHt8yU|Km-)Nr(d<9 zy*vSt>Fm?@2cL5D#Km&)-0Ak7w>bW=C2cBBG1SMv+Il16Y>&%dUFq4uduX92Q1zR7 zr*{mHk7!roemm5~z@Y6N`W>(ck*rzVGz(6(;`(?bF{(IN5yaso0sMx&O6U9HxOwh^ z&h%+$y|_4`o=+j?)oqB**L%(e$IDn|Z=iFZK=lEzus<-OcIt$18MML3X*o9!K$7Z-hhY(abs^BQ(5Tpchw$O%_4s)6C!NFm*h#i49>@4)7 z^1oOmt!#Zcm>Uy3z`AK5+W`XTMG!zAf&BVZUF;v9g2w@jq+gP`xAFGZl-;rf=WFt+ z>bT=)aJK72tC7!KNIEe;#EYO4sRC(+_Vy{9?=Sgk4N28QLN)Pgb;b0E`Ii>6^Uw$T zEWPRbpWno6ifWK4w6v|hr&}AGzp+n<)peR0eWn}vj*PZJ=DT`B^+m(Y7e85UM2(~; z0?Z=Fhc3tQ2$nOz0wRQ#6uzdBngIB|mP+ zpYC~F~lHdIr1iP-#ItLzD zxxL5Q&!1BdZ*oKy*82AJa2e5FAFQy8hg=tk4uJd(hNgaDA#>i#|HE;$koIjIxJ%{u zirw9^wJKxhNi1h%OugdKq5fcmOF9sm<9M~=-Boj4p0b%;zw^~z9u3cT+hDTwhwXex zuz`%>PUTt@gK%hDRqMF_IC3ttF6YgEO)ss$h`G_rsyXbYu@`q z8^eR=BzS0cjslPmYED;i7T$;bT*r@$uW94NZ-xI&-2s1IZN#)!F3kDmC>ke;OD`cRBYhZ9|$C(rFWHs zh;P!u2JZ&%m!058&rB>KW#ufQ?2*~bo*L{P#k*%!so*tpirC+3g=kzr&8qsah%@Ma>m)WLQ1_0kh6rI*2wh9-X;{Qq*Eb_!aDel> z-{kuVcdLuro6hi+@==cgB|z}{F!s{%r$i9vs`{^-Bz;Q8mVd_FtgQZ$xyDPRN##;R z_kSa$$W)lI|5VjbCfpfa#VL!S|A+;9QiTxr+ne(_T^z(KpU!$o&~}=(c9Pon50FuL zr|(>FBfKMIomiKO-bB}M2*x91MP|K)n?wKX9{zXd_vXUl;@&ys$L?Y^M+R1r7ipJc zbJnX!C>c69X3QAXGLKVE7kWysx2)2#y0?LL zQpY&!NkAt89T^K1k@|7u`umnblZf(uz{*#;C+Y!@d<%BOD6(8KcGM>@_S%hVa1f~@ z9i5MYiU9ojDG2*H3E3vfdd$MQY|_yJf~c8wyU*xi)F*oNSEqr#K2sm8@|KuS&z!>P zE9-g(aB>KieXTW3E2=B*{IWQ2;eYX7|8Xj4J@dr%SL3Yhy*vIZqZU3Nt;_IstGK?} zUQdb1FBawu&mRC>A3YFcnvrEfkuDkQ@XWbxRzDL_xfjC=P{)CcO2*?c){_VGG%skK z4G)fE{TEgFpB=sO2;WBwWjFJBbZ@g8MPpv$UyqKeUBnUhj2KnSc+E)Bsbo|l-M-R? z`(3-HD{PdImG@dE^$`%lh+3p`>{zmQFL@3jLUlzOj{eEFT>J;!@~cm8Cq}dT-h1Ra zH*;DPri3VL$y|}5QP*=}1>PJL3(suiZoV!Rl_ofm3Gk?h>=l^Z1cOS1YOw~?m&Gs? zX0OCL@ZX0d8uBN$h|Fqg#{g&WU|fw*c$m7Ac^y5#aT!ZtC%iooeJrUQ&d8{x%kG^V z?>vEHN3eW7^lWO|n=TLpHAEYtpof*gj`jNH49B93^JpGqQ6|3n`V21OHe)Z>is^E; z2b_`ZQJ9hQeNqD`H}kxM0k0NuUBM17AK907ssV+40vqMAatwOSt9^lG&o#+ZULAOoOf+MOJ)e0JcbgJ*Dupgj9CtX$|$``#5cw8n0!)cNpVKK$G?yTP12hEF%|XA^&?seB3jfZ;nh12Rm2?NeUq zNwQ%-E5n#Q8sAs6PgUwyV@=F#=S&E&IvhXBdg30f#h3pCmfWc6MKkuaO#Akr z<`uUu|8<$$fZpg(#sA~$Ex?+5-@oBef=LL1C?QCS0v4e#R6<%h1O_T1AYB5o8&ISK zlvEK=x`#n`Nhv5br3EH2VDwnO*Zh8e|9Ic$eRgo@j$_-EXM8^Ab)MJlBhjyjeLhqU zc>y)|4Xl-jc%KzSnX!v_ISvmzLbn?)24cwneLnhMCv`=hr<)Zinql)wE#ad#Y%Iby zbzZF+dQ&1H2E6ox#OQYEN7m2*UgV$9UXKE=*H8NOE%N?+&#{BoSUAk@g2Khu^z+;s zq5m6OkK6t3nio`yp*twE6Gj6Je7jyeod@lbu6bnygC=YeeUAiXX2pXVe+Ce22xfZ$ zmhdqB@J0(u`WCvba#mX!Xa?L&&-?W;?Zsd%RsB4QrZoy z;qUO^BUh!l{tgPb6tF4C_>vN}^Z#$$`WNLz2n_|pUdJ!dec;HmU2p^+my%Z6aqx;= z%W-m>FGKs8@ z5}>}ncp)O4RyfP0L%Xrx7~ zPOsu1hv|aZAR0b+;+A+TVnPYN?xcbI@2rXcI!rd5-E=gT9yWVdW6_%ZPpYE{MLh!K z=88D-e6DG;r2+YoFd+GmmN?M6i}`)7Hb#Vip`*i7I7%9cio?`^c;it+kHhqM^xTa9?xmsBoSVnXvNQSsP=htI3dtRWjz!*V!E!;H09=8~{95dVf9B9ONiFis zf~V9##L5Nw;*|SQ5Y0p9E}csMR2(+$!fIC?tWxewou<9NErZUGZmILby2Wd!uo78+ zOhb$(6sGiJX!+?L(1)!^rX2yHjwzMkmj>0zZ)L_daDL745dxBbB8%yXQBMFypdjZC z)MZ(ayt^>&a7=IW*f<#qc0x4 z)rF-)QH1G&$4@+BjnsURHnBhhw?M7|(L9Rg2 zbinGBC{l9(ye>^fqp0R2%?@9`ypx7|#c-J!5RIZVsn-m~EaSMn-r=;+*9;O6WH&Ip z0IDZu|Ib)fYXG64lyPE;gf__nO-oKCAoLOtMTd-rn+upbCVl1uEMG?OG(Z zA?~M_c(s3@=q@Zw7HS5SYR1QBt!Z8(d3s%CnTptfzQ_LVC4OJtv;G5?V=QJLQKfZm z1y!p=f-I$;E~%B*Ts$e8bG$=y7ScDkcW_b+RXz*-*-2HTNx@y@$V^sx+bQmp?GvLM zhlYaHUh_i`Ejl}?w$6<`7>?S_gW}IHNc6W66Ji0ZY#1%!Qpp=LELydT*NvzGLp~$WX+8a&MO-~}(XXuw|LY{&lHOAXi569r>LI$^aol%aiAK$H@bCl&8 zhtr`sU!p%%P}{#}y_ud0Vo;5P01L!PoQp`Pz`>0s zX)s8orDm;p0uMP;=hR;HNFD)W5>ukS+izL$?buko8{S2zDho*O7eg{(CoAhv&I`r{ ziMtcKTlFf?3MH4c(9w4*x{%G4?OBn^yOSV~Q@^F|SFp-CKlsxAdnn=-7H&}U|BH<0 znrOweN4D_Tm$X~Ao!j0pPyCCn#h*;9GzzBGA#4(@t^s^qnroq2M7oUpv|>PKo>gEO z9B`1uVQTFXs7nD=mlq4trKuN6Pn}K-R-@O?6Y<24;}s&&3Whe2upEiD?+p8 zP~CxIE}n^ngsiQvhU{|vBw0KKkqEh$2T{y^g3MsW0K&%@S_3T@k3DIBN*G{qM*3BC z*}Lv^F)s-LjopaL(kU(}DS_r6o6(^(;E?LSk;v+LfdIgxHrnEOJ-=8vC6lclHb)`} z9KYa~kO~yL*`UQV_F7`u>HfD2Db(Y~27}d%UY>-DG2DJwe!|K91j=WIc~TZ~7hYqQ zW0585rd&`+4vM}((2X2Jo*v0s0;$@M3-MVxlQeQagLx52_7XU|$K&phIte7Llc+3r zMIW*$(aG{AjzL4io1DzNLYb}?n$%4-aMit?8MF^b*%h~7aFNQ}Rgkso6B_sfQT(=u zcoZY<8bGzH0W0d>#bThp4~KW+qZWaT=rg{c5EMJy?6N+`yR>m7n!6buHndRZg~Xp{ zJ>u9*o`$4|bFjR(weN>xxsEtw7I>Azhfp+~y<0eVN*#@1ZMF30uFfP>w82EA+<5Or z5-o_(F>3$b^2IwZ{*Ouvd7xo7W^%??YA11^0g zWz%p6Xv73PLF3!_t)46ggYQy}tlTV4JeL--Ov*963f;&~@~!{$0Fy-*XQg`+1!jXX*sNuB6mN~Q2T;5K1-WUZVIp+| ze08Fv#=8q;GYx+f-Piu;7DzqV7$LOTvB<}m!L|~x_yQ)p^b4@dxB6a(?<`x`xTlR5 z0fAj?Fhf?ePRh#II^cMpQAa%N?y{(=v4J9ws)rOUdh*N_+=SX+@Ae@rHjBaHj9}2y zRYDHP@RWIwrTf>%>;kERmhoim#=hSH&3^+w+$GJxM5i5o2e31iM$D)}kMM5=s|oz9 z=4GdBo~GSv!`G*3A%Qu?v2v zA?D=H0$nF$Zxf7v;89ke7Jd>`O#D}`@L4gIzRHs0dL)htzv%{bE;n1&-kOs=S%uyE ztqSepuH0iSOH*9LHyk((o2cGMH=%7xRoQ~sG#$A2-OQ#CUc$2E6S^d=ei4%Xa3CdJ z$X#+Ld;Z;9C)3aWo2?)Lv~ahfF#RaKzJC#qdRNkI1eqTkT!0OkaX53Aq*crXY_$U> zJR6EK6W&@VSFZ5z__Z2iyk9Si>8tN&D!8E}TdW-2T(fN4)>)PbMAhKmPcXBAJU3^y zp-ekqAIr!6c)ABW9C^B3)V$f{Y$Ku!92#?n&StKV*La5wlL3{L5LlygspOiY3s@lz z%1$%4(KNi);@b0AsHHJ8)(veYteb;RSO?VNUw#BENzliwdc-Zb(e*OO{c#!NQZ?(V zaz-mVXiYQuihEaEFXbWR>ee=;lGzro@|PN^|DUOmM&*HGG^GYdJ6UooXo(@eL@gCP z{Y#bIqLC^MD_k6?xe5d2!Gdaa2Sg4p?HGzZXzU0x{r%Xkvm3XBsn|?RG0BQ`!w1>O zk_eUHzh$Ju;&iP~K~vl*C~;b}PkU2)4%}K0xipPZ2_OV_N}*kJG`(K@cY~vi_neJ_ z|0{y^mubBpg)2y*N`y1LMvpfIg+gX7Jeq4}!bMaiiR7|WR>>Zf(B3k}c}+TTD*0Og z#&?2}+b12>UmSr9 z3Jp|o|4t#hCzR0M?Pr!A*@lVLvflb$=V740L&?TfO_qfGME3q&9Egv52vcdN-({$z zVMfQ~yl!RsVo8L4)BWJh(AW}TVW;EH0Tu;YySeP^jmW1VbZ()A5n4wxm5$9O^g`d6 z85L9h?j0EAH7pfe1M?kZyk?icj*YL4s6K>a;!o^L#KI57ENxn&CP2jHD0*CW^wrleq)6dl!JSPb`92>XN*l>V7f4y|eK_SMyr zn!7IS!qulrjmpCLhBKF&Pv(y{-*{iHQyzYw(cR~}`Unz;xlXGJt02#QpG6~-5E2LA z4o%X+!Cw;1By)f^ylPB2lP6!v`T`o~7%eovcIZEB>isPXP_!*J#`M*`7_;v|5WDb@ zd?R(PxMb|RpuJAz4{+H9NGAX#^|e%)%NAxf`L{eljI>-QdqL^&DucOg$8QG3LjX_R zQ_e>Nq8r$1!6*ZeU<}v3d_3&Dzz`N*URNBa(+}z{Qrcc$=mu4Vo zWyYm4;QVxwNzbUQ<-eF@8t+xHmI?DPnd(Wb*ORq{fZ&r9pTEpd&5ETLxXartefobf zx2)fU9Gwv>T3ovjR)_^6Z&aLSj82fG!#$eL6qF-rfg+jRAov)cO`74|4c*XIRsy%P z#t?qX0ODfQDKre?v^kb6gUQ5zcO3&|aQWuO?Gr~Aa9iV7Jg2{S7*Mu8(g(2u24O?- z(I4io-hb!GY$+p#oaUJioI(1L01BP--a^qPZUMqb3Lpjl#23{}(awa>%H}CqA63e! zSH>4oCS;{+$j|h_6*v>1s3D)KCclL# zb#j}z691PaTP#y=7m+|UmJuPLuf5Q8Gq`1buF|G)ZQ)PkflBJ+N_%|PvV=4}*5g8c zYl%X3V*G0}z`ZjuN6-KauTY9x!F67HLmx>R|9a8`_8<1Mg@N4l%+WM>0mBVxLjFh6 ziA%91|2aX`(D>(i7mIBQ7TovZJw}*rye9?tiACDG0tR8oZA@Lc1=I?xkoBg^Ls-3N z_%$u?3$d;+_rT@j+wR~7JGv|5Rdc8Ns9>oDK#+K1Mw0$=OZxBV3=xpUC*uQmf@TMi z2m0X64UHY0Wz)V5nQ-^j0jxi&%Wqt^cuQdsnG)Y@O~DdSrc48HS_5Ti00}j%Agdp* zi@y#0^Lp%0%B@EW^`pPW^7m>sLU6L_YRCEc2e<6l`u!R{eE6`^bmPX2z2!9Au(Dal ztSiq=g_ttNTkc$+LHDAL9w{f0y}#Tl_pK3q#J~CcOLpnu593E0WBrrMzy28sd({}rrrF?;>Cr5t3!2|CkiPce4~-}8byL{UEQTF z62w>+l-Dqh&$4eyBr{w7mWJtE^(v7lgKI>?g8=9AB8xXPB?a_J zRD0C#WXUW@R0~F=-Bx{M@++ixr|wqSV&9>>G0%DrNMn$x6ks1ie>=R%14Yb=x#8QL z1t*^8{bVXUOU<~Kn z|JFakXI$el>nkoe`Rl2U_dRg{o5im2MhbGf)2X1OUGyBGL^8(sn<=S1OlU&zG$=B- z_BKeZ8B^xbuCPX+{i>f9QYyZJAhY9&sh2Js{^*$clY!f5o*|7`%peYR$gc}qzrZw} z;hO9s*$X%dJWUq%YCiQO;tv{d80i#~!f#5Oi40{Y05v3oodr zbxcMW22hE@9N&+y*lZO%hpahu|VB_8+*1FYlJ%C ze^PFWts-{_ZA)#)H&my;mQRBreqkrLsFy8N`1k6NUe}GjObaeyI0dcz`t;!(xN$D? zcBSp|L`HxH|K$0A1>3z9x9Vfwi?+t$pn$kk9> z6KK`=vFawuSu)Wgc8oMocboe4aIZzO)GhJ(=0)FWxKYAEEX@HWkl@rkqx!4~# zAoMNUrLftfK9*M;izs>m&WlR>^nxZU=Dyf6$t-OTNkhr_*Ios0e z=s{`7lB)lhc3Q_e*_Jy3^cWo#6=nKy&aQ>FE=-f5LI(tQQxZAzGTXTQfz;*-OzK(DX8=DLP7Wn#+pmxukx(f5}A$W|n|!VmygcohgM;_nn-|B!u8Ck@lS( z{de=B6*bLHhc;hX5s~v+BK2y|R>LnXUyYG#w+<&kzxv6~P0l7J7}B94VqAB7+hy zIqe;U{&com{?xdm+1&y0jtQY>GpB3{BoH@=@B@@&L5Y6vb6qPQ0K2J7z`~n(l z2ni(W`(WOV(p;fYTAQ6=5bsU1RsNlt+)bfs8XW9~{_OipMcDb5&I}wcg;Xyd+ULQ% zJ7-Ttex;gR&1Qdf{;;W@K1M|sQZGLKfvw5%v(m~Lj)sF4T=mX}>)n$db9Qn%@+$uj z!c=B9?W}s_y+L^~V_e^Qck(PyL|s&KGKKJU`T6Wm@y#`>@M4N-mFw_aVlVu4LhPS( zY)=<^X;2*dVC&C>cCR=&k?cG2A}~$$96|u;LPQZE`(8xlg>m=^y5K;9!D~@sP0LO3 z`%_a>MapY_ z8J!Olt(CqwrO5a^st{b{!rBtLR}XHd22U}tVR`VP0OKB@>COxe&hi8pYt`~9w`{tFZ z+!VjPc0PQKP=|#VpQh6IoHk~H8dcXX#bLkieJL|6$IuPaMM!Ctp`xb#MaXW|?YntG z0lc4TmX5}W9Q(GL@L4{O#)3K1D>AJ;4+qj^?(Z<1fxJaK8g4gmn=qsUcc%$CEobs! zI4+KzDgv#F7yYNz$;%pOi&yiPia*1ha zg%Nt4vRRO#%1M6}<*2|e$A2E>A8dTa$uoZ1Rqpj^8AQGtcPr_t;2NVgeZcBgsnIaY zvHF>%iO%>KeLVjoFGq*NjWswShpsqM&|p`Q0rZyB-Z>YXL6*|3FL#24=w|B<-sX!!#7hs#q)kTO9qh9h_AdGg$89~L zZ&SBSJ$}U}K_#Gr3*omA`St#wIR7CeXVC|s=K+C%$9IAu-=~YK4wBQdt&xX(Ff@B=lT1W9^KVx z((hq4n&MfabrhcGgy{zJUd^cg39K8~QuW4xCv;1gn_!ZGw4{jHqKp#yZcw&p?2Xya z)n-_=w&Loa-)t2lpIKXcap48Q zyjP^Fj3_tPXxJS5=Lw}|LD~cCSKKGipWc9(<(biE7DSOa zwH&!?B=jY*&LFdJZ>Bpap`cr6P2*Rr4Xe5~2d>>HyyvaAo)NJJs1<=$^}h6z(}2sj zmH}jt`#eHrVXfheXJbz76NBt%9f&)5mnZ}EQ1$TxfX>)@iw2rdoLc+-fat+#% z2z6>B@DyFTWSO2GW3s2e0WWEpvuA59PtM!uCA`^m66c%VNEi2o@K|; z>Zi(?zCiS9tH43gCp+S@L76*btoQV;+oL5`i4DWZ%+_f*m06HF6}~1TCXK@keM8Wj zH>Wp$@=&PMJ>uou*(WAOLNV`k`hKC7Z%XR6wY9eqjk+OG;lFC#@OU}0 zRyuwE-)~_|;GeURBN@}efs#y|MmC13Nc$1jF2jc0QxbE1-cx=Di?5uT?GLqfRG}$1 zAcB^A?vz3k#U ze5SylxVKmRVu`<~oc&*A77qIH$$0}V*M!V~l^3&Jb(-7ZQ zXoy+bG){FJ>^B}G3n}?v&g+i`7<~<*&dmZ%<~hlrsctIc;#KPzK|iZvNMnZ7`Y|BS=0o8A-X zs1z>oKYNLXiHbnhXZwU0KfMhQNxBzuzyZuscS`FfrtxvIn^&sWtK_|j4jA8$1N5(o zh)AdY&!ML!e8d7_b8ob>$Xwgp{7C98N;(D<AGW zPx({ItA?}$$s^!9QBjPGmRZ8GmH|M|ihupGa`pGWydGdBD6eqkifc4EG9{sKk!}Q* z`p8Wkn!+}GDv_le{7KffCrDY4i9GSOM-ir&|>k0m4~YUhR(Fs<`z zQ=bOnh#{tL8MPx?G-kB=w!~rT>d7AUcxc7vN%)tYAc3yTD{ZtP&2DdsO3ht|`SyXr zh}l>f)K0*^8eDtu4%;ZZV;GrcoQ%t{hdn32*Y36v?2`Ek!ESqFWo2HZi z065E~_l#4q9>a^dGO{k^*X^*lrq%I=nIl??WnYNzv+vNm6>ZVHYySeQ^+$1($)0JC zE5+;SkY}lowDi7~LJmd7hZn)-X3JPvTl2gAFgZRwN3@Jg<_&z?R$wfMO%Q$iY{&{u zZkEUt89{(635BpENj_N4^%=H`AAEeLvt^W!vw6|}y*5_ES0YY2vSVLt3jdF8l(7;9 zw=R`XnVB1eV_DebQj?+e8et)5U4u zzEqk8yiI6{1u8yd3J8#KxBhMgM4ff`ACvm{G>o|SzlPgFA1*NPo$LrC58iG1888^p zpV!8C#}xM ztPyL$yN2y2Nsl%+m|ix0r0n}Z6<6SZ9c`5mxK?;~K;VO&lHcHg@n^4RfBdQvw>-{p z-z(XqCe4uYors`$e;K?aGJ_L>?v$c@ndr_YW*I2$S|L=o_26T}D3k>~9l{nU9aYb- zN0OHkh`qZfI*92LE!;Oha4erbnEj>lAMj!&Q`#%6(dJuKw!dcI&j)pA*zJ1%RZGOu zzEJ^yH?0H<){Bz6h;#g4q05CJV$Q!Kb;?i)9wj*df4BBwA>MMfr0Jp2;Lj>`Q*QeD zv_ilc%+Il&um587j}j&Bfs5bRRXA!i2LptHUrAXx7W=RpW%ccwO zyvwc1~!E1E#0Rlf~$^ z_!Cu<7lALj#DCbP;gL~bosW-CksV}Ot4;(M=uK%dG)U!5rFr#TTJka)5c0E~^sR;< z>+IAs7Z@tE!*#7Vw`Vdg4>8IGva2@Wr-G;O0n;JXU)~<-b%ps4&g2xWsweNuxIJD% zylXxj{02{l*hW-Gaad}=W+d+OYvS)rcHy9T6<8mVC$3>Jh$|K)5z_ei?Afy{`=03a z`*4M8!t>5P;66r2=0;c+<1od`9*r5bylB_0o_e~*WO zj-cdMfnChFcUnL};wBov0#>A*m5JQCrM$8Jch1i_j{r!ufzrD^c%M~RU7eu^1a2PQ z*K(+}ImU!j-_S6jao-QHkZ}`y4vEgTsJF_mA8S4cZQumf9QtkI;TLC`b1!PfqS3Ak zn0M3xq`@rUdoz2{X`cTW_ppgF_!}OF9HmI@;xgZSeE=4E?!xpwVK9zo4-Rf!OSo6Z zSdqjW*XHj(+|v;{k(-G0_)f7CEr7@!x;L~!dCW#>Fwt;?h<%D_V258vdE%k)rK6YB z&N9A(0=3h@a1%RWukP;zso-N@B-Q$|+MBI1YyCLg_$OuU(&sPQ%~4@-<|TQK*NEmN zDL*UcUm~1YHrJX+?!#EWeXSR*?d;+|JKW%>SUHW=c`@4{zkU5`@9u7(Tc@713;zL; z7a|)4cgVRz$HAUwr@~#qmV3kWRu=tMY9UecWZWF@dp>}qI_i*=x_IA|0_{K1M?)t+ ztb3OF^vGz#KQAKL1~ZVyhFvPnu3eW;l#aF^1dqX3upP+K+C%q!h$tI=Dr14}s7a{&haF1QSNH3sP)3!OU;tUp_cV(M&!Yr^&=C zYj=p!_)3s>N3plShPh>sY8Yvv93552_HWo{rmW;r5fFrZ&EofTU@n#|cayIg?l=9G zEBu^Kpjh;0&fU{*_UB9k*J)MD7Me$4NH-DI&J#GuE>Sh)0Nh#^5KJZOmr)`~PweO7 zndiDu^RGBU2am76Q%wq&6Or{I-nUWK%w7_tXacD_eg-BEPu3#X@fd{VUe)&QIHe^k ze#34{MmwoAOEWk8B=ZU0Cx{*}r}L*~u7wk*%i@a-$9Wv&biLmGl z_=RuoaT^@~-+FLS5_%t*BzR)iG%5(RlP{HgS=Bo~9yrv(`MPMaUierenOpxHqdmYe z$@d*DT~$_L))F>Xo(j#pi6uPRpm6*D6ka7YLnYQr(|lc0pX0h;pGg z2sm?b8hz|-xo09X+dIg87_55be3cH2e(>a?`8^G7K8oqx&x2h2xZJy33` zTNWPA+^1^GP*}*2Ac=l|PkudTp~+tE)yMF9VXioHByiMcu%a!BEQwK3o5KCwvd!7g znN2E%Yl?k+S>Nd$e6+V@6RYhs1}TTji8p#I@N&`#v9_z0k6wk@ihL8C_%NeN*b6g5;l>D_BJA~dxcTH1Q)nP0anpsl%HY$d zPon_mt>?$)>p%ahOS%x*4>L7aHKcdwH+HCP8{@V;UTC{G*fzQP6_Rr%MXugaTw8mV z1caPygccyF$2_gSt(g?7vF_}x&1^5;3e%h3-1IJ;JRqThhUcYiALNfdvEXoV35&^y zuN1spb}ZaK@a?^YE(bE&wbDA;4k4k$mO9E-2Al{x0KPimhz2dKq2t0|Z*z#B@txpx zE>Lpet^4d5aODD|H%4`+=Zmke|DD^Vp#ly2NeN6$p6B1!a^RdhOx&Pum=;@B4m&L- z@j#$WlAPl?ucq<6`<<6qNTbYgg?BukNAHgLnU{>L6X7(;k&EG{D|;fO$fB)@2cAY_ z3;78eIbhmFizXbvDQt!^RD|D!eK}M-n#%Ci`s)tBH_%xv-PbJ@1v~+v6~@Of z!^F2Ful>EdV`hmCUaqyu3>qRO1umyZK49i^jAaXF=+P795rrKm5279n34*~$3LFaM zd+&yvm0?J75e?-FpPG;_4kX{eY!;N=pj=TaD_%qaxgj_iV=MWx9)-S z4CG=RzbU#tT6+8)L-~6qkgU3|g$*XuGI+TZssDD+!c-aegbsY48|d6gzCDNr5a9Vl z_jveresqxG7EO)LyU5U8n9Mc0!~kBFp28~InhevM5>)e-xq8(*P5&sb&p>)1MY=FU zox~#_s=l;^W7O$Ue6%QMU1mN%bLYEPnfXChc7ZQ|u8F5BiHN{1T)6NmJ$)$AJu|M@ z!iZYfmFGCP%ic$;!Mxe7DO^aXbGQCDNOkUUtxdcS0G~M&ASe<{KQLf@M*h|4gqR6B z3nb>t+FqK|(9qCY2(%S&L#V%?pkNZ1%(>y7v}fgWJ2UYt_#KG)L)|r`lO8g&*v=AO zF#&r4UY&_WuvglD78WKuJ2hO9$SJpr{O`Ny9?{FoYbA2E5Y0p2!xPoT`3kc7x_ThI z*-u=y%?a3Su8@SA$rLG8bIX`2>>rrJy90(x(t zmsAiiJ=IUB+Z3`eCM00zT`2+=rXk$Xhjqb+JMh;oPd0ubWzc@U^U<!u1%+HadC^sB|yfPh+$3>3@m50tz6@3O5+nAHz8HH(aD1w*Zyo9AWvuICwF ztF-R?`t?vyqo8%!G4L#HmP3w0YW zG%qPMl`b4{+1nm6{1CVWE?$*&Cp51|$aeI?3)Bp5UbXoLSjunLXh$k&HLjgzPf*YQ zXBGc0qTLk(qSw&n-xSfFO|6tsf-~B6(3csZUdIdhoO+4v&<3GnFULk|k}#a(sY**P zyW2Gs3nUB|w-)03E~;DHSrl~+g3G(V^xaw5V@ zj=+{zAgXF%4y~k+R~mZI>F{vg<|(ZRiz#y$*yZC^bPP=WXcG`1ys4^3@trs zEr(N<3}0ntYBt(wfzK+fHHu8bv2~IuI-Vz4C*66=%=-?8?$088bu#6-VET3w+Ww*S zVW|2pA`AdJ@l7n^?0w}%FVq5D_1}4)UunICv^;XqUL$aC8=;#Lj8k%lqTi*$LkLcU znybeLR=-~V&+)rC@*SKD(|w^pCL?FscN-3IX!#MZkL?JJQtSGfm)0&#?abpeRJy|| zMF-w~oWDEos)@*YiAFmQVb6P3srZnBp^friOTG<8 zrd4Hd^3eja_ICsmP&AgjAnwGQ9^l-9t8prKsY?Z3UW$fJ;+pZ%_zEd_2SMn273li0 z=h21UW<0_|Z*|NU&%b!&<00KEC=($^>iOPP-%Y5JX>A<0rt_yqL#G4#xrV#*?^2!S z6oDXIFEZU^w2Pm6_v>Ny_-Zy98yF@+c--a1I5c?5fRNMzw>?v zJSlpmEY{7=L7nbn58vGBY(M)wD?ZzmIM5_PG_fbMlhW7hjt0h6$Q+cWHA(o_q`CDl z2=e*)^aTs>9pa7-9qd6LshK6wM~s-9NXzMA5Mj(frFHc%7@Gne4}=7G*<*n&G_tl( zZ;;L@EC!8N>zC;@*KNE}q*CyMl13FFhAW<6bNMY{x5e#(Nt3qay&5xS$IXzov0f$1 zP{F`b-HobB+NIWN%;E(LQjh4y3K=ox%B~$dtb6fx%LmOrM7P$0YY zf*%haxk5d_Iz1fUjrXxdA3PWB_X)hWyWnuRLJ?!g2xyayxxelS3&^ey98e}ZD(8>& zU^kdwqR;l`IAG9~`{EC1WhyyFzYI~ku&o#vb7zb)1cmVIz>8@GX4Jx+EX^0%P0t{F z=ewmB-W2uYKQy@09IcoRHjh`uY34ADR~eOzG%Us3Q9*gvJ})Yg^6*VNInRaW8WQfr zidc$=>xlfk7p~n0K_J%t)A<7I^844XkK?cv_A!d?iCC@LwOq8s`Bp`WjjF*K-k~`* zXjO5kOaFFt%?^B-?1egkCzp=EIg3Q$GcOU^arS1SC?tH%%PX;o|Y zW-;$;5eMArK@Vc64r$!Q`C2j>DY#pI8W-m^)ZH6$yqY?fdZBFVlQB&__n9T^>SF8d ztK17pY~1F^4Id-_ybERI;z5NxiXU^+6fz(UizpT1JH!SA`*2fTZOXXw_j`h9Kl<|6 z3b>6!g0FfdH8uQ{1x!mu!d}{j|2*}7kjk2rg_pA8sfZ&t^XM4{k$EU6{1u~AxV?8{AA)xc?&#$ZWUNu@#nLkVgA?Xb z`G)r$muPl}DR_|Wc{!clDmRa0G;oBlcXp`Y=A#H(w5?ycyLK|19`(JMei7{g_UYo_ zKrg@Ve+I!n4GfTX=Mmo)`*ZM``5>+@w3*Uh2cEOTOAAAE&sqVarL zIpoh5Yx`?~-CL5k&c|Zw7J*?wW5FXOf%O2sb;RYpaS{EEanYlkhK>hPwB%MhRHS(c zczC!R07vU@6wx1LE~e{y_@?ZiO@{9WD3FuWneHuSV-asGGNa#oK;q@Lo!qxID##&6EdFL<^1RT zp4f#-AWvvpq%D5zrIUfxLA+2^xMpL|!A+sSKgnXF`$ctb*H3-{ak1*3^^R6{>%~J$ zhgRYxN1KXATtH?EFh}plR~c(Qym*X4Z^f6HmjJst;=-da>3h_r653#Sxov+(jk)=_IjG>3oZY{>Cav-kg~pthO2D$KP$)Had9~ir+IfIKJreZ zth_BpXmw4aC3CZN8AQiSz$Kv9c7iHo`mSh|9?!r1c2gn@u!#$&*b<-p9ZWL(+vDX@ zrpfx6WdlTYX)?AWR@PNF7`VsJdHT6Auf|xOqDZ2wjGI*)kCQh^2~LEa6!;R@IcQ>g zNEio`+WalyA9j!9xv6udb&com>!q%b$s1iS4Xv*ok^L*i*Q8ZLk=VJxf~3%ju6cYf#+~`m9T>DiJkZUtA!} zNb##VNBzUtwDGO%b;<2)nOc12+$h}@wahSi{=E63x*z?bAY(=|1@V|C=iVkanenSE z1dT0W&(R9E%{W|NFi^brO_C@@F9=inQ@?I5K-7iWAXG+2#6jNgtNx8f&fpo2Hs|gJ z1@UJXuvS`s8 zO5_Hhu!A7u_+j~=9Cq0-gi%hTQ{Al^6FukIm(m?o=Zd7Kz zL4Ss}K|0+=iGPFX**&?EEMr?Q$Muq*F1qsqi*1^r7(a<_2MjNq2_j4|aLF~3oeNO) zFW#Hr_)JEi zUXIb`N$kx$01%+tn{D{(Q%?}rEeR0~385Dn|7$2i0OnNFp&b{4YT#kHK+~~Zz+vuC z)HQAunKs}$yU&2lm;>6r393ee?Cf=z+ja7|WcoH4?|-|06kym!yMcqIJqxj09oBY9 z`B~tgM^t3+X}wy$C<-HzeQz;{Pay)bq0(WBM({d7+jqDVqIA zd(I^)4en6Uecr$&+5~%)(^5BiPC6w99|Yj^ccGVJj3$8O;*XW^iZ*x11Jr!Gy#!dt z*ooL5cj$foW0;wEjLKCW#>w&29K5GY_YM46KYtkru8KuLk%)~ell8Ft)@JHUIES!* z(-p!P1HL5vc5V8B<8(YsSL;=}ea?eZ8${{vxI;<+ic5{vZx_y$@@B z%}UB*0`|3HTAuB?x;kuql)!&^()M7;-V`7P4Ss^PZ>Xm=H={V!JTefrNWubLuRHl~ zLV*XvBPyHstSr9YFn})+g$gJ`z#Nfe^{+9g0YKF>4QM0a#DNR*tAfIblU`i{z$s6y zB>*V3ooC#W?k~BQkQCs~4G&Nj&@(g)7Om~5B%27%expQQtmZ4Xuip>FhpTOPw2a9^M7kiy1hj#Qp8Y@f}AjuIdpGvBa&V3;GSfC|V$+RDgb1Aa5oO7*Q%vNj8S<-K+1w z(~jWFcyChdWhD0TVKACgg=A{zQ#RO2@SVsj?nH5XbH#2NZy22ZTR+$^f+iATM4JuX zxCHf*T2HTL`4e)cpxK{BsEo&}YWB1ZA&F@dKu|0+-O_!mQhAQhzF(S5?+)3h5*&||ob4lqE!tob@D6f!k9>k+%cX8Q!) zhk;4`)h{|LSh9}PVwGo92N%l+Ah}VoM5B!6i{mr^jrN~y7Dh3pbWwTp$Rc|=qKc=M z5ziTqiheY$g5F?+QmLRD+2&1C4bH1O315^6V-SPIL_NL7a9z5TwO;1jKEO}F;DR?F zTr?_}4W@1P6fVW0=bg(w7BaM6{JRHEki>h z6r?Pp#U1@~@|S*ml#$&Vd2kUtp?-O%uKLI;Hg|9eWSJUq|5LObYN3q4BSC>qdmaWy zm(r#GCh0b8Zqt3ZYVdej@1TBP&5lGG4M4{PKP1;q!6!=Rnkyx8YA*GWWFk$O26W6I z>-gh$Tqq`maPfkHL+2J(AT}&iy^lIM6EjOUM;;kMs>|2>*3W#~WtEf5E}_+r6>mQo zeVT|E(4`%8fuP#A*#gJbaE2#LfAF>~BeX~bwm`6X33Wz)kgw;L-ch`nWo=}U$GY%P z^_MdXBwWaB*%Hge8)%`UA=I)hzMDc1jxc+6X(O0>JNyi@mSoFO7uLn1R4W0o+*`gs zS$oQMwA}XKc-0ROW{6noJQsh5_}=od-OA#kVt>nLs0)y@WF0XOsFIZv%a^?jz%#>R z`E0rqLB}Q`x#%Z}+1H75fLcHR@j6#+g~Lh7H_ky5TXX00C=>=J8jhI|W`^`UOl*Wg zN={tK5Hm}B$jP32tplr^-x|GbR!J+oIB0;dpv4YSXG@mV3VVq{shV#v>?O1c2&hZx zHLBHA>knGccdzy)!z+{%VcqLhHq=626Lg8R9O%aDkf=()|VT%V7q|3G>meKl z2`Gi-Fj-UwcNTuSeq)CBB8$#&mZF^ohk5`hlEuO_57kz&i(jBS&E8F(=Bvf{bewzXHE0;_x4ZI7{TxULEhi8H ztA9LrN=4qkzb`g6HkGEh5%m31TR%91=fb>uNc?3u;G7;W_iv8+{W@A_Q8PW)4ltot zimRugWy1iHkje&k=x_Gg9Km=>b1auVM;G@hih4~{ZXRcb)=K6)RH==Jls8~E3z z>GAQTd>VLyW!Bypy6IR+vp5$l7+9J~|N1zW$^$cBTqqdt<7MWqBQF%?Pp$zW*?Cq2 z*fc=J?H^@KrFl$C%)Wm8`UssEz{s(@qiloT5sA0bgSP&B`!Mb4I||Wwo7P#H9KLwY zcI+?1GOSG0nplxC6usI)c1A2VVi9DgS-Lq%>f!RQgy^)5J-v(oyoiHXT82*l^|j5qubzpx1q~2kCuxHK2OsW zrlH55Mz4YZJ#9UK#z(9NX+g6Qce^Tl(B~$+`_A6A#rLM1QS>4!3Qjhj09C*TRn{g0 zrUkHd$+GRlti>Bi+s!wfbs1W6HNKJHk7=aE&*O!rC5xppqZ#>$ZaE8zlG-LUg1>4n zZ13?JzGb6OhKH9k#2mFULynPlaY95A)U~@NV7=zB1R${1yn`t<^fyMx(Nf^KG&JC~ zK0ZzLpZ%O9yo@lT4e77Z5>_Wm8mUM3hgOcShPCX6d8ii7DNeoB|Iq!qf#naFp0Zrl zkk?7v0?_9;JI0xBS5gA@fvDVT1GtpP*%6FkTSSDGrv*j)^ihKoYhY?c5ZOt!h+TD0 z&6Oxk8#DOxV}!O=Gj~LE^L;%H+eGu@#Eja~@^4MDcTl=O))MWgC=?!L`$;Q%uZd4|fkI%Z* zT9BnWRO0NtPwu=G+G3ZhHhxr~&u-|X<`Y{v`_uMF>6aEM-N$8bMu7FZFrqDtz}&DE zTl7K=4Uq|nT_UctVW0!~S)9aH>VJ0|*_B^QQcKMh{;|)o4!y?D(6xWG*p3sNR*Z8_ zyz6%{q0(;iQ6y8i%Fb7%BeVneVm$zqwdtXqvu_gF%sj}z_um;zeVAsv7nnvXrWly3 zg`Q_-)z4%7qwelg3pWIHKdG2K*zSEg@-*V~-}prhGsxIIai>*eB!L)yny}o(7u(sl z)7-fZo2JiKt;sOj^=~CGzuO#vroZUI!IX{uq&X`~ucV*_a$=i(`QsPmN423q$v8&c zW|CvlGGqF}`u!YJF?h7NoOOjgI|u^-Dg_olZ&zbe3Mh=n12gBJ9*9_>S4jISc}4U@ zA~Zu%li!jlZT%}g8MQ_8i-gLUM<8Z>nHYYHaq{={7Knygy%TNSQQ z_c7^|W+iHH56h@XCMgvfDLXw+L`Qx*52sLl%t z@u3@e%KWxR4?+etQUyF3Yz8uei#QgIJ27Q=^xtkcsAAsXQvxEavv!mcYAhAV_84I5 z4I!B)BsM@68|iB>x^DA5P6OG=wV+fEX&yBdZ?#(-;n8aVfxiW`TR4K^=sQX|V=nyc zCpJsrSY;5AP`q}spV+IwP&(uz^$PTV*9d{I6eR5OhMIo<40AV4`?X{}Egp6&blJL^ z6ur|Y%fQP{akSM13A4LjWj;vg=ITQ$0Kc$N#|Z?DXb#mbKjJTuaVJq2dR z97iua=Ib|j;C>kV3`l|;r$T-pwwu-Tyu2=7Y@g}a??zLjVs&~%@au(~KoC=cL>KT& zLQ6tDOM!&~(>cAAnV*F|Glaze{&wo2*|+E2hV7crRtFDDlI(GI)iwyxmsaaOzcQ3J zjRRyy0DgG<9u*0%R+;%D_ymzp?-Gn|T~{hd<9{Q}x(k67-W;8-&&j&2+TWWre@>s& z{DFZV^<uvlB4He1AeoihJU)X^O$dJ#oTzvi_Yc=Z}@2<&7ue_p>BUYwy7I`2A*b zCpnbG0vQ`+918Ut<+DJhB=CNhz0MqkL{RQfSg;Q}_I(oP69SKgXANbfR)blVK@@ba z?;erqoGHndAGNtarcVj5?Ru07mhAayEEe1MTG*^1Y!^530o8ydv%S7M{KOeoP)Uve zMjPQ#Bq%IAzlH7kI&kHffEEqM#jAqybmNA>+7yLKVBbqq;5m{;_y`-kau zVs8lo z%m0&LERa0W_@w1>71JP~kF^2+Blk5HD*rxQWQJMs5#bV2jtu{I7h8ElcH{_K{%@xJ z!^TRzF*~lf;Op^}h+ z2cL-9EjjuMWG>wMI3F$pu!|R>7pjh-I1u?xh&ePIJ_kOK&kpoULFpNisdCy2Cx?Z$ zyTzYIP!H+B2+PG8j>a7jV^Gf^PN{mHNo#1iV7?{#BgM6)isrvcpOb=AZ@yZ5=b2i@ z4bLmy)E0WG$}l_E%mxBOYGNeP-4C z^6Q1ydx~_SBzx%P0F2gWQHC@3fso7RW?_8T4D}JNPc7%A)Dq-M<-Clu2F@GW)lIB6IbQ@T z2*9A6oSZjN$gLN^=CW5&yuX_Xkp9GV4y9+bN!Sq+*tvh7C9Q&>!%3XMhtv9f88-VT zWQq)3rFBp))PI}TcgO{WR#bFZ*Awwor&I#YZ~(uh+Kq{d`jOnB6`3ryw8;M_oj6Uy z={)r)&0?WOJ-2Jd0fZT%w~`vrhPA5nj}I{n%wnrr$;$uAylja;cRI}-I3pTk`3>qu zTK9QAa*jwNvH=?Z(SAz>2jA zwa__7luV#ZYF>^w7LOJC=~6009p`6Gzq6PuA7+TGFR9io@Pth0($cqHa?Jr)+;J?m zAh~%BiUneGof#4BPX9kJR9wFAMq z){pW9>bp7jPRTzts~En$UPpoOaM^c2Gy>O!id1Jaz>4SFq>pThQCa=LT1p@q9wDr*E&mdsOL#D? zb@ST~=S02Gda#qPAMa$aB)DC#>45n-D~spPpU>VAdHCZvz1RKbmprhp!1XgNYOb&c z8^f)3HE9II$dAqsfvDevTJ38Z!BR@lWEU-WR0D#!hcjqd2mxZd=&LiL{Zpg|x_^R+ z8c8W`f?mV~Lmuu1p7hq1(%hc|1|*EPEVN(Sg=q#R*NK$mUTi^pUsA}vJ6S|*9ey|i z*VG?!EI!0PPTbSr*U&0~<$035-yJ(F25>4p50i^S-y2~ zrGeFSOph9s(!98Sm;M;_wFm)l4HnBbAmlm(F)vdz{yza&jyu6oh-9|k)O7V==`Y3z zu>oAn%%la)^#*+5@D3EJ?vBUj^f2Jjk4byr#__oMH`JH=Vxpx7rWyL5KlapHR4@&j z&@jzY3^NYqTd4+m`n%ys#Pk9MEq}Zr%Tid5tnyAdfM$f z08DMT^FmwUnPQvr2`3XaogqHEE^+}n;ku20eY{Dndvk>VG>RDKznZd;<#&%*W)ycP zlJwMje-Cmq(Y32Jb88XCVCh`s1u@yMX=A39(lBNK_f@-Kt`b9By*6~W1Z-U!wHZ+o z$=$>1(p^2~lm4!?CWwtkRKd$mKo$V&>iZcHFGWh3i|yZ!IXI`;#XNAb00@ZbBHDGd z?|DfZLt*En7P4vx#|pfvG+w$7X5?cCRv-93VVO_a*0!+UCf)Vr_acIkPef}b z%rdVE|AkgMR*iR#P`EjMv%`?K#Lv5?DIrQ$peMlC*jV3;RE@W|>0P&*STt)8O z34D}RV*4YVrucIOOS+X&XP2-rcTpNCT9L#5QuTs(@>)bsecD8m@*%?G zJG00f4Ptz?qVg%H)6@M2i0K{4q|k%FUs`@l9-Xg_YNU1tAsrBXfo4&|JI5OV*F%9v zOKV8&>i)*TIa$d~068jAXGVgsjd-OSPQw1z2?QJF_no?7wh;)Mq4Ng+P@ArCIi8EH_OJ&L^)WI(!+x?rK5 zwqoWA^P+Gt0Bz_XSPI&?0YDr!|9H~+abb?WXKHEs*}8<75UP=5KnFFtN#+byxC=}0 zzjl9H=P^fl`Q#yg^?c1|qc4xx7Jhu|wVWXlzhc(!eJqt+L*u{81jr_{9 zBEFpUM-ly`=s|e*`RzR-2M+Q~9+P->9ZI$A zmnJ{enCn{KvQLu#)pDf$v5YaY198*I3~tva z){y7!(oe<)4v@VfNNkMUn$7hM8v40)V#kJmJFu?J<~Wvq>6(K=5fPhd5>E2?aIJ?nKV_A|w96 zKqXH{%e}=p!)={>7bQMYQ2SFgRtVh3yjpt=eo+r>lfsJOS&1njV4!ndgZjnzh$&l( z!OK|CG2>7n{{WB1xT|TCv|%=ce=_c466segfkVox3}SeZ4=Z(oa(t0g!u&MMT>;B% ze1kL>b|5uxm|cFKh!z{bnV}rA5-`90V$O%)(cbH*^CsDZ`5TyXhb-3}wN7=x8q*%l>@LyIi4g;&fE&;xgog}? zdA6|95yZUe*oim$oPJc*5u*9%*dNUPzn7L~P1r*iGT8z5T?R?R*uvq&*uE(Ls|!hg zX`r#c5Y}2nyZ?pduEqRi_EL9Tc7+s=9w%{@&rh{^quxy^%c{1L8NBe(F-r1Kj)6x&KW(2(0K-wu9LC*5czOp=OE8Wpw)!aFEimAj%ik)hzAkXRTLj` z6fsWX7rqu>!5G&-3&wc-3aY1P8`(^~`>F~WulZu!z8Sz?xK1|n*yy4+7M16RrWU|d zV-2DJ9gji9j0*U@#|y#5Cvl?jOo<))Swy?@Lk=gwgUjztAyLSx&nN`pJ_$t|n#PhbEL!Sn=BbxGYlbZ|3iQUCx5k0Cx2+Bn9hHK!p0W=Z|qw4<;^CM{8(#5Sd2~O)PS<%p<^O(+9U>6wCSHglb`)-gv-bsiH#ivaBGF}v!F3T1Dxj#@HgVSa0#^La z0qeDh{{|Xk{a=w8CBl&p-MI}N8=dnAo%Dg#R9!yLP;<%tfRUlcrvVafWR(4+UC7nu z>0!4ZCghknW_ZN61O(~$rS%I)Q;;DHqLZ(5=8LY*cA%{jR)ZgKr6S_}9)pnj-=tO)EsCYkro~F#dj0LCqNALZCJ79>LncT`#G;==$+|7Xh z5rON1%d@ECaNm0oZIGHFbi?yc(cX`(tX6u zjm1*WsU?UlcQ`3`W-uG?WclpAlIZ7Gd_IoEBA!+2KFpdh+4UO7a_GS}U8?^H43iqC z!-fhCZNT*$LbUkwxg)5h*0byEI+=s9Ru3_6-6xB&nbTeBD7%tA(*A>R{d2NW420Qd zOso){m=U%;Y+YBt+MkI&Lg%akSJW6*nufP77+Rc8&_8Sj-V=vP>AFTg$#WTQ?$nCe zhi~SygB8`b2a#&(FGGO)2PbNHWeky&gbalP%;(dQA<$h60RXnsp;i-nmsL$psdtan zzB2wc1;X-T!7lc0u+D&^R8V&-Wf;+ofv7I;7u#S7Qk5uvN^aHsM0Tnw9m;}4HOz7Hh9qM>p)?o|&p!CNOhLr=Es!uT_tz{j z@Q0v&IB08bn;prqe1}V07E3hP@t!IJt(NH@D#GR-j4Z4&FR z;w|bSOn;r)DCwalzE-=qnJ>0Y2*a<|{!JyLWI((CW-TDL=RmAj4soJXgw*@RWY7=l zvbWt(iN6uRykzAb;h|s4b?^)!;`L)T69O=yf|Jxs$=?8qnlhpbX-<(okQTp373KVl z{z$Uc#^;?GER?TE$%!((aS@Ki#4_-r5SbaA+Z^G#&fZOw$ zrU-**H9+k0(n|MX(FiU=wOC-?;-^sT(N!)1y5Y_{AmLE`SkFM2<)Bj-)9lI6cP<~& z>$ijGXzbt{Scq*|QnsJ%P`m*?KS@eE_P{BkhcH`P3`$@LC}etF-<-onOu*hB-!ezm zlFX|1;VbWVk*t?t4vjhBjsD)7a5VTd{eiz99_qhRY6HXD)8C{e5108gWDE>e={JF}sOJIl31<9}U=4YVr2T zMj8?%!shQ%>=tRquL}FEJ3>h45WCabYqSP&SAwjK%?u3qoa4nu3^=$k{Fh$M5rnZa zs`h|)N1$KR@Q0Ht5ML7h@ZO{pGGhNMn+`;Cu+hxmyid5_LnIjIE`L^zf$LjazZT`B zrx9Ia&D`Mu6Thht-QjGPk>HPbjeVkUR_i`8)sm0mEk_mB{Ozn-t&!&xh7|Uh_PpGE zIf{+TP4A^>{^?0y5P?+xYddRoz00FGEagSq)WD|!}CWfwKx4I6k zVDx11k+8(nK0I9H*b4gZJoUj(%&1Eh^g0siP{X|>VpdL;bv#&rkQvh>K@bMz8IXW* zEh_2Z9f?Q!iTJ~6JpjI`yjHt7MeJ?aGvLi8f`~IIyAFbz)*wA1;8M=xIj$?2Ci;G& zg6ESpei_!ftqs{iM7+i(aF+ix_9FD_x#2`H7Mw)UeoF%E z4E5B%B+*UxvYmxBevfeWoA5kX&T@r`e`lbO8#Wn3uq$lFrVCt|m1}~YzC~9;nk2mU z^4IQb`u|5VK`bfwf2){y^lKZvyQL%YgDA=eLF#iCl-Of=qWlKu`+q!*FVzMSl7{=y z)1(;ksa14behhzs54S6<(4i9ttz%NNki$x6jDDdxfX~$VzI5%BX7Qu6H=%68&BReuwg*>pl{sA~I`<1D^oJ zIkp$13~zc?!y(Di8EH$s44}r@ief*Vhl{TYB$i4(vOq~JX6;gD5UO~`by0;CP}OVU zWpy)go$Xjrovs`{v&=p4bgRGn9KZuU<~#9KfrJmPs%kNhSsXU9w*7a(Mci}ShELCJ z@9AN?21&i!p+u6bT>6D9nF}xG+rrnbHK(e%{;vt2yYKMNzAH}xf~yJQ$I5MmUywVQ zfY)JkbDl+2s;bAlEiOhQt zrj#Q9olS=PJvJj!yc=Uk>%EvCX_F)yX*iZ=D)3qk^~MeElL*jCOV`to^o>AvhK3=4 z?9U)(nfnscxn1PxfpxfeE3Xb7I3>f(^o1LTmO`BP9;AvIUex$<4pQO*9q6_dMi-}2 zDZlHYW_A`iIP26w#%h6pUnkQ!!XRN1-o?=F+7cnVjcRW5A6Mns8=eOU+6~zk z7n{k2Elun08(eP86=yJkZMdTB(@X4NNU+!}D1b5qSrkRaf4VLPKSc>CODd zs@t2S2(NYO4D=a2GDR+B^$S-&Zr{3)@Pc`M2b#J{+V+C8b`Lcw%SZ?w@*CV`(4{Y3 zEnv#O94MS!ds9s4+Py2V?mW@^@%5|7Sn=6(;g>E~nKNuA8_>g2+5Gk_YeW&Gf9?-v zCMw0P%c8&QKPaMMhF7sw&q^44`y)W1!kbMm-g=S!w( z5yd%USs6d6bwiRR3jH&+23}r+NjrML1YlA@;a3!|_5{_fwSbr0LZgpbfr(p@Mi$;( z#`SnJd*1wdN?y#?S+&Hiac(ZP98}vL6XZ;JLZSDukQJF;9LJ#`(n|L6@o4_@-;udm z%Np_2Q@ds^@-X4Y@o7=Jl${CZn2vDLLy5E ztwNA~`dI{^Au~=Gs+V#aPi_a#^-V#pXbyu!pr@pQ?|;^O&lQbB{`k|K@IM9DQV_{! z$=S$W^4|sQ6!VTRpf!MAnmd_UgeP&tlF~izrNK zC0*sqbzZ}y!f^D+K5__+44IAyap>RE$ea1>#L(|i+V?z1FhJui;nEvP$(_Je{nyL= z*9%;a-(Na7ILvkv=2}BPCnUUn!@j!Mi-Ef#(6GhZ2o*+6&Uq^5k{JL0GV*cY6{VKw<3&eJ*gXv=AcAydw zpZAWyMyI!kJIezb3D-Ip1XS%$wpKL?VnXW|;`5bzbj}@G>5L_HSSSnwIQ&+Xzhdl$PhMdRU-l^Jh=p(PPH;+Ky@QN=%Ujc~mp7#bg0?{Rt^l2TWaHQafy7 zYP#3cwIanh%smI^7H{FUoBEM*7I#et> zsOX^zPmyz6iCGqF)7)u0-F7pyjh{&IO{<@<6#hJ9>(Ob!n>HeP6ikN=wQwA?Vo#di zOXTLBSbX%7lak4k! z61kpj``oZZKV(hN9T28NyK)isxF!w~-2AyW&p;a0ggnOi>s{VszJ*XSgM2O)c_t^* z?39__hgaFK+@DQqQt^4&IMFpxH5DZrYA;b%Mq?VrhHMt@p#I=I25oiB#{+#=;_^UN zc(V29AOp}1W0=3a1vgE3(=7zFczDIHA@W0tDDhTnmTl;o^x$?%eYV63_mZ1`;g52H zc(*r41;uKM)g@XJI2hWpr%?XdAy@cLso4I4vZ7?RwXbjex3V%hIXCi$1Gt7?OwhTK z`IWa9``2s3hD<71i;Ru;x&2ErzJS@ky2i(xcUnzeI-ovL89wAAjmd(m#qTX?xKI! z&- z3&6(s4cxjm3{Bh`)t#*I#k-{~*3+0E!QE7 z4^b_{L(Cb1(5^q+i9DU(PCN0+jNV^oHt<)=go3END`J2}Y<|sjVoa>-2%hXr+cOLI*m^(s$5LI| z41F=E_y|o|^N@$gyEx zJbs(IW`7tHmg?%Wy`;tL^WZuYPs{cp>U-%k?nHx(P!5){AcMjc%xkhRs?4J!NLQjd z!_4*K8fetHG&-JJwcQ)~);-94S5)fb=)QAXVRpi~FJQ9e+%3;}&8^oE4&xj1xLK-W zAl8f#D4O+!2qovt=fXx=B1*@WxPOoAm*+H(P@C`EGhUwfOr+en-fouA+TZHjMSJ;T zzD<>|1OY-#v37h!Sq^E$ceEd3QhCMoVdq0Ooa@rj1ez``m6E)T$WCloS5XdS&&5`} zqJDREPhW8M1c$xMKrAIEN1yw`=@ra*X&z3o-!)Ac^{>k6^X@Kwc6$`fDsX+oGr3|A z=ChDB5av%|sIB2zE?~8i_-9%*gA2E2? z>EB$aS&@Bj^H^EgJ6bTMaGrcF1=Is~y6g6o-6Pg4hg|VvdVrunP(E{aA6eS(mpPh9 zB2^5y;ja=`)uD+Ox1#thm|rBkXYTJQJ`7sp7vdD)Zh92Vr3vI$7hPyL$Hqi?6Coo5 zHbL-<$zT!Kdzth2NNB>QmKa5H%fhIMO8w;8S2B;@K}GJxOj9&Hy=oV8jlBFGaeI6F zahB{bHtOK=h{rZr8@lJ|d|%D-c8Lu$ES6ROZsWo3vN56Kk_K9Ob+Y=kb&5oslmY$< zI6X33`a#v{J@+V*@dKix__3ba!TSO_qr-g?#uvZG2~{@J$EPFr%UC*+z9oF>w+U}N z)j(kRQn13}+m1D)ZaETeLu*8TZrI)3Es+*!-wa#DK)hqw1V#Q(lZHY>=(cvIxA>FxUD&~SuJ$jFsJ!5#J0 z{yUYDMEmwwV(`|^$$`BsvvSw8(|eARKQqXs>8RC92brwhyOXCqyded7{_WytF zwj@dSN2j6L5i_WuPWZp+`nMPp$$nh6zDE;bbeo||b`KNNI4-g+_ug5Rvwo8B1>%@E z>;)#qjRkUguT1#V-SzHpe6(WB80W7_0F6+Gvx^4Q;I%b}MUZ6g79#o(d1^ijO;eG> ziJui3aLB}23Piwnb-X1l5??ErYMxfcz_~|c_0;rcIqz4Ew-gRJ zEEu_{yv|MUk60OQzp+d+9|NJ!5<3yj7p_qjx0FbooCAG1-(HM;{obCCkbIw#kSej7 z2hRTgKY94*$9bQY>nAd8czIVVqDL>vGjKu*3Zpl$JF@5P)iDk=mO*B6jE!}(kKdIP zFjnhdn;^VBpwe!%y7#l3o}y1*6DGTxrZgt_b#fx}>$|essyyEqF`eJ#MsH|Q+Ik-a zuMDuN5V*FMDDn%c&JjwVnjh|;+HZ-VrGHItuqYEJHG!U(gr2c$Mj{&Ek=Ws1yz z%znBHq=I;ml%tMkB zR=vS2k-CXpA@n%CWmbz#gJ9ko=x}YEl-bLU{Cqz3_RpH43txFU8*mtYJ1QsEuU+Uu zlh@xcs|Ga{gHY;rh2h^`56hF-Y}ikv{AK=8kwih*71KqH65Fl11l{xx{8vWzuk~dS z$EqftQ=NIqZ)LNn(H0$>R#Wvs!l-C@;Z6(fxj_i|nTEZ_GC0EH2r%~jpnkM0yJoBq zliuaS5caG0$ikN9IQtia{Updgow`JpyG)y2qeKz;^wYZZYSFgOa`vF#c?lM)k(N@- z=?e0yut==NNa4M4^bhr&7b?WXi8;QBcv@_s3~@g+*yQODl+Z!9-h%1a&Y0h#C}!{( z$8;QElqu&m+Hm{${@~|B&`GccO&OhrwkvguYZW-fuJSxQ>2m;4oOYu2Ug`g&Tk zH35zk4|`(8z7oCQU_aLqwSzH*|K}#q?=yQ*VQCDFLTT4dzlAaU_}X(HN_V;le>T?j zO{_f)_Ukn4e9i~vU(JR|HP_`$btNboGbRS9&wkwK4YkRLJ3as13Zh>pbnY?Y|?j*oZ=ezuB@+|Ev%rdkM zrE*`64E~)FWzZ>opsHFSQY!qOcLAk=KLkr@6N|i5o2dyOim*ianD-QR&5i6F_B-v8 z-5osW$RL`8S0A#nlnMqC2(slN?;^~ytNlYOc%YrhK(vRjpx}9ppI7|CpT?7FV$~Z& zO3=9^@e*h#Bqw(@Qb4Gp7cXN?#SV+72{D*Nrz0MTP8Z`Z3W&05YEQQ()f{9ztWdor zsZ~jAiHycVmqknBlNY&(8s;UvZWDyt2nc?#}Gjs%6t51CPu= zNesThl=-VPqV}2|e%uE!;yEm?*0w3qS|qXA)V|w)QwalX7mE(Q!^dH4+>D2)H-eV- z9bfV^`~03g?c=pds!!j2o*esN1<=w_u+&FYpXBOAwFp6#Hoz`nx- zn*xVux9ljVqw%<~3z6sHA;o6NvH~RH#z!$B;`5^fCJ^qo2uCcXV;pKte;x!DV|v`= z(IdWJ*&XsFKIJ1$$SAtGy9*QA_yjQIT5jmj#fbnVQeevmqNmFR*CeH4^#eP}D7(1? zOKAh*Wm*vVTwZAdPE|$US$ycbd{}Nd4x_uuKxcQ0Pfz-NGo)3t(z0*KwPwtkeAwJ(gjw z2vX>1BrT?p@|q*;q1g`;m5vNY#D?-_sKNNyaz>UGK_*U273Af?OIHgU_R09IbA!eC z-{!iEN}G9o`GZ4hxgNFFG2)SE&)5JWuD?iP@}Zu1y!1M`5z)-dj3ZpHg@oo9*x1}N zfh8k2kb4*Y*Xkn>BEf#N*K|VE7>Al_+IARYrOtD)D!zawg=b+mp22CZE9Matc> zexiPSICxnY85wytk?Jcd+zbfe@Fhg#hC7Wf z`EDs86_MSfi(rLL3JMIxBB!<({yPy(#0?ic;&c9hj%jOJ%DafcYghf3)kz77TrmMO zCpJ~W)i00Irp#@NWb;9cn1$>UWJ{x6R}G%v{C2JOzoch%aNgbZ8MrcXiwvGck_5wmrGvcAx1$FmL}gE=iMFsv#0#YoMiP(n0fAstRxAjs(vIe z)|?(b$80`VHQ06i^(BLm(F%@xC@8w3Hr)PU&U_Nz6$41GH?M+YIPjNfQOn+=-JVH1?UCVy zxXb9JxI3ud!Rvx*G_R-jN9x6E5a6*V`RWURORk2(lU3hgFy^3 zFcWTIPgC}lDOqU7Zy9|2l$esmc`L*2C2Nhd>y<}K2UNVLlWsA+ytVL+gnAe3dmz>} zTv)=x)1X+N{NaLd%L|r=i}mUrU%3fi$46?Q&A^_6t7mF9WsoTvN#|_2;^ICk@2F(> zjdJ4fzO*lZ6!$rB`jfM@?6q>yaj;k*NAu-gm)~lN`D8cK_8?OzV+6ivS9IIc?NV~r zesGJOyXAzW8$>@BtuzZWB%tV`2*7py_-X~}>PN{@AqUNZ$*+~U4 zHX;y@Th7J&xf^^&GQID~7vm3X51-AUH9CgB8vNcAy)>H<6H$?F$i3pE2PfExhgKhz z>25YjtBpQolw zK#VX#x)ek8cP31ir=`>b`xnnkWoMTJJ+6MC9JCsHPfL&6Qa$TlF%F_)K?+iU>&L)KJmh~iGnb-d?+7`<7j;@kgXl_K`Cl;m2-x%+6-~NJI&l0UQ zVi(Y=_9i84<`Z*b)A3_Dz8 z%cS3z3%sb4KsvAUjM`s+PJ%3`6z}ksoh-d8YLZci_u*Uh))A3QToPj?=-gntp3>Q# zJCpa9?OR=@riLAjU`6?98uR3v&OP)BYgjUT?StX3f3E#V(dp-*dh)g`$b_5o;i#6f z)O+H4+69K-^fXGkMAIBtO_R*e=j9(k^x}c6K`F_6 zPh=3=Evpli{06%lsUJG(IT^-ZKxS|I6ERJdQzvU|z9?Sl;d^BixX7QJe}BdAJiQT& zn>(@NEM-&fnHk)C_^EQ{9hbhz$aSpPgEKj*%?45&d=VxiQd2kyi-|uO-QT#^UukJ0SMsLc{Y*2ogxJm6T$-Ird`mj?Eu-(sBDUo)Gg$zi<}Csqr1i$m@<0z5 z6}1^eEZ>qI5|fA&v;T&%1wFnmcmKEtYjTfM*sUg4{4t^Bzpu?XRF+m~*3xcUkooX2 zjqzxmdf7)_+je8JT>OnWAP`PW0cXK>0amO%#@;E6Ug=5HX2EMf^O@~>ke`6#_| zC1k6zV>0K>`mu+t{vywZD_!q!1YQePQ$^)GSi;Z44y{+8S9XNH&8vZM-8c{Tuhg8D zAijNhMU@~$DWspGd-Be`qEo`*qx@4QAz!6C!`D7DT8a5``cpl+{wjvk&)>@&(o}Fz zcT(XAyzj7mO$P;OnhBbOnCh+fR+F|X6z?TB_-lSSab=v+1TV(w`7rh>isPt-z)+ub z+uCqCr@}d|MmftyiYAKZ3eM8O@=5e+=-hV2e2~QV7&5X`h`!G;7iP5;TTd3QJ}Zp5 zWwF&NQsH=UrfjJFQ*Ohdsypp2a`B|TortLW_~Q{z%c7<($Y$5s#FHto_+qCPEx(N3 zlaIb1&~JTxEG5@=OX$8XOTMBNzjmx6)Ppx;i_$yP?RcuBoxYri7G(R{lGbW42Ps ziT%sB3PlWdpg+1K~bA zZ145by(V2nmLh|4INCL9D91c&;EwO*7OFjJp_60x22VqFD$W7P0W6c;RX12_D)x-H zU6Sof<<)r5+MhLbvCatw{D)lnM1#X*5zpyiNFg^s{uF#$WSi@m3BxaRLVwG&&^)eR z7$vODB&+R!R8=fzD41AzJU47(6n}I0e0!h=>jk?vlz@KYta(9#5J@lmwCyTYRF06J z(7FmMAj#{6P=rKg_g{WFw=9`2Ha0G2SK&K-BEP91(`Ke`(BaDXyO?&_ufJCXzxmRL z$n6PnxJA|vxKBlgQ~CJOINxdGE4iF)$2gakzNYYN@|QgZM=HWkcbFDgUr?C!uUPb+ z80h_Rg~Ns2)rYBrV}y&P^PN;_-OJLZpC_VEUI+RYSxB8yjSA$>oAnv`kjcO8GW}%V zTW|bTW%VgNY1F4-Zel||RO%^yPC@^VF6K%^FAcHeaXH`5J6GDg#h%c)CTmpNsZ0AF zm4Q6j{o=8<6MsQ3c!zR051?<Gd`sX;xi^aUY=7`wY(T$!A_6h z6!;1u70D}AnVAZTik>oG4gyV%9-Emt790%h?R4GvN(wY(KGjccm3p4+PHP( zzD*vt2GMeK&o(1w@K6^xaxyleuGu(C^Hk`) zmx)iX+aVYY*C`&?-+9R*C6L~cO6zc;C6T{A`9Hrjl39dGaVRIg6yMZJ>;G!$z8~SP z+r|IB`}e-l7RYLz5+93(>t3zzj?cGi&XfJ$ubIjD8%48O>UCvKQT*QzgBU1_X(78n zVI~@j|N9|gQ}Hq4wew(J!CM)Fxse-}8NdJUcd2~^wH8)Z*x&-jp@p%}RcA3i^(_DU z^hGjo}AXn>M zvVZ?&Yr_uj75_pT4p45WU2mitMHWjSlz%QT_eMTLzWS)utFME zzDZpnrg8@Ko1e-gI-l_Aw*-vaYWlEbbAg)6r7`0wKSi-8bk4Gp?6XffdyvEG ziCv`73-|$FOds2z#CPkPANC|zQX+fS)#fsMK0GYj;`LjeKBQ$uRp>M=P%KcbK(%j(4{Qbt5x0#t zzsCF2ng*tZpt~NtQGqsJu5QlPX7V@dHU)R*a&b&tkxltFm#?e4+w+G`BPjNPbf1y) zu)fccsolem*i)ac46BUZr_ZSX!Ud;H*^9q`C)8B&s9U6OuL6pcZ{nw7MJ^Pq&@P3I zXTZhW@0dfMHN^CD}Uxw=6mhq+ap`++l*?c-jy5+)wd6v*GjH zuo{n8&=y9#c$odY@*~tb=qnc&u(q;w?(nkZL;cS5UaBiAke**NtE{nQIh<2tsT}yJ z|DvUUJ(fasfBNEyB{g5SJ4_f|o`=IHrEgiZ{rSTE?u@&kq0a@^CdWCt?ggWffRt`& zxUYfC^5F3HC4aF^DDe4~-Hit~cY6e52B7GHHzutedvBEs^MoJ7m*oiP?b_sF%& zT-IAZ^^2j*BuHc|gi0j;zRO~4!wNEL?4r2b;f<10!{w_Iz4%g$P~mES1w-F`>G8?O zWclIzoGu3TUxLiUCOGwew8VntZ{z*CLb~_w~(h%Nef2I{eNVA zc_37O)c4r;5TV4_qExmlA%>91p0Q-#q9P^xcFCTieiA}t$yV0vG4{0*vhPb-$8HR> zz2E71-{+tA{(-sf+?jjs`JVGR%l#ZmzFiH4$E9&9Y>5>o!k-E`y3kWrdjqDw zhA@Rl>GamzPPRBsY`=}ady;z2G)V&oPa0p^`Lye{Nu@_O)st`i#L**YnTE?amEr31 zHF}NGB3%S2omDgZ&O1_b+x?z*u&TM6@%GZ9X~?w|Xg_>B4eH&SGavWqczoH30g_g> zPiFg38k2~$%zGUp|K~~}E=tYnv6HaX?&rQ0&OZG((_`Yk@n5IfU1VX`y^78r9*(Ww zT`C?$B#+Z-8>*`NB+qz)*3AjkTg1^{tB~lUw^;7#~xVu!|-Iv0)tHQ zAo|Tw`n!i~MQ?}R)_az@%3gvn>b!JDIsE==U7I~AK~A1Yj{k)U=B0Y_FRnY0kJ9

oy2uOBD2>KvqL*;2E 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�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

pnH8BmO5X;KT2`_zo$`FW}TJ%K?;&H07 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 Date: Mon, 27 Jan 2025 18:27:56 -0600 Subject: [PATCH 177/330] Automatic changelog generation for PR #4095 [ci skip] --- html/changelogs/AutoChangeLog-pr-4095.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4095.yml diff --git a/html/changelogs/AutoChangeLog-pr-4095.yml b/html/changelogs/AutoChangeLog-pr-4095.yml new file mode 100644 index 000000000000..ba43f71bd0fc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4095.yml @@ -0,0 +1,4 @@ +author: Jedi-Toothpaste +changes: + - {bugfix: fixes misaligned floor decal} +delete-after: true From d0ea013e5ea746d997087ed9a1b0e6b79c235d64 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Mon, 27 Jan 2025 19:24:08 -0500 Subject: [PATCH 178/330] Continued Ammo Adjustments (#3838) ## About The Pull Request Makes AP ammo better in most cases HP ammo worse in most cases removes deagle minorly differentiates some cartridges. bullets no longer tell you their calibre, manufacturing plant, manufacturing date, the name of who fired them, and if they impacted an organ ## Why It's Good For The Game Continued experiments in the field of balance ## Changelog :cl: add: bullets now refuse to tell you their calibre del: deagle balance: most cartridges have been lightly adjusted. please say something if firing bullets feels weird. /:cl: --------- Signed-off-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> --- .../objects/effects/spawners/random/exotic.dm | 2 +- .../crates_lockers/closets/secure/misc.dm | 6 +- code/modules/awaymissions/capture_the_flag.dm | 18 +---- .../clothing/outfits/ert/frontiersmen_ert.dm | 5 +- .../projectiles/ammunition/_ammo_casing.dm | 2 +- .../ammunition/ballistic/pistol.dm | 13 ---- .../projectiles/ammunition/ballistic/rifle.dm | 3 +- .../prefab_stacks/premade_pistol_stacks.dm | 8 -- .../boxes_magazines/external/pistol.dm | 10 --- .../projectiles/guns/ballistic/pistol.dm | 77 ++++++++++--------- code/modules/projectiles/projectile.dm | 6 +- code/modules/projectiles/projectile/beams.dm | 2 + .../modules/projectiles/projectile/bullets.dm | 1 + .../projectiles/projectile/bullets/lmg.dm | 1 + .../projectiles/projectile/bullets/pistol.dm | 71 ++++++++--------- .../projectile/bullets/revolver.dm | 17 ++-- .../projectiles/projectile/bullets/rifle.dm | 40 ++++++---- .../projectiles/projectile/bullets/shotgun.dm | 4 + .../projectiles/projectile/bullets/smg.dm | 35 ++++++--- .../projectiles/projectile/bullets/sniper.dm | 9 ++- .../spells/spell_types/rightandwrong.dm | 1 - 21 files changed, 158 insertions(+), 173 deletions(-) diff --git a/code/game/objects/effects/spawners/random/exotic.dm b/code/game/objects/effects/spawners/random/exotic.dm index 84e4a0616c78..4e5e5ebfb021 100644 --- a/code/game/objects/effects/spawners/random/exotic.dm +++ b/code/game/objects/effects/spawners/random/exotic.dm @@ -63,7 +63,7 @@ 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/automatic/pistol/spitter, /obj/item/gun/ballistic/revolver/mateba ) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/misc.dm b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm index e05bd4524230..893a86e77d96 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/misc.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm @@ -11,9 +11,9 @@ new /obj/item/aicard(src) new /obj/item/assembly/flash/handheld(src) if(prob(50)) - new /obj/item/ammo_box/magazine/m50(src) - new /obj/item/ammo_box/magazine/m50(src) - new /obj/item/gun/ballistic/automatic/pistol/deagle(src) + new /obj/item/ammo_box/magazine/cm357(src) + new /obj/item/ammo_box/magazine/cm357(src) + new /obj/item/gun/ballistic/automatic/pistol/cm357(src) else new /obj/item/ammo_box/a357(src) new /obj/item/ammo_box/a357(src) diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 037ae0add3e6..876190157897 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -403,22 +403,6 @@ CTF.ctf_gear = initial(ctf_gear) CTF.respawn_cooldown = DEFAULT_RESPAWN -/obj/item/gun/ballistic/automatic/pistol/deagle/ctf - desc = "This looks like it could really hurt in melee." - force = 75 - 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() - . = ..() - addtimer(CALLBACK(src, PROC_REF(floor_vanish)), 1) - -/obj/item/gun/ballistic/automatic/pistol/deagle/ctf/proc/floor_vanish() - if(isturf(loc)) - qdel(src) - /obj/item/ammo_box/magazine/m50/ctf ammo_type = /obj/item/ammo_casing/a50/ctf @@ -528,7 +512,7 @@ shoes = /obj/item/clothing/shoes/combat gloves = /obj/item/clothing/gloves/tackler/combat id = /obj/item/card/id/away - belt = /obj/item/gun/ballistic/automatic/pistol/deagle/ctf + belt = /obj/item/gun/ballistic/automatic/pistol/cm357 l_pocket = /obj/item/ammo_box/magazine/recharge/ctf r_pocket = /obj/item/ammo_box/magazine/recharge/ctf r_hand = /obj/item/gun/ballistic/automatic/laser/ctf diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm index 56f2a677c129..26075d4a82ad 100644 --- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm +++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm @@ -186,7 +186,7 @@ back = /obj/item/storage/backpack/satchel/leather suit = /obj/item/clothing/suit/armor/frontier suit_store = null - belt = /obj/item/gun/ballistic/automatic/pistol/deagle + belt = /obj/item/gun/ballistic/automatic/pistol/mauler 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) @@ -196,8 +196,7 @@ 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 - + belt = /obj/item/gun/ballistic/automatic/pistol/mauler backpack = /obj/item/minigunpack satchel = /obj/item/minigunpack courierbag = /obj/item/minigunpack diff --git a/code/modules/projectiles/ammunition/_ammo_casing.dm b/code/modules/projectiles/ammunition/_ammo_casing.dm index f56c76a44164..5edadbca9567 100644 --- a/code/modules/projectiles/ammunition/_ammo_casing.dm +++ b/code/modules/projectiles/ammunition/_ammo_casing.dm @@ -63,7 +63,7 @@ if(user.canUseTopic(src, BE_CLOSE)) name = "[initial(src.name)][(inputvalue ? " - '[inputvalue]'" : null)]" if(BB) - BB.name = "[initial(BB.name)][(inputvalue ? " - '[inputvalue]'" : null)]" + BB.bullet_identifier = "[initial(BB.bullet_identifier)][(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 diff --git a/code/modules/projectiles/ammunition/ballistic/pistol.dm b/code/modules/projectiles/ammunition/ballistic/pistol.dm index aabc86f3c51e..fd13eca2e3e5 100644 --- a/code/modules/projectiles/ammunition/ballistic/pistol.dm +++ b/code/modules/projectiles/ammunition/ballistic/pistol.dm @@ -99,19 +99,6 @@ bullet_skin = "rubber" projectile_type = /obj/projectile/bullet/c45/rubber -// .50 AE (Desert Eagle) - -/obj/item/ammo_casing/a50AE - name = ".50 AE bullet casing" - desc = "A .50 AE bullet casing." - caliber = ".50 AE" - projectile_type = /obj/projectile/bullet/a50AE - -/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, Pounder) /obj/item/ammo_casing/c22lr diff --git a/code/modules/projectiles/ammunition/ballistic/rifle.dm b/code/modules/projectiles/ammunition/ballistic/rifle.dm index 8274020c88e5..4a94a01a994a 100644 --- a/code/modules/projectiles/ammunition/ballistic/rifle.dm +++ b/code/modules/projectiles/ammunition/ballistic/rifle.dm @@ -34,7 +34,7 @@ icon_state = "caseless" caliber = "a858" projectile_type = /obj/projectile/bullet/a858 - stack_size = 10 + stack_size = 5 /obj/item/ammo_casing/caseless/a858/trac name = "8x58mm tracker round" @@ -69,7 +69,6 @@ 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) 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 index 2f1c9cf07659..90cbccec847d 100644 --- 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 @@ -212,14 +212,6 @@ /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 diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index 98250ccdcb21..18b74930bc71 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -55,16 +55,6 @@ /obj/item/ammo_box/magazine/pistol556mm/empty start_empty = TRUE -/obj/item/ammo_box/magazine/m50 - name = "handgun magazine (.50 AE)" - desc = "An oversized, 7-round handgun magazine for the Desert Eagle handgun. These rounds do significant damage with average performance against armor." - icon_state = "deagle_mag-7" - base_icon_state = "deagle_mag" - ammo_type = /obj/item/ammo_casing/a50AE - caliber = ".50 AE" - max_ammo = 7 - multiple_sprites = AMMO_BOX_PER_BULLET - /obj/item/ammo_box/magazine/disposable name = "part of a disposable gun" desc = "You ripped out part of the gun, somehow, rendering it unusuable. I hope you're happy." diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index a1b319692467..2ebc78e60f06 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -26,47 +26,48 @@ light_range = 1 -/obj/item/gun/ballistic/automatic/pistol/deagle - name = "\improper Desert Eagle" - desc = "An oversized handgun chambered in .50 AE. A true hand cannon." - 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 = "deagle" - force = 14 - default_ammo_type = /obj/item/ammo_box/magazine/m50 +/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/m50, + /obj/item/ammo_box/magazine/m45, ) - mag_display = TRUE - show_magazine_on_sprite = TRUE - fire_sound = 'sound/weapons/gun/pistol/deagle.ogg' - rack_sound = 'sound/weapons/gun/pistol/rack.ogg' + 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/rack.ogg' - manufacturer = MANUFACTURER_NONE - load_sound = 'sound/weapons/gun/pistol/deagle_reload.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/deagle_reload.ogg' - eject_sound = 'sound/weapons/gun/pistol/deagle_unload.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/deagle_unload.ogg' - fire_delay = 0.6 SECONDS - recoil = 2 - recoil_unwielded = 5 - recoil_backtime_multiplier = 2 - - spread = 7 - spread_unwielded = 14 - -/obj/item/gun/ballistic/automatic/pistol/deagle/gold - desc = "A gold-plated Desert Eagle folded over a million times by superior Martian gunsmiths. Uses .50 AE ammo." - icon_state = "deagleg" - item_state = "deagleg" - -/obj/item/gun/ballistic/automatic/pistol/deagle/camo - desc = "A Deagle-brand Deagle for operators operating operationally. Uses .50 AE ammo." //I hate this joke with a passion - icon_state = "deaglecamo" - item_state = "deagleg" + 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" /obj/item/gun/ballistic/automatic/pistol/commissar name = "\improper Commissar" diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 3a82e7d8df1b..136109e0a2ab 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -19,7 +19,8 @@ var/near_miss_sound = "" var/ricochet_sound = "" - + ///what we should call the fired bullet + var/bullet_identifier = null resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/def_zone = "" //Aiming at @@ -182,6 +183,8 @@ . = ..() decayedRange = range speed = speed + speed_mod + if(!bullet_identifier) + bullet_identifier = name AddElement(/datum/element/connect_loc, projectile_connections) /obj/projectile/proc/Range() @@ -694,6 +697,7 @@ trajectory_ignore_forcemove = FALSE trajectory = new(starting.x, starting.y, starting.z, pixel_x, pixel_y, Angle, SSprojectiles.global_pixel_speed) last_projectile_move = world.time + name = bullet_identifier fired = TRUE SEND_SIGNAL(src, COMSIG_PROJECTILE_FIRE) if(hitscan) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index f28c51c84208..9faee78eeb06 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -17,6 +17,8 @@ near_miss_sound = 'sound/weapons/gun/hit/energy_miss1.ogg' ricochet_sound = 'sound/weapons/gun/hit/energy_ricochet1.ogg' + bullet_identifier = "laser" + flag = "laser" eyeblur = 2 impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 277aa5e0404e..c6d42a41e58b 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -18,6 +18,7 @@ near_miss_sound = "bullet_miss" ricochet_sound = "bullet_bounce" + bullet_identifier = "bullet" impact_effect_type = /obj/effect/temp_visual/impact_effect ricochets_max = 5 //should be enough to scare the shit out of someone diff --git a/code/modules/projectiles/projectile/bullets/lmg.dm b/code/modules/projectiles/projectile/bullets/lmg.dm index 5e246236fc70..635c496eaaec 100644 --- a/code/modules/projectiles/projectile/bullets/lmg.dm +++ b/code/modules/projectiles/projectile/bullets/lmg.dm @@ -61,6 +61,7 @@ damage = 25 armour_penetration = 40 speed = BULLET_SPEED_RIFLE + bullet_identifier = "large bullet" /obj/projectile/bullet/mm712x82/ap name = "7.12x82mm armor-piercing bullet" diff --git a/code/modules/projectiles/projectile/bullets/pistol.dm b/code/modules/projectiles/projectile/bullets/pistol.dm index 73da54ea5819..9330233a4876 100644 --- a/code/modules/projectiles/projectile/bullets/pistol.dm +++ b/code/modules/projectiles/projectile/bullets/pistol.dm @@ -2,23 +2,24 @@ /obj/projectile/bullet/c22lr name = ".22LR bullet" - damage = 18 - armour_penetration = -45 + damage = 16 + armour_penetration = -40 ricochet_incidence_leeway = 20 ricochet_chance = 65 speed = BULLET_SPEED_HANDGUN + bullet_identifier = "tiny bullet" /obj/projectile/bullet/c22lr/hp - name = ".22LR bullet" - damage = 24 - armour_penetration = -65 + name = ".22LR HP bullet" + damage = 22 + armour_penetration = -50 ricochet_chance = 0 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/c22lr/ap name = ".22LR armor piercing bullet" - damage = 14 - armour_penetration = -25 + damage = 15 + armour_penetration = -20 ricochet_incidence_leeway = 20 ricochet_chance = 30 speed_mod = BULLET_SPEED_AP_MOD @@ -27,12 +28,13 @@ name = ".22LR rubber bullet" damage = 4 stamina = 15 - armour_penetration = -70 + armour_penetration = -50 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 + bullet_identifier = "tiny rubber bullet" // 9mm (Commander, SABR) @@ -41,6 +43,7 @@ damage = 20 armour_penetration = -20 speed = BULLET_SPEED_HANDGUN + bullet_identifier = "small bullet" /obj/projectile/bullet/c9mm/surplus name = "9mm surplus bullet" @@ -49,14 +52,14 @@ /obj/projectile/bullet/c9mm/ap name = "9mm armor-piercing bullet" - damage = 15 - armour_penetration = 20 + damage = 18 + armour_penetration = 10 speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/c9mm/hp name = "9mm hollow point bullet" - damage = 35 - armour_penetration = -50 + damage = 30 + armour_penetration = -30 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/c9mm/rubber @@ -65,6 +68,7 @@ armour_penetration = -40 stamina = 30 speed_mod = BULLET_SPEED_RUBBER_MOD + bullet_identifier = "small rubber bullet" // 10mm (Ringneck) @@ -73,6 +77,7 @@ damage = 25 armour_penetration = -20 speed = BULLET_SPEED_HANDGUN + bullet_identifier = "small bullet" /obj/projectile/bullet/c10mm/surplus name = "10mm surplus bullet" @@ -81,22 +86,23 @@ /obj/projectile/bullet/c10mm/ap name = "10mm armor-piercing bullet" - damage = 20 - armour_penetration = 20 + damage = 23 + armour_penetration = 10 speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/c10mm/hp name = "10mm hollow point bullet" - damage = 40 - armour_penetration = -50 + damage = 35 + armour_penetration = -30 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/c10mm/rubber name = "10mm rubber bullet" damage = 7 - stamina = 38 - armour_penetration = -40 + stamina = 35 + armour_penetration = -30 speed_mod = BULLET_SPEED_RUBBER_MOD + bullet_identifier = "small rubber bullet" // .45 (Candor, C20r) @@ -105,40 +111,29 @@ damage = 25 armour_penetration = -20 speed = BULLET_SPEED_HANDGUN + bullet_identifier = "small bullet" /obj/projectile/bullet/c45/surplus name = ".45 surplus bullet" - damage = 20 + damage = 22 speed_mod = BULLET_SPEED_SURPLUS_MOD /obj/projectile/bullet/c45/ap name = ".45 armor-piercing bullet" - damage = 20 - armour_penetration = 20 + damage = 22 + armour_penetration = 10 speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/c45/hp name = ".45 hollow point bullet" - damage = 40 - armour_penetration = -50 + damage = 37 + armour_penetration = -30 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/c45/rubber name = ".45 rubber bullet" damage = 7 - stamina = 38 - armour_penetration = -40 + stamina = 37 + armour_penetration = -30 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 + bullet_identifier = "small rubber bullet" diff --git a/code/modules/projectiles/projectile/bullets/revolver.dm b/code/modules/projectiles/projectile/bullets/revolver.dm index 47036d5dbda9..45206fc24d7c 100644 --- a/code/modules/projectiles/projectile/bullets/revolver.dm +++ b/code/modules/projectiles/projectile/bullets/revolver.dm @@ -5,6 +5,7 @@ damage = 20 armour_penetration = -20 speed = BULLET_SPEED_REVOLVER + bullet_identifier = "small bullet" /obj/projectile/bullet/c38/surplus damage = 15 @@ -32,11 +33,12 @@ ricochet_incidence_leeway = 70 ricochet_chance = 130 ricochet_decay_damage = 0.8 + bullet_identifier = "small rubber bullet" /obj/projectile/bullet/c38/dumdum name = ".38 dum-dum bullet" damage = 20 - armour_penetration = -50 + armour_penetration = -40 ricochets_max = 0 shrapnel_type = /obj/item/shrapnel/bullet/c38/dumdum @@ -75,6 +77,7 @@ damage = 30 speed = BULLET_SPEED_REVOLVER + bullet_identifier = "medium bullet" /obj/projectile/bullet/a357/match name = ".357 match bullet" @@ -94,13 +97,13 @@ 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 + bullet_identifier = "large bullet" /obj/projectile/bullet/a4570/match name = ".45-70 match bullet" @@ -116,7 +119,7 @@ /obj/projectile/bullet/a4570/hp name = ".45-70 hollow point bullet" damage = 55 - armour_penetration = -50 + armour_penetration = -10 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/a4570/explosive //for extra oof @@ -134,17 +137,19 @@ name = ".44 roumain bullet" damage = 25 speed = BULLET_SPEED_REVOLVER + bullet_identifier = "small bullet" /obj/projectile/bullet/a44roum/rubber name = ".44 roumain rubber bullet" damage = 7 - stamina = 38 - armour_penetration = -20 + stamina = 40 + armour_penetration = -10 speed_mod = BULLET_SPEED_RUBBER_MOD + bullet_identifier = "small rubber bullet" /obj/projectile/bullet/a44roum/hp name = ".44 roumain hollow point bullet" damage = 40 - armour_penetration = -20 + armour_penetration = -10 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 cc0ecd87c2f6..fb25a48dde87 100644 --- a/code/modules/projectiles/projectile/bullets/rifle.dm +++ b/code/modules/projectiles/projectile/bullets/rifle.dm @@ -5,25 +5,27 @@ damage = 25 armour_penetration = 20 speed = BULLET_SPEED_RIFLE + bullet_identifier = "medium bullet" /obj/projectile/bullet/a556_42/hp name = "5.56x42mm CLIP hollow point bullet" damage = 35 - armour_penetration = 0 + armour_penetration = 10 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/a556_42/ap - name = "5.56x42mm CLIP bullet" - damage = 20 + name = "5.56x42mm CLIP AP bullet" + damage = 22 armour_penetration = 40 speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/a556_42/rubber - name = "5.56x42mm CLIP bullet" + name = "5.56x42mm CLIP Rubber bullet" damage = 5 stamina = 25 armour_penetration = 0 speed_mod = BULLET_SPEED_RUBBER_MOD + bullet_identifier = "medium bullet" // 8x50mmR (Illestren Rifle) @@ -32,17 +34,18 @@ damage = 35 armour_penetration = 40 speed = BULLET_SPEED_RIFLE + bullet_identifier = "large bullet" /obj/projectile/bullet/a8_50r/hp name = "8x50mmR hollow point bullet" - damage = 49 - armour_penetration = 0 + damage = 50 + armour_penetration = 10 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/a8_50r/match name = "8x50mmR match bullet" damage = 40 - armour_penetration = -10 + armour_penetration = 30 speed_mod = BULLET_SPEED_AP_MOD ricochets_max = 4 ricochet_chance = 80 @@ -64,16 +67,17 @@ damage = 30 armour_penetration = 20 speed = BULLET_SPEED_RIFLE + bullet_identifier = "medium bullet" /obj/projectile/bullet/a762_40/hp name = "7.62x40mm CLIP hollow point bullet" damage = 40 - armour_penetration = 0 + armour_penetration = 10 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/a762_40/ap name = "7.62x40mm CLIP armor piercing bullet" - damage = 25 + damage = 27 armour_penetration = 40 speed_mod = BULLET_SPEED_AP_MOD @@ -81,37 +85,38 @@ name = "7.62x40mm CLIP rubber bullet" damage = 15 stamina = 40 - armour_penetration = 0 + armour_penetration = 10 speed_mod = BULLET_SPEED_RUBBER_MOD + bullet_identifier = "medium rubber bullet" //.308 WIN (M514 & GAL DMRs) /obj/projectile/bullet/a308 name = ".308 bullet" - speed = 0.3 damage = 30 armour_penetration = 40 speed = BULLET_SPEED_RIFLE + bullet_identifier = "large bullet" /obj/projectile/bullet/a308/hp name = ".308 hollow point bullet" damage = 40 - armour_penetration = 10 + armour_penetration = 30 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/a308/ap name = ".308 armor piercing bullet" - damage = 25 + damage = 27 armour_penetration = 60 speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/a308/rubber //"rubber" name = ".308 rubber bullet" - speed = 0.3 - damage = 25 - stamina = 50 - armour_penetration = 40 + damage = 20 + stamina = 40 + armour_penetration = 20 speed_mod = BULLET_SPEED_RUBBER_MOD + bullet_identifier = "large rubber bullet" // .299 Eoehoma Caseless (E-40) @@ -120,3 +125,4 @@ damage = 20 armour_penetration = 10 speed = BULLET_SPEED_RIFLE + bullet_identifier = "medium bullet" diff --git a/code/modules/projectiles/projectile/bullets/shotgun.dm b/code/modules/projectiles/projectile/bullets/shotgun.dm index eb1177ae3d44..915a98606a2f 100644 --- a/code/modules/projectiles/projectile/bullets/shotgun.dm +++ b/code/modules/projectiles/projectile/bullets/shotgun.dm @@ -3,6 +3,7 @@ damage = 40 armour_penetration = -10 speed = BULLET_SPEED_SHOTGUN + bullet_identifier = "large slug" /obj/projectile/bullet/slug/beanbag name = "beanbag slug" @@ -70,6 +71,7 @@ icon_state = "pellet" armour_penetration = -35 speed = BULLET_SPEED_SHOTGUN + bullet_identifier = "pellet" /obj/projectile/bullet/pellet/buckshot name = "buckshot pellet" @@ -81,6 +83,7 @@ tile_dropoff = 0.15 stamina = 15 armour_penetration = -70 + bullet_identifier = "rubber pellet" /obj/projectile/bullet/pellet/rubbershot/incapacitate name = "incapacitating pellet" @@ -114,6 +117,7 @@ damage = 30 armour_penetration = -25 tile_dropoff = 3 + bullet_identifier = "massive pellet" /obj/projectile/bullet/pellet/blank name = "blank" diff --git a/code/modules/projectiles/projectile/bullets/smg.dm b/code/modules/projectiles/projectile/bullets/smg.dm index 9557f40b1e1c..e035de7811ef 100644 --- a/code/modules/projectiles/projectile/bullets/smg.dm +++ b/code/modules/projectiles/projectile/bullets/smg.dm @@ -2,19 +2,21 @@ /obj/projectile/bullet/c57x39mm name = "5.7x39mm bullet" - damage = 20 + damage = 23 speed = BULLET_SPEED_PDW + armour_penetration = 10 + bullet_identifier = "small bullet" /obj/projectile/bullet/c57x39mm/hp name = "5.7x39mm hollow point bullet" - damage = 30 - armour_penetration = -20 + damage = 33 + armour_penetration = -10 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/c57x39mm/ap name = "5.7x39mm armor piercing bullet" - damage = 20 - armour_penetration = 20 + damage = 21 + armour_penetration = 30 speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/c57x39mm/rubber @@ -22,6 +24,7 @@ damage = 5 stamina = 20 speed_mod = BULLET_SPEED_RUBBER_MOD + bullet_identifier = "small rubber bullet" // 4.6x30mm (WT-550 Automatic Rifle & NT-SVG) @@ -29,27 +32,32 @@ name = "4.6x30mm bullet" damage = 20 speed = BULLET_SPEED_PDW + armour_penetration = 10 + bullet_identifier = "small bullet" /obj/projectile/bullet/c46x30mm/recycled - damage = 17 + damage = 15 speed_mod = BULLET_SPEED_SURPLUS_MOD /obj/projectile/bullet/c46x30mm/ap name = "4.6x30mm armor-piercing bullet" - damage = 15 + damage = 18 armour_penetration = 40 speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/c46x30mm/hp name = "4.6x30mm bullet" - damage = 25 + damage = 30 + armour_penetration = -10 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/c46x30mm/rubber name = "4.6x30mm bullet" damage = 4 stamina = 20 + armour_penetration = -10 speed_mod = BULLET_SPEED_RUBBER_MOD + bullet_identifier = "small rubber bullet" // 4.73x33mm caseless (Solar) @@ -57,12 +65,14 @@ name = "4.73x33mm bullet" damage = 25 armour_penetration = 20 + bullet_identifier = "small bullet" // 5.56 HITP caseless (Solare C) /obj/projectile/bullet/c556mm name = "5.56mm HITP bullet" damage = 20 + bullet_identifier = "small bullet" /obj/projectile/bullet/c556mm/surplus name = "5.56mm HITP surplus bullet" @@ -71,19 +81,20 @@ /obj/projectile/bullet/c556mm/ap name = "5.56mm HITP AP bullet" - damage = 15 - armour_penetration = 40 + damage = 19 + armour_penetration = 20 speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/c556mm/hp name = "5.56mm HITP hollow point bullet" damage = 30 - armour_penetration = -50 + armour_penetration = -10 speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/c556mm/rubber name = "5.56mm HITP rubber bullet" damage = 5 stamina = 30 - armour_penetration = -20 + armour_penetration = -10 speed_mod = BULLET_SPEED_RUBBER_MOD + bullet_identifier = "small rubber bullet" diff --git a/code/modules/projectiles/projectile/bullets/sniper.dm b/code/modules/projectiles/projectile/bullets/sniper.dm index 268d4a9aaf23..f79361ccbc1f 100644 --- a/code/modules/projectiles/projectile/bullets/sniper.dm +++ b/code/modules/projectiles/projectile/bullets/sniper.dm @@ -8,6 +8,7 @@ dismemberment = 50 armour_penetration = 60 var/breakthings = TRUE + bullet_identifier = "huge bullet" /obj/projectile/bullet/p50/on_hit(atom/target, blocked = 0) if(isobj(target) && (blocked != 100) && breakthings) @@ -46,6 +47,7 @@ stamina = 10 damage = 40 armour_penetration = 50 + bullet_identifier = "huge bullet" speed = BULLET_SPEED_SNIPER @@ -65,14 +67,16 @@ damage = 10 stamina = 40 speed_mod = BULLET_SPEED_RUBBER_MOD + bullet_identifier = "huge rubber bullet" // 8x58mm caseless (SG-669) /obj/projectile/bullet/a858 name = "8x58mm caseless bullet" - damage = 35 - armour_penetration = 40 + damage = 40 + armour_penetration = 45 speed = BULLET_SPEED_SNIPER + bullet_identifier = "huge bullet" /obj/projectile/bullet/a858/trac name = "8x58mm tracker" @@ -88,6 +92,7 @@ stamina = 10 armour_penetration = 40 speed = BULLET_SPEED_RIFLE + bullet_identifier = "huge bullet" /obj/projectile/bullet/a300/trac name = ".300 Tracker" diff --git a/code/modules/spells/spell_types/rightandwrong.dm b/code/modules/spells/spell_types/rightandwrong.dm index a5c542c819ce..a47d8cf7c85b 100644 --- a/code/modules/spells/spell_types/rightandwrong.dm +++ b/code/modules/spells/spell_types/rightandwrong.dm @@ -11,7 +11,6 @@ GLOBAL_LIST_INIT(summoned_guns, list( /obj/item/gun/energy/laser, /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/ringneck, From c4eadebaf061e52ee1de159e232950eed6a1837d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 27 Jan 2025 18:40:18 -0600 Subject: [PATCH 179/330] Automatic changelog generation for PR #3838 [ci skip] --- html/changelogs/AutoChangeLog-pr-3838.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3838.yml diff --git a/html/changelogs/AutoChangeLog-pr-3838.yml b/html/changelogs/AutoChangeLog-pr-3838.yml new file mode 100644 index 000000000000..eb796e4d294c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3838.yml @@ -0,0 +1,7 @@ +author: Erikafox +changes: + - {rscadd: bullets now refuse to tell you their calibre} + - {rscdel: deagle} + - {balance: most cartridges have been lightly adjusted. please say something if + firing bullets feels weird.} +delete-after: true From 69cb7e7128d9de91b08ccba556e8c737ccf8d982 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 28 Jan 2025 01:02:28 +0000 Subject: [PATCH 180/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3838.yml | 7 ------- html/changelogs/AutoChangeLog-pr-4070.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4095.yml | 4 ---- html/changelogs/archive/2025-01.yml | 9 +++++++++ 4 files changed, 9 insertions(+), 15 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3838.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4070.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4095.yml diff --git a/html/changelogs/AutoChangeLog-pr-3838.yml b/html/changelogs/AutoChangeLog-pr-3838.yml deleted file mode 100644 index eb796e4d294c..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3838.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Erikafox -changes: - - {rscadd: bullets now refuse to tell you their calibre} - - {rscdel: deagle} - - {balance: most cartridges have been lightly adjusted. please say something if - firing bullets feels weird.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4070.yml b/html/changelogs/AutoChangeLog-pr-4070.yml deleted file mode 100644 index f14829bad13f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4070.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {rscadd: Cargo Beacons are free now.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4095.yml b/html/changelogs/AutoChangeLog-pr-4095.yml deleted file mode 100644 index ba43f71bd0fc..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4095.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Jedi-Toothpaste -changes: - - {bugfix: fixes misaligned floor decal} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index ba7e36903e75..be3e206a640a 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -279,3 +279,12 @@ - code_imp: applied some bugfixes to the interaction of examine_more with modular computers and laptops - rscadd: adds the ability to interact with a tablet using the examine_more function +2025-01-28: + Erikafox: + - rscadd: Cargo Beacons are free now. + - rscadd: bullets now refuse to tell you their calibre + - rscdel: deagle + - balance: most cartridges have been lightly adjusted. please say something if firing + bullets feels weird. + Jedi-Toothpaste: + - bugfix: fixes misaligned floor decal From ebf180b8c8a9b3c5d1c1f95d892b0eee30d2d40d Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Mon, 27 Jan 2025 17:06:54 -0800 Subject: [PATCH 181/330] Reduces the Komodo to atoms (#4086) ## About The Pull Request obliterates, annihilates, and/or eradicates all traces of the Komodo from the codebase. ## Why It's Good For The Game We have actual Hardliner ships now, so we can pull the trigger on the Komodo. Goodbye, don't come back. ## Changelog :cl: del: Launched the Komodo-class into a black hole /:cl: --- _maps/configs/syndicate_gorlex_komodo.json | 56 - .../syndicate/syndicate_gorlex_komodo.dmm | 6408 ----------------- 2 files changed, 6464 deletions(-) delete mode 100644 _maps/configs/syndicate_gorlex_komodo.json delete mode 100644 _maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm diff --git a/_maps/configs/syndicate_gorlex_komodo.json b/_maps/configs/syndicate_gorlex_komodo.json deleted file mode 100644 index c6bb9d806f7c..000000000000 --- a/_maps/configs/syndicate_gorlex_komodo.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "faction": "/datum/faction/syndicate/hardliners", - "prefix": "ISV", - "manufacturer": "Cybersun", - "namelists": [ - "GORLEX", - "NATURAL_AGGRESSIVE", - "BEASTS", - "WEAPONS" - ], - "map_name": "Komodo-class Warship", - "map_short_name": "Komodo-class", - "description": "An ICW-era design, the Komodo is a dedicated warship operated by the Gorlex Marauders. Contemporaries of the legendary Starfury-class, Komodos were the backbone of Gorlex and ACLF fleets during the ICW, and saw significant combat service – not always to a tragic end like their Cybersun companions. Contemporary examples often still bear the scars of ICW-period combat, and the dire financial straits of most Gorlex splinter factions means many of those survivors are in a state of poor repair. Despite the stresses of age, they remain capable ships, and often still have the heavier armament associated with their ICW deployments in storage.", - "tags": [ - "RP Focus", - "Combat", - "Engineering" - ], - "map_path": "_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm", - "map_id": "syndicate_gorlex_komodo", - "limit": 1, - "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/syndicate/captain/gorlex", - "officer": true, - "slots": 1 - }, - "Sergeant": { - "outfit": "/datum/outfit/job/syndicate/hos/gorlex", - "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 - }, - "Mechanic": { - "outfit": "/datum/outfit/job/syndicate/engineer/gorlex", - "slots": 1 - }, - "Trooper": { - "outfit": "/datum/outfit/job/syndicate/security/gorlex", - "slots": 3 - }, - "Deck Assistant": { - "outfit": "/datum/outfit/job/syndicate/assistant/gorlex", - "slots": 2 - } - }, - "enabled": false -} diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm deleted file mode 100644 index 87d2ff1c1838..000000000000 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ /dev/null @@ -1,6408 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ac" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/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" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"ae" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ah" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/portable_atmospherics/canister/hydrogen, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"as" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 9 - }, -/obj/structure/rack, -/obj/item/storage/toolbox/syndicate{ - name = "syndicate toolbox"; - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/geiger_counter{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/holosign_creator/atmos, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"aI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/mask/breath, -/obj/item/clothing/suit/space/syndicate/black/med, -/obj/item/clothing/head/helmet/space/syndicate/black/med, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/medical) -"aL" = ( -/obj/machinery/vending/custom{ - layer = 3.1 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"aO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -19; - pixel_y = 12 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/maintenance/port) -"aY" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/syndicateemblem/bottom/right{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"bm" = ( -/obj/machinery/door/window/eastright, -/turf/open/floor/mineral/plastitanium, -/area/ship/medical) -"bA" = ( -/obj/machinery/door/poddoor{ - id = "syndie_warship_cargo"; - name = "Cargo Hatch" - }, -/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 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/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" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"cn" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"cr" = ( -/obj/docking_port/stationary{ - dwidth = 5; - height = 15; - width = 30 - }, -/turf/template_noop, -/area/template_noop) -"cG" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing/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" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"dc" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/closet/crate/large, -/obj/machinery/portable_atmospherics/canister/hydrogen, -/turf/open/floor/plating/rust, -/area/ship/maintenance/starboard) -"dD" = ( -/obj/item/clothing/mask/gas/syndicate, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/structure/closet/syndicate{ - desc = "It's a basic storage unit."; - name = "uniform closet" - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/hardliners, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"dG" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 5 - }, -/obj/structure/railing{ - dir = 5; - layer = 2.9 - }, -/obj/structure/bed/dogbed, -/mob/living/simple_animal/hostile/asteroid/elite/broodmother_child{ - desc = "A little guy."; - environment_smash = 0; - faction = list("neutral","playerSyndicate"); - name = "Goliath" - }, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"dJ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/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 = "0-8" - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 19; - pixel_y = -12 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"dL" = ( -/obj/machinery/power/smes{ - charge = 5e+006 - }, -/obj/effect/turf_decal/industrial/radiation{ - dir = 8 - }, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"dR" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/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/mineral/plastitanium/red, -/area/ship/hallway/aft) -"dS" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 23; - pixel_y = -8 - }, -/obj/machinery/light/small/directional/east{ - pixel_y = 2 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"dV" = ( -/obj/effect/turf_decal/industrial/warning/cee, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/techfloor/corner, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"dY" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/structure/railing{ - dir = 6 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"ea" = ( -/obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 6; - id = "komodo_grid" - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/starboard) -"en" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/crew/dorm) -"eo" = ( -/obj/effect/turf_decal/trimline/transparent/bar/filled/line{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - pixel_x = 12; - pixel_y = 21 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"es" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/cargo) -"ew" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - 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{ - icon_state = "1-2" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/aft) -"ez" = ( -/obj/machinery/holopad/emergency/command, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"eK" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/generic{ - pixel_x = -12; - pixel_y = 7 - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/mask/gas/syndicate, -/obj/structure/closet/secure_closet/wall/directional/south{ - icon_state = "sec_wall"; - name = "Bridge Officer's Locker"; - req_access_txt = "57" - }, -/obj/item/melee/classic_baton/telescopic, -/obj/item/radio/headset/syndicate, -/obj/item/megaphone{ - pixel_x = -2 - }, -/obj/item/clothing/under/syndicate/cybersun/officer, -/obj/item/clothing/suit/cybersun_suit, -/obj/item/clothing/head/HoS/cybersun, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"eN" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 9 - }, -/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/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/item/toy/figure/cargotech{ - pixel_x = -8; - pixel_y = 15 - }, -/turf/open/floor/pod, -/area/ship/cargo) -"eR" = ( -/obj/effect/turf_decal/steeldecal/steel_decals_central4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"eW" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/blackbox_recorder, -/turf/open/floor/engine, -/area/ship/bridge) -"eX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"eY" = ( -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/button/door{ - dir = 8; - id = "syndiewarship_armorybay"; - name = "Weapon Hold"; - pixel_x = 25; - pixel_y = 7 - }, -/obj/effect/turf_decal/techfloor, -/obj/machinery/suit_storage_unit/inherit, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - pixel_y = -2 - }, -/obj/item/clothing/suit/space/hardsuit/syndi/hl, -/obj/item/clothing/mask/gas/syndicate, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"fd" = ( -/obj/effect/turf_decal/trimline/transparent/bar/filled/line, -/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/mineral/plastitanium, -/area/ship/crew/canteen) -"fn" = ( -/obj/machinery/button/door{ - dir = 8; - id = "Syndie_warship_lockdown"; - name = "Lockdown Control"; - pixel_x = 26 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/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" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"ft" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"fD" = ( -/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_switch{ - dir = 1; - pixel_x = 3; - pixel_y = -23 - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/bridge) -"fX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "Syndie_warship_lockdown"; - name = "Lockdown Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"fZ" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/glass{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/rack, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 2; - pixel_y = 8 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/storage/belt/utility{ - pixel_x = 3; - pixel_y = 5 - }, -/obj/item/storage/belt/utility{ - pixel_y = -3 - }, -/obj/item/clothing/shoes/magboots/syndie{ - pixel_x = -6; - pixel_y = -5 - }, -/obj/item/clothing/head/beret/eng/hazard{ - pixel_x = -5; - pixel_y = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"gk" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "syndiewarship_windows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/hallway/central) -"gr" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"gu" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/syndicateemblem/middle/middle{ - 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{ - icon_state = "4-8" - }, -/obj/effect/landmark/observer_start, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"gC" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 10 - }, -/obj/structure/table/reinforced, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/med_data/laptop{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 10 - }, -/turf/open/floor/pod, -/area/ship/cargo) -"gE" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security/armory) -"gM" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/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/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"gN" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/port) -"gQ" = ( -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/item/clothing/mask/gas/syndicate, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/closet/syndicate{ - desc = "It's a basic storage unit."; - name = "uniform closet" - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -23; - pixel_y = 4 - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/hardliners, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"hk" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"ho" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/transparent/bar/filled/line{ - dir = 9 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"hr" = ( -/obj/machinery/door/poddoor{ - dir = 8; - id = "Artillery2shutter" - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 1; - id = "komodo_starboard"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"hy" = ( -/obj/effect/decal/cleanable/food/flour, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"hJ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"hL" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/structure/railing{ - dir = 5 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"hO" = ( -/obj/machinery/cryopod{ - dir = 1 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/pod/dark, -/area/ship/crew/dorm) -"hV" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/cleanable/plasma, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"hY" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering) -"ib" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/holofloor/wood, -/area/ship/bridge) -"ic" = ( -/obj/structure/table/wood, -/obj/structure/bedsheetbin, -/obj/structure/railing, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/dorm) -"io" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/vomit/old, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/item/stack/ore/salvage/scrapbluespace, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"ip" = ( -/obj/machinery/computer/med_data/syndie, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"iH" = ( -/obj/machinery/computer/mech_bay_power_console{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/effect/decal/cleanable/blood/old{ - pixel_x = -14; - pixel_y = 6 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/cargo) -"iJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/closet/wall/directional/west{ - name = "Utility Closet" - }, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/holofloor/wood, -/area/ship/crew/dorm) -"iL" = ( -/obj/machinery/door/airlock/hatch{ - dir = 8; - name = "Port Maintenance" - }, -/obj/structure/barricade/wooden/crude, -/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/mineral/plastitanium/red, -/area/ship/maintenance/port) -"iT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs, -/area/ship/bridge) -"jh" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/closet/emcloset/wall/directional/west, -/obj/machinery/advanced_airlock_controller{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/ship/engineering) -"ji" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil{ - icon_state = "streak3" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"jn" = ( -/obj/machinery/computer/secure_data/syndie{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"jt" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/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 = "4-8" - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/aft) -"jv" = ( -/obj/machinery/door/airlock/hatch{ - dir = 8; - name = "Aft Hallway" - }, -/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 = 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/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 = "Exosuit Bay" - }, -/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) -"jD" = ( -/obj/effect/spawner/random/salvage_capacitor, -/obj/effect/decal/cleanable/shreds, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"jE" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "warshipbridge"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"jL" = ( -/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-4" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"jW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/mineral/plastitanium, -/area/ship/medical) -"ke" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"kh" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/obj/structure/closet/crate/engineering, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/vending_refill/custom, -/obj/item/vending_refill/custom, -/obj/item/stack/sheet/mineral/plastitanium{ - amount = 30; - pixel_x = 4; - pixel_y = -3 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/aft) -"km" = ( -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/techfloor, -/obj/structure/cable, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/syndi/hl, -/obj/item/clothing/mask/gas/syndicate, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"ko" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/oil, -/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, -/area/ship/engineering) -"kq" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "syndiewarship_windows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/medical) -"kr" = ( -/obj/item/stack/ore/salvage/scrapgold, -/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; - id = "komodo_grid" - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/hallway/central) -"kI" = ( -/turf/open/floor/engine, -/area/ship/bridge) -"kL" = ( -/obj/structure/table/wood, -/obj/structure/railing, -/obj/item/paicard{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/paicard{ - pixel_x = 1; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/dorm) -"kM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance/port) -"lb" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"lg" = ( -/obj/machinery/door/window/southleft{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/transparent/bar/filled/corner, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"lj" = ( -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/decal/cleanable/dirt, -/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/mineral/plastitanium/red, -/area/ship/hallway/central) -"lm" = ( -/obj/structure/salvageable/computer{ - dir = 8 - }, -/turf/open/floor/circuit/green/off, -/area/ship/maintenance/starboard) -"ls" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/steeldecal/steel_decals_central4, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"lt" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/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/airalarm/directional/east, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"lu" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"lv" = ( -/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 = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"lz" = ( -/obj/structure/frame/computer{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"lA" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing{ - dir = 4; - layer = 2.8 - }, -/turf/open/floor/pod/dark, -/area/ship/crew/dorm) -"lY" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals1{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"mp" = ( -/obj/effect/decal/cleanable/plasma, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/port_gen/pacman, -/obj/machinery/light/dim/directional/east, -/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, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"mC" = ( -/obj/structure/railing, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/decal/cleanable/robot_debris, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"mE" = ( -/obj/effect/decal/cleanable/glass{ - dir = 8 - }, -/turf/open/floor/circuit/green/off, -/area/ship/maintenance/port) -"mI" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/layer_manifold, -/turf/open/floor/plasteel, -/area/ship/engineering) -"mP" = ( -/obj/machinery/power/smes{ - charge = 5e+006 - }, -/obj/effect/turf_decal/industrial/radiation{ - dir = 8 - }, -/obj/structure/cable, -/obj/item/toy/figure/engineer{ - pixel_x = 9; - pixel_y = 14 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"mX" = ( -/obj/machinery/door/airlock/hatch, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/hallway/aft) -"mY" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - 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{ - icon_state = "1-2" - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -23; - pixel_y = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"mZ" = ( -/obj/item/kirbyplants/random, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 4; - pixel_y = -23 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/aft) -"nb" = ( -/obj/effect/turf_decal/techfloor, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/pickaxe, -/obj/item/pickaxe, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/obj/structure/closet/wall/directional/south{ - name = "Mining equipment" - }, -/obj/item/gps/mining, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"nh" = ( -/obj/structure/salvageable/server, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/button/shieldwallgen{ - id = "komodo_port"; - pixel_x = 6; - pixel_y = 24 - }, -/obj/machinery/button/door{ - id = "Artillery1shutter"; - name = "Artillery Hatch"; - pixel_x = -4; - pixel_y = 26 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/maintenance/port) -"nq" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 9 - }, -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance/two, -/obj/effect/turf_decal/box, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/turf/open/floor/pod, -/area/ship/cargo) -"nv" = ( -/obj/machinery/door/poddoor{ - dir = 8; - id = "Artillery2shutter" - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - id = "komodo_starboard"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"nz" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"nA" = ( -/obj/structure/chair/office{ - dir = 1; - name = "tactical swivel chair" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"nD" = ( -/obj/effect/turf_decal/industrial/warning, -/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/mineral/plastitanium/red, -/area/ship/security/armory) -"nI" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/oil{ - icon_state = "streak4" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"nU" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) -"nV" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/machinery/autolathe/hacked, -/obj/item/stack/sheet/plasteel/twenty{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/item/stack/sheet/glass/twenty{ - pixel_x = 6 - }, -/obj/item/stack/sheet/metal/ten, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"nX" = ( -/obj/effect/decal/cleanable/dirt, -/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/mineral/plastitanium/red, -/area/ship/hallway/central) -"ok" = ( -/obj/machinery/vending/cigarette/syndicate, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"ot" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"ox" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/structure/closet/firecloset/wall/directional/east, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"oO" = ( -/obj/machinery/door/airlock/hatch{ - name = "Captain's Office"; - req_access_txt = "20" - }, -/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 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"pb" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/robot_debris, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ship/maintenance/starboard) -"ph" = ( -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 4; - id = "komodo_cargo"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/door/poddoor{ - id = "syndie_warship_cargo"; - name = "Cargo Hatch" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"po" = ( -/obj/structure/flora/grass/jungle/b, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/grass, -/area/ship/crew/canteen) -"pA" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"pJ" = ( -/obj/machinery/power/smes/shuttle/precharged, -/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 = 8; - id = "warship_engines"; - name = "Thruster Blast Door" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"pN" = ( -/obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 9; - id = "komodo_grid" - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering) -"qf" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"qk" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "syndiewarship_windows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"qm" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/industrial/fire, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/trash/syndi_cakes{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/t_scanner{ - pixel_x = -2; - pixel_y = 12 - }, -/obj/machinery/light/directional/north, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/pod/dark, -/area/ship/security/armory) -"qz" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning/corner, -/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/mineral/plastitanium/red, -/area/ship/hallway/central) -"qB" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"qD" = ( -/obj/effect/decal/cleanable/dirt, -/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/mineral/plastitanium, -/area/ship/crew/canteen) -"qF" = ( -/obj/machinery/power/smes/shuttle/precharged, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/plasma/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/door/poddoor{ - dir = 8; - id = "warship_engines"; - name = "Thruster Blast Door" - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"qG" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/syndicateemblem/middle/right{ - dir = 8 - }, -/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, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/dorm) -"rg" = ( -/obj/item/cautery, -/obj/structure/table/reinforced, -/obj/item/healthanalyzer, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/ship/medical) -"rm" = ( -/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 = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"rv" = ( -/turf/closed/wall/r_wall/syndicate/nodiagonal, -/area/ship/medical) -"rE" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/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" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"rI" = ( -/obj/structure/table/reinforced, -/obj/item/toy/cards/deck/syndicate, -/obj/effect/turf_decal/trimline/transparent/bar/filled/line{ - dir = 10 - }, -/obj/item/spacecash/bundle/c1000{ - pixel_x = 5; - pixel_y = 11 - }, -/obj/item/spacecash/bundle/c1000{ - pixel_x = 3; - pixel_y = 8 - }, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = -7; - pixel_y = 3 - }, -/obj/machinery/light_switch{ - dir = 1; - 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_x = -8; - pixel_y = 5 - }, -/obj/machinery/light/directional/south, -/obj/machinery/fax/syndicate, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"rS" = ( -/obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 5; - id = "komodo_grid" - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/port) -"rX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/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" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"rZ" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/button/door{ - dir = 4; - id = "warship_engines"; - name = "Engine shutters"; - pixel_x = -24 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/engineering) -"si" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 1; - id = "warshipbridge"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"sn" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "syndiewarship_windows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"sq" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering) -"sy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/transparent/bar/filled/line{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"sF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/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/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"sG" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"sQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/bed{ - dir = 8 - }, -/obj/item/bedsheet/black{ - dir = 8 - }, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/holofloor/wood, -/area/ship/crew/dorm) -"sS" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light/dim/directional/north, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"sV" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing/corner, -/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/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"sY" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 6 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cabinet/fireaxe{ - dir = 8; - pixel_x = 27 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"tf" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/security/armory) -"tn" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/structure/closet/crate, -/obj/effect/spawner/random/clothing/costume, -/obj/item/storage/box/emptysandbags, -/obj/effect/spawner/random/maintenance, -/obj/machinery/button/door{ - dir = 4; - id = "syndie_mechbay"; - name = "Exosuit Bay Door"; - pixel_x = -24 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"tr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/closet/crate/trashcart, -/obj/item/trash/cheesie, -/obj/item/trash/can/food/peaches/maint, -/obj/item/trash/can/food/beans{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/item/trash/energybar, -/obj/item/trash/popcorn, -/obj/item/circuitboard/machine/rdserver, -/obj/item/trash/can/food/beans{ - pixel_x = 4; - pixel_y = -5 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"tv" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/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/mineral/plastitanium/red, -/area/ship/hallway/central) -"tC" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"tD" = ( -/obj/machinery/button/door{ - dir = 8; - id = "syndie_mechbay"; - name = "Exosuit Bay Door"; - pixel_x = 24 - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/cargo) -"tF" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 6 - }, -/obj/structure/railing{ - dir = 4 - }, -/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 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"tT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/engineering) -"ub" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 6 - }, -/obj/item/kirbyplants/random, -/obj/effect/decal/cleanable/wrapping, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/obj/structure/railing{ - dir = 6 - }, -/obj/machinery/firealarm/directional/west{ - pixel_y = -2 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"ue" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/industrial/fire/corner, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/glasses/night{ - pixel_y = 6 - }, -/obj/item/clothing/glasses/night{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/item/clothing/glasses/night{ - pixel_x = -2; - pixel_y = -4 - }, -/obj/machinery/airalarm/directional/west, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/pod/dark, -/area/ship/security/armory) -"uh" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/techfloor, -/obj/structure/sign/poster/official/moth/delam{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"ul" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/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, -/area/ship/engineering) -"us" = ( -/obj/structure/bookcase/random/fiction, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - pixel_x = -6; - pixel_y = 23 - }, -/obj/machinery/firealarm/directional/east{ - pixel_y = -8 - }, -/turf/open/floor/holofloor/wood, -/area/ship/crew/dorm) -"uG" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - 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/mineral/plastitanium/red, -/area/ship/hallway/central) -"uJ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/cargo) -"uS" = ( -/obj/effect/decal/cleanable/dirt, -/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/pod, -/area/ship/cargo) -"uV" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine{ - pixel_x = -16; - pixel_y = 4 - }, -/obj/item/mecha_parts/mecha_equipment/repair_droid, -/obj/structure/railing, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/firealarm/directional/east{ - pixel_y = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"vd" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"vl" = ( -/obj/item/stack/ore/salvage/scrapplasma/five, -/obj/effect/decal/cleanable/ash/large, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"vp" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/secure_closet/wall/directional/west{ - icon_state = "secure_wall"; - name = "Peacekeeping Locker"; - req_access_txt = "1" - }, -/obj/item/gun/energy/disabler, -/obj/item/gun/energy/disabler, -/obj/item/storage/box/handcuffs, -/obj/item/holosign_creator/security, -/obj/item/megaphone/sec, -/obj/item/restraints/legcuffs/bola/energy, -/turf/open/floor/pod/dark, -/area/ship/security/armory) -"vs" = ( -/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 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/bridge) -"vx" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/plastitanium, -/area/ship/medical) -"vA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/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/cable{ - icon_state = "1-2" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"vF" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/structure/cable/yellow, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer2, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/engineering) -"vI" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 10 - }, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"vL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/office{ - dir = 1; - name = "tactical swivel chair" - }, -/turf/open/floor/pod, -/area/ship/cargo) -"vT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/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/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"vX" = ( -/obj/machinery/door/poddoor/shutters{ - dir = 8; - id = "syndiewarship_armorybay"; - name = "Weapon Hold" - }, -/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 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"vY" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/item/cigbutt{ - anchored = 1; - color = "#808080"; - layer = 2; - pixel_x = -4; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/fakelattice, -/obj/structure/railing, -/turf/open/floor/plasteel/elevatorshaft, -/area/ship/hallway/aft) -"wd" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "engine fuel pump" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"wk" = ( -/obj/machinery/computer/operating{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/ship/medical) -"wE" = ( -/obj/structure/table/reinforced, -/obj/machinery/light/directional/east, -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"wG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/industrial/shutoff{ - dir = 8 - }, -/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" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/steeldecal/steel_decals4{ - dir = 8 - }, -/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 = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"wR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"wT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"xd" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"xj" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"xr" = ( -/obj/machinery/cryopod{ - dir = 1 - }, -/obj/structure/railing{ - dir = 4; - layer = 2.8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/computer/cryopod/directional/east, -/obj/effect/decal/cleanable/robot_debris, -/turf/open/floor/pod/dark, -/area/ship/crew/dorm) -"xF" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"xH" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/top/middle{ - 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{ - icon_state = "4-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"xJ" = ( -/obj/structure/curtain, -/obj/item/soap/syndie, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/shower{ - pixel_y = 14 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/hallway/aft) -"xM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/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/techmaint, -/area/ship/engineering) -"xV" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/generic, -/obj/item/stack/cable_coil/orange{ - pixel_x = 6; - pixel_y = -6 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/radio/intercom/directional/south, -/obj/effect/decal/cleanable/robot_debris/old, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"xW" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"yb" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/orange/visible, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8; - name = "Air to Distro"; - target_pressure = 500 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"yd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/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/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"yg" = ( -/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/yellow{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"yk" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"yp" = ( -/obj/structure/salvageable/computer{ - dir = 8 - }, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/circuit/green/off, -/area/ship/maintenance/port) -"ys" = ( -/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/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/structure/closet/wall/orange/directional/east{ - name = "fuel locker" - }, -/obj/item/stack/sheet/mineral/plasma/five, -/obj/item/stack/sheet/mineral/plasma/five, -/obj/item/stack/sheet/mineral/plasma/five, -/obj/item/stack/sheet/mineral/plasma/five, -/turf/open/floor/plating, -/area/ship/engineering) -"yB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering) -"yJ" = ( -/obj/structure/frame/machine, -/obj/structure/grille/broken, -/obj/structure/spider/stickyweb, -/obj/item/toy/plush/spider, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"yO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 23; - pixel_y = 12 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/medical) -"yV" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"zw" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"zx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/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/mineral/plastitanium/red, -/area/ship/hallway/central) -"zP" = ( -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/syndicate/black/engie, -/obj/item/clothing/head/helmet/space/syndicate/black/engie, -/obj/effect/turf_decal/techfloor, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"zZ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/syndicateemblem/middle/left{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Aa" = ( -/obj/machinery/door/airlock/hatch{ - name = "Canteen" - }, -/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/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/crew/canteen) -"Ab" = ( -/obj/structure/railing{ - 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/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Ad" = ( -/obj/structure/table/reinforced, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/transparent/bar/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/reagent_containers/glass/rag{ - pixel_x = -5; - pixel_y = 12 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"Aj" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/crew/canteen) -"Al" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 8; - id = "warshipbridge"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"AS" = ( -/obj/effect/turf_decal/industrial/warning, -/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/machinery/light/directional/south, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"AV" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "syndiewarship_windows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"AY" = ( -/obj/structure/sign/syndicate, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) -"AZ" = ( -/obj/structure/closet/toolcloset, -/obj/structure/railing{ - dir = 4; - layer = 2.8 - }, -/obj/effect/decal/cleanable/oil{ - icon_state = "streak5" - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Bd" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Bx" = ( -/obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 10; - id = "komodo_grid" - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/crew/dorm) -"BK" = ( -/obj/effect/turf_decal/box, -/obj/machinery/shower{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/medical) -"BP" = ( -/obj/structure/sign/syndicate, -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/starboard) -"BQ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"BR" = ( -/obj/machinery/door/airlock/hatch{ - dir = 8; - name = "Engineering" - }, -/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 = 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/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 - }, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing/corner, -/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/mineral/plastitanium/red, -/area/ship/hallway/central) -"Ce" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/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 = "4-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/aft) -"Ci" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/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/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/aft) -"Cj" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 6 - }, -/obj/structure/railing/corner{ - 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 = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"CB" = ( -/obj/item/stack/ore/salvage/scraptitanium, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ship/maintenance/starboard) -"CG" = ( -/obj/effect/decal/cleanable/plasma, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"CL" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/dorm) -"CM" = ( -/turf/template_noop, -/area/template_noop) -"Dd" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/central) -"Du" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/closet/firecloset/wall/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Eb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"El" = ( -/obj/structure/filingcabinet, -/obj/item/folder/documents/syndicate/red, -/turf/open/floor/engine, -/area/ship/bridge) -"Em" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"Eo" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"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" - }, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/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/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) -"EF" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - 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{ - icon_state = "1-2" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"EJ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"EL" = ( -/obj/machinery/power/ship_gravity, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"EN" = ( -/obj/machinery/syndicatebomb/self_destruct{ - anchored = 1 - }, -/obj/machinery/door/window/brigdoor/northright{ - dir = 4; - req_access_txt = "19" - }, -/obj/machinery/light/dim/directional/west{ - brightness = 6; - bulb_colour = "#FF3232"; - bulb_power = 0.4 - }, -/turf/open/floor/circuit/red, -/area/ship/bridge) -"Fe" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/top/left{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"FB" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"FL" = ( -/obj/machinery/computer/security{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/wideband/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"FO" = ( -/obj/effect/decal/cleanable/dirt, -/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/techmaint, -/area/ship/engineering) -"FV" = ( -/obj/effect/spawner/random/salvage_scanning, -/obj/effect/decal/cleanable/shreds{ - pixel_y = 14 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Gh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -19; - pixel_y = -11 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/maintenance/starboard) -"Gj" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Gl" = ( -/obj/machinery/door/poddoor{ - dir = 8; - id = "Artillery1shutter" - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 1; - id = "komodo_port"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/docking_port/mobile{ - dir = 8; - launch_status = 0; - preferred_direction = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"Gs" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - dir = 8; - icon = 'icons/obj/stairs.dmi' - }, -/area/ship/maintenance/starboard) -"GD" = ( -/obj/item/clothing/mask/gas/syndicate, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/item/clothing/mask/balaclava, -/obj/structure/closet/syndicate{ - desc = "It's a basic storage unit."; - name = "uniform closet" - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/hardliners, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"GJ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/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/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"GN" = ( -/obj/machinery/modular_computer/console/preset/command{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"GS" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Hc" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) -"Hf" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/item/paper_bin{ - pixel_x = -6 - }, -/obj/item/clipboard{ - pixel_x = 5 - }, -/obj/item/folder/red{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/item/pen{ - pixel_x = -6; - pixel_y = 1 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Ho" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance/port) -"Hr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - pixel_x = -4; - pixel_y = 7 - }, -/obj/item/paper_bin{ - pixel_x = 4 - }, -/obj/item/pen/red{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/item/clothing/mask/gas/syndicate{ - pixel_x = -4 - }, -/obj/item/areaeditor/shuttle{ - pixel_x = -1; - pixel_y = -1 - }, -/obj/machinery/firealarm/directional/east, -/obj/item/codespeak_manual{ - pixel_x = 6; - pixel_y = 5 - }, -/turf/open/floor/holofloor/wood, -/area/ship/bridge) -"Hs" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/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/directional/east, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Ht" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/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 = "1-2" - }, -/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 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/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" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"HI" = ( -/obj/machinery/computer/cargo{ - layer = 3 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/pod, -/area/ship/cargo) -"HQ" = ( -/obj/machinery/light/directional/south, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/item/kirbyplants/random{ - pixel_x = 4 - }, -/turf/open/floor/pod, -/area/ship/cargo) -"HU" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/decal/cleanable/dirt/dust, -/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 = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/sign/poster/syndicate/random{ - pixel_y = 32 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/aft) -"Ie" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/techfloor, -/obj/item/clothing/suit/space/hardsuit/syndi/hl, -/obj/item/clothing/mask/gas/syndicate, -/obj/machinery/light/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"If" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Il" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/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/mineral/plastitanium/red, -/area/ship/hallway/central) -"Im" = ( -/obj/machinery/button/door{ - dir = 1; - id = "syndiewarship_armorybay"; - name = "Weapon Hold"; - pixel_y = -26; - req_access_txt = "3" - }, -/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/mineral/plastitanium, -/area/ship/security/armory) -"It" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/generic, -/obj/structure/chair/comfy/shuttle{ - dir = 1; - name = "tactical chair" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"IO" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"Ji" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced, -/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/item/lighter{ - pixel_x = -7; - pixel_y = -4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"Jp" = ( -/obj/structure/sink{ - pixel_y = 16 - }, -/obj/structure/mirror{ - layer = 2.8; - pixel_y = 30 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/hallway/aft) -"Jt" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/recharger{ - pixel_x = 7; - pixel_y = 1 - }, -/obj/machinery/light/directional/north, -/obj/item/clipboard{ - pixel_x = -5 - }, -/obj/item/taperecorder{ - pixel_x = -3 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"JJ" = ( -/obj/structure/barricade/wooden, -/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/hatch{ - dir = 8; - name = "Starboard Maintenance" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/maintenance/starboard) -"JN" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - dir = 8; - icon = 'icons/obj/stairs.dmi' - }, -/area/ship/maintenance/port) -"JO" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"JQ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/holofloor/wood, -/area/ship/bridge) -"JV" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "Syndie_warship_lockdown"; - name = "Lockdown Shutters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"JX" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/pod/dark, -/area/ship/crew/dorm) -"Ko" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light/floor, -/obj/machinery/button/shieldwallgen{ - dir = 4; - id = "komodo_cargo"; - pixel_x = -24; - pixel_y = -6 - }, -/obj/machinery/button/door{ - dir = 4; - id = "syndie_warship_cargo"; - name = "cargohold shutters"; - pixel_x = -26; - pixel_y = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Kq" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/structure/chair/comfy/shuttle{ - name = "Operations" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Kz" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/bottom/left{ - dir = 8 - }, -/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" - }, -/obj/machinery/cell_charger, -/obj/structure/railing, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/high, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"KT" = ( -/obj/structure/closet/crate{ - name = "food crate" - }, -/obj/item/storage/box/donkpockets{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/storage/box/donkpockets{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/aft) -"Lb" = ( -/obj/item/clothing/neck/scarf/red, -/obj/item/clothing/mask/bandana/skull, -/obj/item/clothing/mask/gas/syndicate, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/structure/closet/syndicate{ - desc = "It's a basic storage unit."; - name = "uniform closet" - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/hardliners/jumpsuit, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"Lj" = ( -/obj/item/scalpel{ - pixel_x = 10; - pixel_y = 6 - }, -/obj/structure/table/reinforced, -/obj/item/hemostat, -/obj/machinery/light/directional/west, -/obj/effect/spawner/random/medical/prosthetic{ - pixel_x = 6 - }, -/obj/effect/spawner/random/medical/prosthetic{ - pixel_x = -6 - }, -/turf/open/floor/pod/dark, -/area/ship/medical) -"Lk" = ( -/obj/structure/railing/corner, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Lo" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/bottom/middle{ - 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{ - icon_state = "4-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"LP" = ( -/obj/structure/table/reinforced, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg{ - pixel_y = -6 - }, -/obj/structure/railing, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"LV" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/syndicateemblem/top/right{ - dir = 8 - }, -/obj/structure/sign/poster/syndicate/random{ - pixel_y = -32 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Mb" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/effect/turf_decal/trimline/transparent/bar/filled/line{ - dir = 6 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"Ml" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/computer/monitor, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"ME" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "warshipbridge"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"MF" = ( -/obj/effect/turf_decal/trimline/transparent/bar/filled/line{ - dir = 6 - }, -/obj/structure/closet/wall/red/directional/south{ - name = "Bartender's locker" - }, -/obj/item/clothing/shoes/cowboy/black, -/obj/item/storage/belt/military/snack, -/obj/item/storage/pill_bottle/lsd{ - pixel_x = 9; - pixel_y = 5 - }, -/obj/item/clothing/accessory/waistcoat, -/obj/item/reagent_containers/food/drinks/shaker{ - pixel_x = -9; - pixel_y = 2 - }, -/obj/item/clothing/under/suit/waiter/syndicate, -/obj/machinery/vending/boozeomat/syndicate_access{ - density = 0; - pixel_x = 32 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"MG" = ( -/obj/machinery/door/airlock/hatch{ - 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 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"MO" = ( -/obj/structure/window/plasma/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/door/poddoor{ - dir = 8; - id = "warship_engines"; - name = "Thruster Blast Door" - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, -/turf/open/floor/plating, -/area/ship/engineering) -"MV" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/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/mineral/plastitanium/red, -/area/ship/security/armory) -"Nd" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Nf" = ( -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/mask/gas/syndicate, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/structure/closet/syndicate{ - desc = "It's a basic storage unit."; - name = "uniform closet" - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/hardliners/jumpsuit, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"Ni" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/closet/secure_closet/wall/directional/west{ - icon_state = "sec_wall"; - name = "Armor Locker"; - req_access_txt = "1" - }, -/obj/item/clothing/suit/armor/hardliners/jacket, -/obj/item/clothing/suit/armor/hardliners/jacket, -/obj/item/clothing/suit/armor/hardliners/jacket, -/obj/item/clothing/suit/armor/hardliners, -/obj/item/clothing/suit/armor/hardliners, -/obj/item/clothing/suit/armor/hardliners, -/obj/item/clothing/head/helmet/hardliners, -/obj/item/clothing/head/helmet/hardliners, -/obj/item/clothing/head/helmet/hardliners, -/obj/item/storage/belt/security/webbing/hardliners, -/obj/item/storage/belt/security/webbing/hardliners, -/obj/item/storage/belt/security/webbing/hardliners, -/obj/item/clothing/glasses/hud/security/sunglasses/hardliners, -/obj/item/clothing/glasses/hud/security/sunglasses/hardliners, -/obj/item/clothing/glasses/hud/security/sunglasses/hardliners, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"Nj" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/transparent/bar/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"Nq" = ( -/obj/machinery/mech_bay_recharge_port{ - dir = 2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/cargo) -"ND" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 8; - piping_layer = 2 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"NI" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 7; - pixel_y = 1 - }, -/obj/item/flashlight/lamp{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/pen/fountain{ - pixel_x = 7; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/dorm) -"Oe" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/table/reinforced, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/north, -/obj/machinery/turretid/ship{ - id = "komodo_grid" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Om" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"Oq" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"OP" = ( -/obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 10; - id = "komodo_grid" - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering) -"OQ" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/starboard) -"OV" = ( -/obj/machinery/door/airlock/hatch{ - name = "Infirmary" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/mineral/plastitanium, -/area/ship/medical) -"Pl" = ( -/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/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Pp" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/robot_debris/limb, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Pt" = ( -/obj/structure/window/plasma/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 8; - id = "warship_engines"; - name = "Thruster Blast Door" - }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, -/turf/open/floor/plating, -/area/ship/engineering) -"PA" = ( -/obj/structure/mecha_wreckage/touro, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/cargo) -"PE" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/transparent/bar/filled/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/vomit/old{ - pixel_x = 9; - pixel_y = -1 - }, -/obj/machinery/airalarm/directional/west, -/obj/structure/chair/comfy/red, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"PG" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/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" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"PN" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"PO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/steeldecal/steel_decals1{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"PP" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/ship/maintenance/starboard) -"PS" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -19; - pixel_y = -11 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"PV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/ripped{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance/starboard) -"PX" = ( -/obj/effect/decal/cleanable/plasma, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"PZ" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/wrapping, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Qb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"Qh" = ( -/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/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/grunge{ - dir = 8; - name = "Bridge"; - req_access_txt = "19" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"QC" = ( -/obj/structure/table/reinforced, -/obj/machinery/chem_dispenser/drinks{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"QI" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/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" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"QW" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/spawner/random/salvage_manipulator, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/ship/maintenance/starboard) -"QZ" = ( -/obj/effect/turf_decal/steeldecal/steel_decals9{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/caution, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Rf" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/rust, -/area/ship/maintenance/port) -"Rk" = ( -/obj/structure/sign/syndicate, -/turf/closed/wall/mineral/plastitanium, -/area/ship/cargo) -"Rl" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 9 - }, -/obj/structure/railing{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Ro" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/reinforced, -/obj/item/clipboard, -/obj/item/reagent_containers/hypospray/medipen{ - pixel_y = 6 - }, -/obj/item/reagent_containers/hypospray/medipen, -/obj/item/reagent_containers/hypospray/medipen{ - pixel_y = -6 - }, -/obj/item/reagent_containers/glass/bottle/charcoal, -/obj/item/reagent_containers/glass/bottle/formaldehyde{ - pixel_x = 4; - pixel_y = 1 - }, -/obj/item/reagent_containers/hypospray/medipen/pumpup{ - pixel_x = -1; - pixel_y = -4 - }, -/obj/item/reagent_containers/hypospray/medipen/pumpup{ - pixel_x = 3 - }, -/obj/structure/sign/departments/medbay/alt{ - pixel_y = -32 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/medical) -"Rs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance/starboard) -"RK" = ( -/obj/structure/bed{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/bedsheet/rd{ - dir = 8 - }, -/obj/structure/curtain{ - color = "#5c131b" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/under/syndicate/bloodred/sleepytime, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"RR" = ( -/obj/machinery/door/poddoor{ - dir = 8; - id = "Artillery1shutter" - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - id = "komodo_port"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"RS" = ( -/obj/effect/turf_decal/steeldecal/steel_decals8{ - dir = 8 - }, -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/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 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/grunge{ - dir = 8; - name = "Bridge"; - req_access_txt = "19" - }, -/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/dark, -/area/ship/bridge) -"Sd" = ( -/obj/structure/mirror{ - pixel_x = 28 - }, -/obj/structure/sink/kitchen{ - dir = 8 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ship/medical) -"Sv" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/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 = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"To" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"Tr" = ( -/obj/machinery/door/poddoor/shutters{ - dir = 8; - id = "syndiewarship_armorybay"; - name = "Weapon Hold" - }, -/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/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"TB" = ( -/obj/machinery/door/airlock/hatch, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/aft) -"TE" = ( -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"TK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"TQ" = ( -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/syndicate/black/engie, -/obj/item/clothing/head/helmet/space/syndicate/black/engie, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 23; - pixel_y = -4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"TR" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/medical) -"TU" = ( -/obj/structure/railing/corner{ - layer = 2.8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/crew/dorm) -"Uh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light/dim/directional/west, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Un" = ( -/obj/effect/turf_decal/industrial/warning, -/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 = "1-2" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Uy" = ( -/obj/effect/turf_decal/trimline/transparent/bar/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen) -"UF" = ( -/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/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 23; - pixel_y = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/aft) -"UK" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - dir = 8; - id = "Syndie_warship_lockdown"; - name = "Lockdown Control"; - pixel_x = -6; - pixel_y = 6 - }, -/obj/machinery/button/door{ - dir = 8; - id = "syndie_warship_cargo"; - name = "cargohold shutters"; - pixel_x = 6; - pixel_y = 6 - }, -/obj/machinery/button/door{ - dir = 8; - id = "syndiewarship_windows"; - name = "Window Control"; - pixel_y = -4 - }, -/obj/item/desk_flag{ - pixel_x = -10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"UP" = ( -/obj/machinery/door/airlock/hatch{ - dir = 8; - name = "Vault"; - req_access_txt = "19"; - security_level = 6 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ship/bridge) -"UT" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/official/moth/smokey{ - pixel_y = -32 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/hallway/aft) -"Vc" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/medical) -"Vj" = ( -/obj/structure/table/optable, -/obj/machinery/defibrillator_mount/loaded{ - pixel_x = -26 - }, -/turf/open/floor/pod/dark, -/area/ship/medical) -"Vk" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/cargo) -"Vl" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"Vq" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/bodybags{ - pixel_y = 6 - }, -/obj/item/stack/medical/gauze, -/obj/item/stack/medical/ointment, -/obj/item/stack/medical/bruise_pack{ - pixel_x = 6 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/item/storage/firstaid/brute{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = -7; - pixel_y = -3 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/pod/dark, -/area/ship/medical) -"VK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/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-8" - }, -/turf/open/floor/holofloor/wood, -/area/ship/crew/dorm) -"VN" = ( -/obj/machinery/door/airlock/hatch{ - dir = 8; - name = "Dormitory" - }, -/obj/effect/decal/cleanable/dirt/dust, -/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/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"VR" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/aft) -"VU" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"VZ" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/oil{ - icon_state = "gib7" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/port_gen/pacman, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"We" = ( -/obj/machinery/door/airlock/hatch{ - dir = 8; - 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/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"Wl" = ( -/obj/machinery/door/poddoor{ - id = "syndie_warship_cargo"; - name = "Cargo Hatch" - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 8; - id = "komodo_cargo"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"Wq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/bed{ - dir = 8 - }, -/obj/item/bedsheet/black{ - dir = 8 - }, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/under/dress/blacktango, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/item/trash/popcorn, -/turf/open/floor/holofloor/wood, -/area/ship/crew/dorm) -"Wu" = ( -/obj/effect/turf_decal/industrial/warning/cee{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"WA" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 6 - }, -/obj/item/pen/red{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/effect/turf_decal/techfloor, -/obj/item/clipboard{ - pixel_x = -5 - }, -/obj/item/taperecorder{ - pixel_x = -3 - }, -/obj/item/clothing/glasses/hud/security/night{ - pixel_x = -4; - pixel_y = -6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"WD" = ( -/obj/structure/table/reinforced, -/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, -/obj/machinery/computer/helm/viewscreen/directional/north, -/turf/open/floor/pod, -/area/ship/cargo) -"WK" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - dir = 8; - id = "warshipbridge"; - name = "Bridge Window"; - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = -6; - pixel_y = 9 - }, -/obj/item/gps{ - pixel_x = 6; - pixel_y = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"WL" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"WQ" = ( -/obj/structure/railing, -/obj/item/clothing/mask/gas/syndicate, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/item/clothing/mask/balaclava, -/obj/structure/closet/syndicate{ - desc = "It's a basic storage unit."; - name = "uniform closet" - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/hardliners, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"WR" = ( -/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/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Xd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/sign/poster/syndicate/random{ - pixel_x = 32 - }, -/turf/open/floor/pod, -/area/ship/cargo) -"Xf" = ( -/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/item/radio/intercom/directional/north{ - pixel_x = 6 - }, -/obj/machinery/light_switch{ - pixel_x = -8; - pixel_y = 22 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Xp" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering) -"Xr" = ( -/obj/structure/salvageable/machine, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"Xs" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6{ - dir = 8 - }, -/obj/structure/cable/yellow, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/layer2{ - dir = 1; - name = "Input to Air" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Xu" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 23; - pixel_y = 16 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/hallway/central) -"XI" = ( -/obj/machinery/iv_drip, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/freezer/blood, -/turf/open/floor/pod/dark, -/area/ship/medical) -"XS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/bridge) -"XT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/bookcase/random/fiction, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/holofloor/wood, -/area/ship/bridge) -"Yb" = ( -/obj/machinery/power/shuttle/engine/electric, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Yk" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - dir = 4 - }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) -"Yn" = ( -/obj/machinery/power/shuttle/engine/fire, -/turf/open/floor/plating, -/area/ship/engineering) -"Yp" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "Syndie_warship_lockdown"; - name = "Lockdown Shutters" - }, -/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/grid, -/area/ship/hallway/central) -"YP" = ( -/obj/item/stack/ore/salvage/scrapmetal/ten, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"YQ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner, -/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/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"YR" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/item/flashlight/lamp{ - pixel_x = -8; - pixel_y = 11 - }, -/obj/item/phone{ - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/storage/fancy/nugget_box{ - pixel_x = 6; - pixel_y = -7 - }, -/obj/item/trash/can{ - pixel_x = -8; - pixel_y = -2 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"YT" = ( -/obj/effect/spawner/random/salvage_manipulator, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/ship/maintenance/starboard) -"YX" = ( -/obj/machinery/computer/crew/syndie, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/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 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/engineering) -"Zd" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/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" - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/cargo) -"Zf" = ( -/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{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Zg" = ( -/obj/structure/rack, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/spawner/random/maintenance/two, -/obj/machinery/button/door{ - dir = 1; - id = "Artillery2shutter"; - name = "Artillery Hatch"; - pixel_x = -4; - pixel_y = -24 - }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "komodo_starboard"; - pixel_x = 6; - pixel_y = -22 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/maintenance/starboard) -"Zi" = ( -/obj/structure/closet/wall/white/med{ - dir = 8; - name = "medical locker"; - pixel_x = 29 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/item/clothing/suit/longcoat/roboblack, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/gloves/color/latex/nitrile/evil{ - pixel_x = 1; - pixel_y = -3 - }, -/obj/item/storage/belt/medical, -/obj/item/bodybag, -/obj/item/bodybag{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/suit/hardliners, -/obj/item/clothing/head/hardliners, -/obj/item/clothing/under/syndicate/hardliners, -/turf/open/floor/mineral/plastitanium, -/area/ship/medical) -"Zy" = ( -/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" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 6; - pixel_y = -21 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -6 - }, -/turf/open/floor/pod, -/area/ship/cargo) -"Zz" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"ZO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 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-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ZV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/closet/wall/directional/west{ - name = "uniform closet" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/storage/backpack/duffelbag/syndie, -/obj/item/storage/backpack/duffelbag/syndie, -/obj/item/clothing/under/syndicate/gorlex, -/obj/item/clothing/under/syndicate/gorlex, -/obj/item/clothing/under/syndicate/gorlex, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/under/syndicate/combat, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/satchel, -/turf/open/floor/holofloor/wood, -/area/ship/crew/dorm) - -(1,1,1) = {" -CM -CM -CM -CM -CM -CM -CM -pN -Yb -Yb -Yb -OP -CM -CM -CM -CM -CM -CM -"} -(2,1,1) = {" -CM -CM -CM -Yk -sq -Yb -Yb -hY -pJ -pJ -qF -hY -Yb -Yb -sq -CM -CM -CM -"} -(3,1,1) = {" -CM -pN -Yn -yB -sq -pJ -qF -sq -pA -PX -mC -sq -pJ -qF -sq -sq -Yn -OP -"} -(4,1,1) = {" -CM -hY -MO -yB -EL -yk -CG -Uh -ji -Om -Lk -rZ -Nd -nI -Hf -sq -Pt -hY -"} -(5,1,1) = {" -CM -qk -wd -ls -Zb -Ht -sF -ys -my -hy -fZ -ah -wG -yb -YR -nA -KK -hY -"} -(6,1,1) = {" -CM -qk -mp -VZ -as -xM -AZ -sq -dS -yg -KL -nV -QZ -lY -vF -Xs -xV -hY -"} -(7,1,1) = {" -CM -hY -sq -sq -sq -FO -uh -sq -sq -BR -sq -sq -Vl -ND -dL -mP -sq -hY -"} -(8,1,1) = {" -CM -CM -mI -jh -tT -Du -PZ -sq -Xp -ko -xd -CL -CL -CL -CL -CL -CL -CM -"} -(9,1,1) = {" -CM -CM -Ep -Ep -Ep -Ep -Ep -Ep -TQ -ul -zP -CL -PS -en -JX -hO -CL -CM -"} -(10,1,1) = {" -CM -CM -Ep -Nq -PA -iH -LP -Ep -sq -BR -sq -CL -Qb -TU -lA -xr -CL -CM -"} -(11,1,1) = {" -CM -bC -Ep -uJ -es -tD -uV -Ep -vY -Ce -mZ -CL -VN -CL -CL -CL -CL -Bx -"} -(12,1,1) = {" -CM -Es -Ep -jA -jA -Ep -Ep -Ep -VR -HU -ew -MG -VK -iJ -ZV -qZ -ic -AV -"} -(13,1,1) = {" -CM -ph -Ko -Eb -ke -tn -Ep -xJ -TB -Ci -KT -CL -us -Wq -sQ -NI -kL -AV -"} -(14,1,1) = {" -cr -bA -eR -vd -xj -nb -Ep -VR -VR -jt -EB -gE -gE -gE -gE -gE -gE -gE -"} -(15,1,1) = {" -CM -Wl -xW -tr -YQ -aL -Ep -Jp -mX -dR -kh -gE -ue -vp -jy -Ni -km -tf -"} -(16,1,1) = {" -CM -Rk -eN -gC -Zd -nq -Ep -UT -VR -Ci -UF -gE -qm -TE -FB -nD -Ie -tf -"} -(17,1,1) = {" -CM -Vk -WD -vL -uS -HQ -Ep -VR -VR -jv -VR -gE -gE -qP -VU -MV -eY -tf -"} -(18,1,1) = {" -CM -Vk -HI -Xd -Zy -Ep -Ep -Nf -WQ -hk -gQ -Lb -gE -gE -Tr -vX -gE -tf -"} -(19,1,1) = {" -CM -mq -Ep -Ep -We -Ep -GD -gr -Gj -gM -ft -BQ -dD -gE -wT -Im -gE -BU -"} -(20,1,1) = {" -CM -CM -gk -Wu -rm -mY -bM -HF -EF -Sv -lj -Il -tv -uG -lv -dV -gk -CM -"} -(21,1,1) = {" -CM -CM -gk -lb -ot -JO -PN -WL -Kz -Lo -aY -sG -ox -Xu -lu -qB -gk -CM -"} -(22,1,1) = {" -CM -CM -kG -Dd -Dd -Dd -Dd -Dd -zZ -gu -qG -Dd -Dd -Dd -Dd -Dd -Hx -CM -"} -(23,1,1) = {" -CM -CM -sn -ho -Uy -PE -rI -kD -Fe -xH -LV -Vc -wk -Vj -Lj -kq -CM -CM -"} -(24,1,1) = {" -CM -CM -sn -Nj -xF -qD -fd -Aa -rX -nX -AS -Vc -Vq -bm -rg -kq -CM -CM -"} -(25,1,1) = {" -CM -CM -Aj -Ad -Ji -lg -Mb -kD -eX -jL -Un -OV -Zi -jW -aI -rv -TR -CM -"} -(26,1,1) = {" -CM -CM -Aj -eo -sy -MF -kD -kD -fX -Yp -JV -Vc -Vc -yO -vx -Ro -TR -CM -"} -(27,1,1) = {" -CM -CM -Aj -QC -wE -kD -kD -If -cn -zx -nz -EJ -Vc -Vc -Sd -BK -TR -CM -"} -(28,1,1) = {" -CM -CM -Aj -po -kD -kD -PG -BY -dJ -fn -lt -cG -rE -Vc -Vc -XI -TR -CM -"} -(29,1,1) = {" -CM -CM -Aj -kD -kD -TK -sV -dY -tC -tC -tC -hL -ac -QI -Vc -Vc -TR -CM -"} -(30,1,1) = {" -CM -CM -CM -gk -qz -GJ -Eo -tC -tC -EN -tC -tC -Oq -Hs -vA -gk -CM -CM -"} -(31,1,1) = {" -CM -RX -gN -nU -iL -tC -vs -tC -eW -kI -El -tC -ok -Dd -JJ -Hc -OQ -KJ -"} -(32,1,1) = {" -CM -gN -nh -aO -Ab -tC -RZ -tC -tC -UP -tC -tC -tC -tC -Pl -Gh -Zg -OQ -"} -(33,1,1) = {" -CM -gN -Ho -kM -vT -tC -Xf -wR -ae -GS -tC -kw -RK -tC -yd -Rs -PV -OQ -"} -(34,1,1) = {" -CM -gN -yp -mE -JN -tC -tF -sY -Cj -ZO -oO -ib -JQ -tC -Gs -kr -lm -OQ -"} -(35,1,1) = {" -CM -gN -IO -qf -To -tC -tC -tC -tC -Qh -tC -XT -Hr -tC -Zz -QW -pb -OQ -"} -(36,1,1) = {" -CM -gN -jD -Rf -Pp -tC -Oe -eK -tC -fD -tC -tC -tC -tC -sS -Zf -CB -OQ -"} -(37,1,1) = {" -CM -gN -YP -yV -FV -tC -YX -It -dG -WR -ub -YY -jn -tC -dc -PP -YT -OQ -"} -(38,1,1) = {" -CM -gN -vl -hV -yJ -tC -ip -zw -iT -wJ -XS -Kq -FL -tC -Xr -io -Em -OQ -"} -(39,1,1) = {" -CM -rS -RR -Gl -AY -tC -Jt -UK -Rl -hJ -vI -WA -rN -tC -BP -nv -hr -ea -"} -(40,1,1) = {" -CM -CM -CM -CM -CM -ME -Al -Ml -PO -ez -RS -GN -Al -si -CM -CM -CM -CM -"} -(41,1,1) = {" -CM -CM -CM -CM -CM -CM -ME -jE -lz -WK -Bd -Al -ME -CM -CM -CM -CM -CM -"} -(42,1,1) = {" -CM -CM -CM -CM -CM -CM -CM -ME -Al -Al -Al -si -CM -CM -CM -CM -CM -CM -"} From 315cd4f77395713bc67c569301c6af412b33b8ba Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 27 Jan 2025 19:17:54 -0600 Subject: [PATCH 182/330] Automatic changelog generation for PR #4086 [ci skip] --- html/changelogs/AutoChangeLog-pr-4086.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4086.yml diff --git a/html/changelogs/AutoChangeLog-pr-4086.yml b/html/changelogs/AutoChangeLog-pr-4086.yml new file mode 100644 index 000000000000..e4f99cd9fe81 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4086.yml @@ -0,0 +1,4 @@ +author: Apogee-dev +changes: + - {rscdel: Launched the Komodo-class into a black hole} +delete-after: true From 584b3cbb15ec2bbcd0893d7543a4d0e217b8bd2e Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Mon, 27 Jan 2025 19:09:42 -0600 Subject: [PATCH 183/330] Trickwine refactor to use status effects (#3390) ## About The Pull Request A general cleanup of code and moving alot of stuff over to status_effect to allow for better choreographing trickwine effects I started this in may and should probably finish this ## Why It's Good For The Game cleans up alot of ugly and bad code. you can now tell if someone is hopped up on a trickwine easier. ## Changelog :cl: add: Readds prism and force, heavily reworked. add: You can tell when someone is under the affects of a trickwine easier. balance: Alot of tweaks to the hostile effects because they can work off status effects now. balance: Trickwines off the blackmarket are slighter rarer and more expensive. balance: The reflective trait now grants full reflection instead of a 50/50 chance. refactor: Refactored alot of trickwine code, they work off of effects now and are easier to read. /:cl: --- code/__DEFINES/dcs/signals/signals.dm | 2 + code/__DEFINES/mobs.dm | 7 + code/__DEFINES/traits.dm | 5 +- .../effects/effect_system/effects_foam.dm | 16 + code/game/objects/effects/forcefields.dm | 2 +- code/game/objects/items/manuals.dm | 1 - .../blackmarket_items/consumables.dm | 16 +- .../drinks/drinks/breakawayflask.dm | 10 + .../food_and_drinks/recipes/drinks_recipes.dm | 12 + .../mob/living/carbon/human/human_defense.dm | 5 +- .../reagents/alcohol_reagents/ethanol.dm | 11 +- .../chemistry/reagents/trickwine_reagents.dm | 427 +++++++++++++++--- 12 files changed, 433 insertions(+), 81 deletions(-) diff --git a/code/__DEFINES/dcs/signals/signals.dm b/code/__DEFINES/dcs/signals/signals.dm index c8889caaf949..5abeb8dcf63f 100644 --- a/code/__DEFINES/dcs/signals/signals.dm +++ b/code/__DEFINES/dcs/signals/signals.dm @@ -748,6 +748,8 @@ ///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" +///sent by carbons to check if they can reflect a projectile +#define COMSIG_CHECK_REFLECT "check_reflect" // 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" diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index bffd861b10d3..7230e7cfab9b 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -356,6 +356,13 @@ #define ELZUOSE_CHARGE_FACTOR (0.05 * ELZUOSE_CHARGE_SCALING_MULTIPLIER) //factor at which ethereal's charge decreases #define REAGENTS_METABOLISM 0.4 //How many units of reagent are consumed per tick, by default. #define REAGENTS_EFFECT_MULTIPLIER (REAGENTS_METABOLISM / 0.4) // By defining the effect multiplier this way, it'll exactly adjust all effects according to how they originally were with the 0.4 metabolism +///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 +#define ETHANOL_METABOLISM 0.5 * REAGENTS_METABOLISM // Eye protection #define FLASH_PROTECTION_SENSITIVE -1 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 48691840688a..37b66fc428c5 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -286,7 +286,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai //non-mob traits /// Used for limb-based paralysis, where replacing the limb will fix it. #define TRAIT_PARALYSIS "paralysis" - +/// Granted by prismwine, reflects lasers +#define TRAIT_REFLECTIVE "reflective" #define TRAIT_HEARING_SENSITIVE "hearing_sensitive" /* @@ -453,8 +454,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_FISH_SAFE_STORAGE "fish_case" /// Stuff that can go inside fish cases #define TRAIT_FISH_CASE_COMPATIBILE "fish_case_compatibile" -/// Granted by prismwine -#define TRAIT_REFLECTIVE "reflective" /// Self-explainatory. #define BEAUTY_ELEMENT_TRAIT "beauty_element" #define MOOD_COMPONENT_TRAIT "mood_component" diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index 5fedeb47e455..dd1c02fb4046 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -353,6 +353,22 @@ for(var/obj/item/Item in O) Item.extinguish() +/obj/structure/foamedmetal/forcewine + name = "resin" + desc = "It's rapidly decaying!" + opacity = FALSE + icon_state = "atmos_resin" + alpha = 120 + max_integrity = 10 + var/timeleft = 50 + +/obj/structure/foamedmetal/forcewine/Initialize(mapload, new_timeleft) + . = ..() + if(new_timeleft) + timeleft = new_timeleft + if(timeleft) + QDEL_IN(src, timeleft) + #undef ALUMINIUM_FOAM #undef IRON_FOAM #undef RESIN_FOAM diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index d4278d775888..9208d4a8adf8 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -37,4 +37,4 @@ name = "resin" icon_state = "atmos_resin" CanAtmosPass = ATMOS_PASS_NO - timeleft = 1 + timeleft = 50 diff --git a/code/game/objects/items/manuals.dm b/code/game/objects/items/manuals.dm index 1a1906188895..0a2b85403124 100644 --- a/code/game/objects/items/manuals.dm +++ b/code/game/objects/items/manuals.dm @@ -303,7 +303,6 @@ "} - // Wiki books that are linked to the configured wiki link. // A book that links to the wiki diff --git a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm index 871b103af05d..65ebd352fe3f 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm @@ -69,17 +69,21 @@ desc = "The SRM keeps the recipes for their trickwines a closely guarded secret. The Hunters carrying those bottles? Less so." item = /datum/reagent/consumable/ethanol/trickwine/ash_wine - price_min = 200 + price_min = 300 price_max = 600 stock_min = 3 stock_max = 7 - availability_prob = 40 + availability_prob = 30 /datum/blackmarket_item/consumable/trickwine/spawn_item(loc) - 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,)) + 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 + )) return new trickwine(loc) /datum/blackmarket_item/consumable/stimpack diff --git a/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm b/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm index 45dc05531ba8..d13dc4e69774 100644 --- a/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm +++ b/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm @@ -72,3 +72,13 @@ name = "Vintage Hearthflame" list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/hearth_wine = 45, /datum/reagent/consumable/ethanol/hcider = 5) 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." + +/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." diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 8be72cd786db..156f1e03b1c1 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -637,6 +637,18 @@ 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/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index d16079014000..9215034b10d8 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -97,8 +97,9 @@ for(var/obj/item/I in held_items) if(I.IsReflect(def_zone)) return TRUE - ///Granted by prismwine - if(HAS_TRAIT(src, TRAIT_REFLECTIVE) && prob(50)) + if(SEND_SIGNAL(src, COMSIG_CHECK_REFLECT, def_zone)) + return TRUE + if(HAS_TRAIT(src, TRAIT_REFLECTIVE)) return TRUE return FALSE diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents/ethanol.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents/ethanol.dm index 36f29e6aacde..e30948925de6 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents/ethanol.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents/ethanol.dm @@ -2,22 +2,13 @@ // 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 + metabolization_rate = ETHANOL_METABOLISM var/boozepwr = 65 //Higher numbers equal higher hardness, higher hardness equals more intense alcohol poisoning accelerant_quality = 5 diff --git a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm index 6fb03cd2a71e..4ed93e8d39f5 100644 --- a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm @@ -1,6 +1,117 @@ +/////////////////// +// STATUS EFFECT // +/////////////////// +/atom/movable/screen/alert/status_effect/trickwine + name = "Trickwine" + desc = "Your empowered or weakened by a trickwine!" + icon_state = "breakaway_flask" + +/atom/movable/screen/alert/status_effect/trickwine/proc/setup(datum/reagent/consumable/ethanol/trickwine/trickwine_reagent) + name = trickwine_reagent.name + icon_state = "template" + cut_overlays() + var/icon/flask_icon = icon('icons/obj/drinks/drinks.dmi', trickwine_reagent.breakaway_flask_icon_state) + add_overlay(flask_icon) + +/datum/status_effect/trickwine + id = "trick_wine" + examine_text = span_notice("They seem to be affected by a trickwine.") + alert_type = /atom/movable/screen/alert/status_effect/trickwine + // Try to match normal reagent tick rate based on on_mob_life + tick_interval = 20 + // Used to make icon for status_effect + var/flask_icon_state + var/flask_icon = 'icons/obj/drinks/drinks.dmi' + // Used for mod outline + var/reagent_color = "#FFFFFF" + var/message_apply_others = "is affected by a wine!" + var/message_apply_self = "You are affected by trickwine!" + var/message_remove_others = "is no longer affected by a wine!" + var/message_remove_self = "You are no longer affected by trickwine!" + var/trickwine_examine_text + var/alert_desc + // Applied and removes with reagent + var/trait + +/datum/status_effect/trickwine/on_creation(mob/living/new_owner, datum/reagent/consumable/ethanol/trickwine/trickwine_reagent) + flask_icon_state = trickwine_reagent.breakaway_flask_icon_state + if(!trickwine_reagent) + CRASH("A trickwine status effect was created without a attached reagent") + reagent_color = trickwine_reagent.color + . = ..() + if(istype(linked_alert, /atom/movable/screen/alert/status_effect/trickwine)) + var/atom/movable/screen/alert/status_effect/trickwine/trickwine_alert = linked_alert + trickwine_alert.setup(trickwine_reagent) + trickwine_alert.desc = alert_desc + +/datum/status_effect/trickwine/on_apply() + owner.visible_message(span_notice("[owner] " + message_apply_others), span_notice(message_apply_self)) + owner.add_filter(id, 2, drop_shadow_filter(x = 0, y = -1, size = 2, color = reagent_color)) + if(trait) + ADD_TRAIT(owner, trait, id) + return ..() + +/datum/status_effect/trickwine/on_remove() + owner.visible_message(span_notice("[owner] " + message_remove_others), span_notice(message_remove_self)) + owner.remove_filter(id) + if(trait) + REMOVE_TRAIT(owner, trait, id) + +////////// +// BUFF // +////////// +/datum/status_effect/trickwine/buff + id = "trick_wine_buff" + alert_desc = "Your empowered a trickwine!" + +/datum/status_effect/trickwine/buff/on_creation(mob/living/new_owner, datum/reagent/consumable/ethanol/trickwine/trickwine_reagent) + . = ..() + if(trickwine_examine_text) + examine_text = span_notice(trickwine_examine_text) + else + examine_text = span_notice("SUBJECTPRONOUN seems to be affected by [trickwine_reagent.name].") + +//////////// +// DEBUFF // +//////////// +/datum/status_effect/trickwine/debuff + id = "trick_wine_debuff" + alert_desc = "Your weakened a trickwine!" + +/datum/status_effect/trickwine/debuff/on_creation(mob/living/new_owner, datum/reagent/consumable/ethanol/trickwine/trickwine_reagent, set_duration = null) + if(isnum(set_duration)) + duration = set_duration + . = ..() + if(trickwine_examine_text) + examine_text = span_notice(trickwine_examine_text) + else + examine_text = span_notice("SUBJECTPRONOUN seems to be covered in [trickwine_reagent.name].") + +////////////// +// REAGENTS // +////////////// + /datum/reagent/consumable/ethanol/trickwine name = "Trickwine" - description = "How is this even possible" + var/datum/status_effect/trickwine/debuff_effect = null + var/datum/status_effect/trickwine/buff_effect = null + +/datum/reagent/consumable/ethanol/trickwine/on_mob_metabolize(mob/living/consumer) + if(buff_effect) + consumer.apply_status_effect(buff_effect, src) + ..() + +/datum/reagent/consumable/ethanol/trickwine/on_mob_end_metabolize(mob/living/consumer) + if(buff_effect && consumer.has_status_effect(buff_effect)) + consumer.remove_status_effect((buff_effect)) + ..() + +/datum/reagent/consumable/ethanol/trickwine/expose_mob(mob/living/exposed_mob, method = TOUCH, reac_volume) + if(method == TOUCH) + if(debuff_effect) + exposed_mob.apply_status_effect(debuff_effect, src, (reac_volume / ETHANOL_METABOLISM) * 10) + return ..() + /datum/reagent/consumable/ethanol/trickwine/ash_wine name = "Wine Of Ash" @@ -12,26 +123,47 @@ 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" + buff_effect = /datum/status_effect/trickwine/buff/ash + debuff_effect = /datum/status_effect/trickwine/debuff/ash /datum/reagent/consumable/ethanol/trickwine/ash_wine/on_mob_life(mob/living/M) - if(prob(15)) - M.adjustToxLoss(-1) + 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.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]")) + to_chat(M, "[high_message]") + if(M.faction && ("roumain" in M.faction)) + M.adjustToxLoss(-2) + if(prob(10)) + to_chat(M, "[cleanse_message]") return ..() -/datum/reagent/consumable/ethanol/trickwine/ash_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH) - if(!iscarbon(M)) - var/mob/living/simple_animal/hostile/hostile_target = M - var/hostile_ai_status = hostile_target.AIStatus - hostile_target.toggle_ai(AI_OFF) - addtimer(VARSET_CALLBACK(hostile_target, AIStatus, hostile_ai_status),reac_volume) - M.adjust_jitter(3 * reac_volume) - M.Dizzy(2 * reac_volume) - M.set_drugginess(3 * reac_volume) - return ..() +/datum/status_effect/trickwine/buff/ash + id = "ash_wine_buff" + trickwine_examine_text = "SUBJECTPRONOUN seems to be filled with energy and devotion. There eyes are dialated and they seem to be twitching." + message_apply_others = "" + message_apply_self = "" + message_remove_others = "" + message_remove_self = "" + alert_desc = "" + +/datum/status_effect/trickwine/debuff/ash + id = "ash_wine_debuff" + trickwine_examine_text = "SUBJECTPRONOUN seems to be covered in a thin layer of ash. They seem to be twitching and jittery." + message_apply_others = "" + message_apply_self = "" + message_remove_others = "" + message_remove_self = "" + alert_desc = "" + +/datum/status_effect/trickwine/debuff/ash/tick() + switch(pick("jitter", "dizzy", "drug")) + if("jitter") + owner.adjust_jitter(3) + if("dizzy") + owner.Dizzy(2) + if("drug") + owner.adjust_drugginess(3) /datum/reagent/consumable/ethanol/trickwine/ice_wine name = "Wine Of Ice" @@ -42,6 +174,8 @@ 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" + buff_effect = /datum/status_effect/trickwine/buff/ice + debuff_effect = /datum/status_effect/trickwine/debuff/ice /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(), FALSE) @@ -50,24 +184,45 @@ to_chat(M, span_notice("Sweat runs down your body.")) return ..() +/datum/status_effect/trickwine/buff/ice + id = "ice_wine_buff" + trickwine_examine_text = "" + message_apply_others = "" + message_apply_self = "" + message_remove_others = "" + message_remove_self = "" + alert_desc = "" + trait = TRAIT_NOFIRE -/datum/reagent/consumable/ethanol/trickwine/ice_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH) - var/paralyze_dur - if(!iscarbon(M)) - reac_volume = reac_volume * 2 - paralyze_dur = reac_volume - else - if(reac_volume <= 50) - paralyze_dur = reac_volume - else - paralyze_dur = 50 + ((reac_volume - 50) / 4) - 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) +/datum/status_effect/trickwine/debuff/ice + id = "ice_wine_debuff" + trickwine_examine_text = "" + message_apply_others = "" + message_apply_self = "" + message_remove_others = "" + message_remove_self = "" + alert_desc = "" + var/icon/cube + +/datum/status_effect/trickwine/debuff/ice/on_apply() + RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(owner_moved)) + owner.Paralyze(duration) + to_chat(owner, span_userdanger("You become frozen in a cube!")) + cube = icon('icons/effects/freeze.dmi', "ice_cube") + var/icon/size_check = icon(owner.icon, owner.icon_state) + cube.Scale(size_check.Width(), size_check.Height()) + owner.add_overlay(cube) return ..() +/// Blocks movement from the status effect owner +/datum/status_effect/trickwine/debuff/ice/proc/owner_moved() + return COMPONENT_MOVABLE_BLOCK_PRE_MOVE + +/datum/status_effect/trickwine/debuff/ice/on_remove() + to_chat(owner, span_notice("The cube melts!")) + owner.cut_overlay(cube) + UnregisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE) + /datum/reagent/consumable/ethanol/trickwine/shock_wine 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" @@ -77,27 +232,47 @@ 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, 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, span_notice("Inertia leaves your body!")) - ..() + buff_effect = /datum/status_effect/trickwine/buff/shock + debuff_effect = /datum/status_effect/trickwine/debuff/shock /datum/reagent/consumable/ethanol/trickwine/shock_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) if(method == TOUCH) - //simple mobs are so tanky and i want this to be useful on them - if(iscarbon(M)) - reac_volume = reac_volume / 4 M.electrocute_act(reac_volume, src, siemens_coeff = 1, flags = SHOCK_NOSTUN|SHOCK_TESLA) do_sparks(5, FALSE, M) playsound(M, 'sound/machines/defib_zap.ogg', 100, TRUE) return ..() +/datum/status_effect/trickwine/buff/shock + id = "shock_wine_buff" + trickwine_examine_text = "SUBJECTPRONOUN seems to be crackling with energy." + message_apply_others = "seems to be crackling with energy!" + message_apply_self = "You feel like a bolt of lightning!" + message_remove_others = "has lost their statis energy." + message_remove_self = "Inertia leaves your body!" + alert_desc = "You feel faster then lightning and cracking with energy! Your immune to shock damage and move faster!" + trait = TRAIT_SHOCKIMMUNE + +/datum/status_effect/trickwine/buff/shock/on_apply() + owner.add_movespeed_modifier(/datum/movespeed_modifier/reagent/shock_wine) + return ..() + +/datum/status_effect/trickwine/buff/shock/on_remove() + owner.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/shock_wine) + ..() + +/datum/status_effect/trickwine/debuff/shock + id = "shock_wine_debuff" + trickwine_examine_text = "" + message_apply_others = "" + message_apply_self = "" + message_remove_others = "" + message_remove_self = "" + alert_desc = "" + +/datum/status_effect/trickwine/debuff/shock/tick() + if(rand(25)) + do_sparks(5, FALSE, owner) + /datum/reagent/consumable/ethanol/trickwine/hearth_wine 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." @@ -105,9 +280,12 @@ boozepwr = 70 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." + glass_desc = "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." breakaway_flask_icon_state = "baflaskhearthwine" + buff_effect = /datum/status_effect/trickwine/buff/hearth + debuff_effect = /datum/status_effect/trickwine/debuff/hearth +//This needs a buff /datum/reagent/consumable/ethanol/trickwine/hearth_wine/on_mob_life(mob/living/M) M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(), FALSE) if(ishuman(M)) @@ -115,17 +293,150 @@ H.heal_bleeding(0.25) return ..() -/datum/reagent/consumable/ethanol/trickwine/hearth_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH) - if(!iscarbon(M)) - reac_volume = reac_volume * 2 - M.fire_act() - var/turf/T = get_turf(M) - 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.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) +/datum/status_effect/trickwine/buff/hearth + id = "hearth_wine_buff" + trickwine_examine_text = "" + message_apply_others = "" + message_apply_self = "" + message_remove_others = "" + message_remove_self = "" + alert_desc = "" + trait = TRAIT_RESISTCOLD + +/datum/status_effect/trickwine/debuff/hearth + id = "hearth_wine_debuff" + trickwine_examine_text = "" + message_apply_others = "" + message_apply_self = "" + message_remove_others = "" + message_remove_self = "" + alert_desc = "" + +/datum/status_effect/trickwine/debuff/hearth/tick() + //owner.fire_act() + var/turf/owner_turf = get_turf(owner) + owner_turf.IgniteTurf(duration) + //new /obj/effect/hotspot(owner_turf, 1) + +/datum/reagent/consumable/ethanol/trickwine/force_wine + name = "Forcewine" + description = "Creates a barrier on the skin that catches sharpnel and when reversed locks threats down with a barrier" + color = "#709AAF" + boozepwr = 70 + taste_description = "the strength of your convictions" + glass_name = "Forcewine" + glass_desc = "Creates a barrier on the skin that catches sharpnel and when reversed locks threats down with a barrier" + breakaway_flask_icon_state = "baflaskforcewine" + buff_effect = /datum/status_effect/trickwine/buff/force + debuff_effect = /datum/status_effect/trickwine/debuff/force + +/datum/status_effect/trickwine/buff/force + id = "force_wine_buff" + trickwine_examine_text = "" + message_apply_others = "glows a dim grey aura." + message_apply_self = "You feel faster than lightning!" + message_remove_others = "'s aura fades away." + message_remove_self = "You feel sluggish." + alert_desc = "" + // No shrapnel seems useful + trait = TRAIT_PIERCEIMMUNE + +/datum/status_effect/trickwine/debuff/force + id = "force_wine_debuff" + trickwine_examine_text = "" + message_apply_others = "" + message_apply_self = "" + message_remove_others = "" + message_remove_self = "" + alert_desc = "" + +/datum/status_effect/trickwine/debuff/force/on_apply() + var/turf/turf = get_turf(owner) + var/turf/other_turf + new /obj/structure/foamedmetal/forcewine(turf, duration) + for(var/direction in GLOB.cardinals) + other_turf = get_step(turf, direction) + new /obj/structure/foamedmetal/forcewine(other_turf, duration) + 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" + buff_effect = /datum/status_effect/trickwine/buff/prism + debuff_effect = /datum/status_effect/trickwine/debuff/prism + +#define MAX_REFLECTS 3 +/datum/status_effect/trickwine/buff/prism + id = "prism_wine_buff" + trickwine_examine_text = "" + message_apply_others = "" + message_apply_self = "" + message_remove_others = "" + message_remove_self = "" + alert_desc = "" + var/reflect_count = 0 + var/recent_movement = FALSE + +/datum/status_effect/trickwine/buff/prism/on_apply() + RegisterSignal(owner, COMSIG_CHECK_REFLECT, PROC_REF(on_check_reflect)) + RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) return ..() + +/datum/status_effect/trickwine/buff/prism/on_remove() + UnregisterSignal(owner, list(COMSIG_CHECK_REFLECT, COMSIG_MOVABLE_MOVED)) + ..() + +/datum/status_effect/trickwine/buff/prism/tick() + . = ..() + if(prob(25) && reflect_count < MAX_REFLECTS) + if(recent_movement) + adjust_charge(1) + to_chat(owner, span_notice("Your resin sweat builds up another layer!")) + else + to_chat(owner, span_warning("You need to keep moving to build up resin sweat!")) + recent_movement = FALSE + +/datum/status_effect/trickwine/buff/prism/proc/adjust_charge(change) + reflect_count = clamp(reflect_count + change, 0, MAX_REFLECTS) + owner.add_filter(id, 2, drop_shadow_filter(x = 0, y = -1, size = 1 + reflect_count, color = reagent_color)) + +/datum/status_effect/trickwine/buff/prism/proc/on_check_reflect(mob/living/carbon/human/owner, def_zone) + SIGNAL_HANDLER + if(reflect_count > 0) + to_chat(owner, span_notice("Your resin sweat protects you!")) + adjust_charge(-1) + return TRUE + +// The idea is that its a resin made of sweat, therfore stay moving +/datum/status_effect/trickwine/buff/prism/proc/on_move() + recent_movement = TRUE +#undef MAX_REFLECTS + +/datum/status_effect/trickwine/debuff/prism + id = "prism_wine_debuff" + trickwine_examine_text = "" + message_apply_others = "" + message_apply_self = "" + message_remove_others = "" + message_remove_self = "" + alert_desc = "" + +/datum/status_effect/trickwine/debuff/prism/on_apply() + if(ishuman(owner)) + var/mob/living/carbon/human/the_human = owner + the_human.physiology.burn_mod *= 2 + return ..() + +/datum/status_effect/trickwine/debuff/prism/on_remove() + if(ishuman(owner)) + var/mob/living/carbon/human/the_human = owner + the_human.physiology.burn_mod *= 0.5 + ..() + + From d81e5b2a3e76a9cbd18359ba066a34106eda99a4 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 27 Jan 2025 19:38:56 -0600 Subject: [PATCH 184/330] Automatic changelog generation for PR #3390 [ci skip] --- html/changelogs/AutoChangeLog-pr-3390.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3390.yml diff --git a/html/changelogs/AutoChangeLog-pr-3390.yml b/html/changelogs/AutoChangeLog-pr-3390.yml new file mode 100644 index 000000000000..f52bd2f65d33 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3390.yml @@ -0,0 +1,11 @@ +author: FalloutFalcon +changes: + - {rscadd: 'Readds prism and force, heavily reworked.'} + - {rscadd: You can tell when someone is under the affects of a trickwine easier.} + - {balance: Alot of tweaks to the hostile effects because they can work off status + effects now.} + - {balance: Trickwines off the blackmarket are slighter rarer and more expensive.} + - {balance: The reflective trait now grants full reflection instead of a 50/50 chance.} + - {refactor: 'Refactored alot of trickwine code, they work off of effects now and + are easier to read.'} +delete-after: true From 8deef2036090aab1c0aecc7137f3546b0c837c8c Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Tue, 28 Jan 2025 17:24:40 -0600 Subject: [PATCH 185/330] Fixes AI Movement Runtime (#4100) ## About The Pull Request Should fix the AI movement runtime that apparently is happening an absolute ton. AI controllers never removed themselves from the movement processing lists when deleted, causing them to get hard deleted and replaced with nulls in the list. This fixes that. Supersedes #4082 ## Why It's Good For The Game wowie that's a lotta runtimes ## Changelog :cl: /:cl: --- code/datums/ai/_ai_controller.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/datums/ai/_ai_controller.dm b/code/datums/ai/_ai_controller.dm index ce11df446aa4..db3d2d790b2a 100644 --- a/code/datums/ai/_ai_controller.dm +++ b/code/datums/ai/_ai_controller.dm @@ -58,6 +58,7 @@ multiple modular subtrees with behaviors /datum/ai_controller/Destroy(force, ...) set_ai_status(AI_STATUS_OFF) UnpossessPawn(FALSE) + ai_movement.stop_moving_towards(src) return ..() ///Overrides the current ai_movement of this controller with a new one From ae728979099a6d66af23335b7a9fc60397bd31a3 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 29 Jan 2025 01:01:32 +0000 Subject: [PATCH 186/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3390.yml | 11 ----------- html/changelogs/AutoChangeLog-pr-4086.yml | 4 ---- html/changelogs/archive/2025-01.yml | 12 ++++++++++++ 3 files changed, 12 insertions(+), 15 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3390.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4086.yml diff --git a/html/changelogs/AutoChangeLog-pr-3390.yml b/html/changelogs/AutoChangeLog-pr-3390.yml deleted file mode 100644 index f52bd2f65d33..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3390.yml +++ /dev/null @@ -1,11 +0,0 @@ -author: FalloutFalcon -changes: - - {rscadd: 'Readds prism and force, heavily reworked.'} - - {rscadd: You can tell when someone is under the affects of a trickwine easier.} - - {balance: Alot of tweaks to the hostile effects because they can work off status - effects now.} - - {balance: Trickwines off the blackmarket are slighter rarer and more expensive.} - - {balance: The reflective trait now grants full reflection instead of a 50/50 chance.} - - {refactor: 'Refactored alot of trickwine code, they work off of effects now and - are easier to read.'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4086.yml b/html/changelogs/AutoChangeLog-pr-4086.yml deleted file mode 100644 index e4f99cd9fe81..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4086.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Apogee-dev -changes: - - {rscdel: Launched the Komodo-class into a black hole} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index be3e206a640a..0be40e9b826a 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -288,3 +288,15 @@ bullets feels weird. Jedi-Toothpaste: - bugfix: fixes misaligned floor decal +2025-01-29: + Apogee-dev: + - rscdel: Launched the Komodo-class into a black hole + FalloutFalcon: + - rscadd: Readds prism and force, heavily reworked. + - rscadd: You can tell when someone is under the affects of a trickwine easier. + - balance: Alot of tweaks to the hostile effects because they can work off status + effects now. + - balance: Trickwines off the blackmarket are slighter rarer and more expensive. + - balance: The reflective trait now grants full reflection instead of a 50/50 chance. + - refactor: Refactored alot of trickwine code, they work off of effects now and + are easier to read. From d28fbf6881635e0c96f7c2e8d7d47153df472b01 Mon Sep 17 00:00:00 2001 From: HelmCrab <90987989+Thera-Pissed@users.noreply.github.com> Date: Tue, 28 Jan 2025 19:55:46 -0600 Subject: [PATCH 187/330] Fried Eggs no longer count as a fried food. (#4098) ## About The Pull Request Fried eggs no longer have FRIED foodtype ## Why It's Good For The Game fried food everywhere else implies battered & deepfried, not just... "cooked". (Kepori can now eat fried eggs) ## Changelog :cl: del: fried eggs no longer fried foodtype /:cl: --- code/modules/food_and_drinks/food/snacks_egg.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm index 665d94e1fa9b..c17335bbb140 100644 --- a/code/modules/food_and_drinks/food/snacks_egg.dm +++ b/code/modules/food_and_drinks/food/snacks_egg.dm @@ -98,7 +98,7 @@ filling_color = "#FFFFF0" list_reagents = list(/datum/reagent/consumable/nutriment = 3) tastes = list("egg" = 4, "salt" = 1, "pepper" = 1) - foodtype = MEAT | FRIED | BREAKFAST + foodtype = MEAT | BREAKFAST /obj/item/reagent_containers/food/snacks/boiledegg name = "boiled egg" From 0a14a6391455233ac0e19a4a910c1f628e296c6e Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 28 Jan 2025 19:56:17 -0600 Subject: [PATCH 188/330] Morphine requires more cycles to put you to sleep (#4094) ## About The Pull Request Pushes the amount of cycles needed to put you to sleep on Morphine to around ~10+ units rather than the ~5 units it was before. ## Why It's Good For The Game Morphine was used more as a direct sedative than a combat painkiller, getting it lined up more for what it was intended for ## Changelog :cl: balance: Morphine now requires more cycles to put you to sleep, giving more combat utility /:cl: --------- Co-authored-by: github-actions --- .../reagents/chemistry/reagents/medicine_reagents.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 6852aa968834..126de2ecfbf5 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -776,11 +776,11 @@ if(current_cycle >= 5) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "numb", /datum/mood_event/narcotic_medium, name) switch(current_cycle) - if(11) + if(29) to_chat(M, "You start to feel tired..." ) - if(12 to 24) + if(30 to 59) M.drowsyness += 1 - if(24 to INFINITY) + if(60 to INFINITY) M.Sleeping(40) . = 1 ..() From ee92c27d1952bd0af714f09c24559739d4ea466b Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 28 Jan 2025 20:06:14 -0600 Subject: [PATCH 189/330] Automatic changelog generation for PR #4098 [ci skip] --- html/changelogs/AutoChangeLog-pr-4098.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4098.yml diff --git a/html/changelogs/AutoChangeLog-pr-4098.yml b/html/changelogs/AutoChangeLog-pr-4098.yml new file mode 100644 index 000000000000..c9119ddd9d57 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4098.yml @@ -0,0 +1,4 @@ +author: Thera-Pissed +changes: + - {rscdel: fried eggs no longer fried foodtype} +delete-after: true From 8cd2be166abfe66596eeaa6ab99ef180bc8f364a Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 28 Jan 2025 20:06:32 -0600 Subject: [PATCH 190/330] Automatic changelog generation for PR #4094 [ci skip] --- html/changelogs/AutoChangeLog-pr-4094.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4094.yml diff --git a/html/changelogs/AutoChangeLog-pr-4094.yml b/html/changelogs/AutoChangeLog-pr-4094.yml new file mode 100644 index 000000000000..e0e6f72ef0ac --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4094.yml @@ -0,0 +1,5 @@ +author: generalthrax +changes: + - {balance: 'Morphine now requires more cycles to put you to sleep, giving more + combat utility'} +delete-after: true From c7733216a399ff2882fc2fce376004c84a5f2851 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Tue, 28 Jan 2025 21:14:12 -0500 Subject: [PATCH 191/330] Camera Console Recalibration and Bodycameras (#3952) ## About The Pull Request This change modifies camera consoles so that they can take a custom network input. Camera consoles were also modified to get closer in parity to the SecurEye app. Tablets were given the ability to download securEye. | Camera Consoles |![image](https://github.com/user-attachments/assets/b59c4498-d0c9-4eaa-a051-e3365a4705c8)| |-----------------|---| | SecurEye |![image](https://github.com/user-attachments/assets/320ca69a-5d6c-46b1-a152-2244403415b2)| Static cameras were modified so that using a multitool on one with its panel open now presents several new options. One can copy a network that a camera is set to onto a multitool, transfer a saved network into a camera, or even set a new network entirely. ![image](https://github.com/user-attachments/assets/3dadb434-6217-493c-a3fd-1a36b2fb06d3) They were also given a new variable, can_transmit_across_z_levels, which defaults to false. This variable is for varedits, and a potential future addition that may enable transmission across Z-levels for some cost. A new portable type of camera was also added, the body camera. It can be activated or deactivated by being alt-clicked, and its tag or network settings can be modified if a multitool is used on it. They can be purchased from the outpost cargo market at a rate of two units for 250 credits. Bodycameras can be worn in your pockets, your coat/armor, security belts or webbings, or a helmet, but they get obscured when put into a bag, a box, or your boots. They have a view range of 5, which is 2 less than camera structures. https://github.com/user-attachments/assets/9c69cd3a-59c4-40a7-94fd-2be9932ec15f https://github.com/user-attachments/assets/75655b88-583f-44a6-93ef-e59e159826ce This PR by Timberpoes proved instrumental in solving a major problem during the development process: https://github.com/tgstation/tgstation/pull/52767 The bodycamera sprite is modeled after the handheld radio sprite made by @rye-rice in this PR: https://github.com/shiptest-ss13/Shiptest/pull/2610 ![image](https://github.com/user-attachments/assets/c4f3f659-d285-4936-942e-7d11db54a9a9) I'm not a good pixel artist, so any feedback here is appreciated, on top of feedback with regards to anything else about this PR. ## Why It's Good For The Game It would be nice to be able to track your crew more effectively, be it if you were to send them out to scrap a derelict, or to secure contested territory. This is something that Command or Foremen that want to oversee operations might find useful, as it can be kind of boring to not be able to see your crew when they're at work. This should help that issue. ## Changelog :cl: Rye-Rice, Timberpoes add: Added bodycameras add: Added the ability to set custom networks on cameras and camera consoles code: Made camera consoles and SecurEye have better parity /:cl: --- .../components/storage/concrete/pockets.dm | 1 + code/game/machinery/camera/camera.dm | 25 +- code/game/machinery/computer/camera.dm | 241 +++++++++++++----- code/game/objects/items/bodycamera.dm | 146 +++++++++++ code/game/objects/items/storage/belt.dm | 10 +- code/modules/cargo/packs/tools.dm | 9 + .../living/silicon/ai/freelook/cameranet.dm | 31 ++- .../file_system/programs/secureye.dm | 120 ++++++--- icons/obj/item/bodycamera.dmi | Bin 0 -> 515 bytes shiptest.dme | 1 + sound/items/bodycamera_off.ogg | Bin 0 -> 15955 bytes sound/items/bodycamera_on.ogg | Bin 0 -> 16490 bytes .../packages/tgui/interfaces/CameraConsole.js | 20 +- tgui/packages/tgui/interfaces/NtosSecurEye.js | 3 + 14 files changed, 505 insertions(+), 102 deletions(-) create mode 100644 code/game/objects/items/bodycamera.dm create mode 100644 icons/obj/item/bodycamera.dmi create mode 100644 sound/items/bodycamera_off.ogg create mode 100644 sound/items/bodycamera_on.ogg diff --git a/code/datums/components/storage/concrete/pockets.dm b/code/datums/components/storage/concrete/pockets.dm index 98d5f5ac53d1..185fd3d93ecd 100644 --- a/code/datums/components/storage/concrete/pockets.dm +++ b/code/datums/components/storage/concrete/pockets.dm @@ -94,6 +94,7 @@ /obj/item/clothing/glasses/sunglasses/ballistic, /obj/item/ammo_casing, /obj/item/ammo_box/magazine/illestren_a850r, + /obj/item/bodycamera, )) /datum/component/storage/concrete/pockets/holster diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 21eb3cc362b7..4125146dfe5a 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -36,6 +36,7 @@ var/busy = FALSE var/emped = FALSE //Number of consecutive EMP's on this camera var/in_use_lights = 0 + var/can_transmit_across_z_levels = FALSE // Upgrades bitflag var/upgrades = 0 @@ -258,8 +259,26 @@ if(!panel_open) return - setViewRange((view_range == initial(view_range)) ? short_range : initial(view_range)) - to_chat(user, "You [(view_range == initial(view_range)) ? "restore" : "mess up"] the camera's focus.") + var/obj/item/multitool/M = I + var/list/choice_list = list("Occlude the camera lens", "Save the network to the multitool buffer", "Transfer the buffered network to the camera", "Change the camera network") + var/choice = tgui_input_list(user, "Select an option", "Camera Settings", choice_list) + switch(choice) + if("Occlude the camera lens") + setViewRange((view_range == initial(view_range)) ? short_range : initial(view_range)) + to_chat(user, "You [(view_range == initial(view_range)) ? "restore" : "mess up"] the camera's focus.") + + if("Save the network to the multitool buffer") + M.buffer = network[1] + to_chat(user, "You add network '[network[1]]' to the multitool's buffer.") + + if("Transfer the buffered network to the camera") + network[1] = M.buffer + to_chat(user, "You tune [src] to transmit across the '[network[1]]' network using the saved data from the multiool's buffer.") + + if("Change the camera network") + network[1] = stripped_input(user, "Tune [src] to a specific network. Enter the network name and ensure that it is no bigger than 32 characters long. Network names are not case sensitive.", "Network Tuning", max_length = 32) + to_chat(user, "You set [src] to transmit across the '[network[1]]' network.") + return TRUE /obj/machinery/camera/welder_act(mob/living/user, obj/item/I) @@ -508,6 +527,6 @@ user.sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) user.see_in_dark = max(user.see_in_dark, 8) else - user.sight = 0 + user.sight = SEE_BLACKNESS user.see_in_dark = 2 return 1 diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index de6daa417946..dd6eb9a24e8d 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -7,14 +7,18 @@ light_color = COLOR_SOFT_RED var/list/network = list("ss13") + var/temp_network = list("") var/obj/machinery/camera/active_camera + /// The turf where the camera was last updated. + var/turf/last_camera_turf var/list/concurrent_users = list() // Stuff needed to render the map var/map_name var/const/default_map_size = 15 var/atom/movable/screen/map_view/cam_screen - var/atom/movable/screen/plane_master/lighting/cam_plane_master + /// All the plane masters that need to be applied. + var/list/cam_plane_masters var/atom/movable/screen/background/cam_background /obj/machinery/computer/security/retro @@ -43,18 +47,20 @@ cam_screen.assigned_map = map_name cam_screen.del_on_map_removal = FALSE cam_screen.screen_loc = "[map_name]:1,1" - cam_plane_master = new - cam_plane_master.name = "plane_master" - cam_plane_master.assigned_map = map_name - cam_plane_master.del_on_map_removal = FALSE - cam_plane_master.screen_loc = "[map_name]:CENTER" + cam_plane_masters = list() + for(var/plane in subtypesof(/atom/movable/screen/plane_master)) + var/atom/movable/screen/instance = new plane() + instance.assigned_map = map_name + instance.del_on_map_removal = FALSE + instance.screen_loc = "[map_name]:CENTER" + cam_plane_masters += instance cam_background = new cam_background.assigned_map = map_name cam_background.del_on_map_removal = FALSE /obj/machinery/computer/security/Destroy() qdel(cam_screen) - qdel(cam_plane_master) + QDEL_LIST(cam_plane_masters) qdel(cam_background) return ..() @@ -63,12 +69,21 @@ network -= i network += "[REF(port)][i]" +/obj/machinery/computer/security/multitool_act(mob/living/user, obj/item/I) + . = ..() + var/obj/item/multitool/M = I + if(M.buffer != null) + network = M.buffer + to_chat(user, "You input network '[M.buffer]' from the multitool's buffer into [src].") + return + /obj/machinery/computer/security/ui_interact(mob/user, datum/tgui/ui) // Update UI ui = SStgui.try_update_ui(user, src, ui) + // Show static if can't use the camera - if(!active_camera?.can_use()) - show_camera_static() + update_active_camera_screen() + if(!ui) var/user_ref = REF(user) var/is_living = isliving(user) @@ -82,7 +97,8 @@ use_power(active_power_usage) // Register map objects user.client.register_map_obj(cam_screen) - user.client.register_map_obj(cam_plane_master) + for(var/plane in cam_plane_masters) + user.client.register_map_obj(plane) user.client.register_map_obj(cam_background) // Open UI ui = new(user, src, "CameraConsole", name) @@ -93,16 +109,33 @@ data["network"] = network data["activeCamera"] = null if(active_camera) - if(!active_camera?.can_use()) - data["activeCamera"] = list( - name = active_camera.c_tag + " (DEACTIVATED)", - status = active_camera.status, - ) - else - data["activeCamera"] = list( - name = active_camera.c_tag, - status = active_camera.status, - ) + if(istype(active_camera, /obj/machinery/camera)) + var/obj/machinery/camera/active_camera_S = active_camera + if(!active_camera_S?.can_use()) + data["activeCamera"] = list( + name = active_camera_S.c_tag, + status = active_camera_S.status, + ) + else + data["activeCamera"] = list( + name = active_camera_S.c_tag, + status = active_camera_S.status, + ) + active_camera = active_camera_S + + else if(istype(active_camera, /obj/item/bodycamera)) + var/obj/machinery/camera/active_camera_B = active_camera + if(!active_camera_B?.can_use()) + data["activeCamera"] = list( + name = active_camera_B.c_tag, + status = active_camera_B.status, + ) + else + data["activeCamera"] = list( + name = active_camera_B.c_tag, + status = active_camera_B.status, + ) + active_camera = active_camera_B return data /obj/machinery/computer/security/ui_static_data() @@ -111,38 +144,77 @@ var/list/cameras = get_available_cameras() data["cameras"] = list() for(var/i in cameras) - var/obj/machinery/camera/C = cameras[i] - if(!C?.can_use()) + var/obj/C = cameras[i] + if(istype(C, /obj/machinery/camera)) + var/obj/machinery/camera/C_cam = C data["cameras"] += list(list( - name = C.c_tag + " (DEACTIVATED)", + name = C_cam.c_tag, )) - else + else if(istype(C, /obj/item/bodycamera)) + var/obj/item/bodycamera/C_cam = C data["cameras"] += list(list( - name = C.c_tag, + name = C_cam.c_tag, )) return data -/obj/machinery/computer/security/ui_act(action, params) +//This is the only way to refresh the UI, from what I've found +/obj/machinery/computer/security/proc/ui_refresh(mob/user, datum/tgui/ui) + ui.close() + ui_interact(user, ui) + show_camera_static() + +/obj/machinery/computer/security/ui_act(action, params, ui) . = ..() if(.) return + if(action == "set_network") + network = temp_network + ui_refresh(usr, ui) + + if(action == "set_temp_network") + temp_network = sanitize_filename(params["name"]) + + if(action == "refresh") + ui_refresh(usr, ui) + if(action == "switch_camera") var/c_tag = params["name"] var/list/cameras = get_available_cameras() - var/obj/machinery/camera/C = cameras[c_tag] + var/obj/C = cameras[c_tag] active_camera = C playsound(src, get_sfx("terminal_type"), 25, FALSE) + update_active_camera_screen() + + return TRUE + +/obj/machinery/computer/security/ui_close(mob/user) + var/user_ref = REF(user) + var/is_living = isliving(user) + // Living creature or not, we remove you anyway. + concurrent_users -= user_ref + // Unregister map objects + user.client.clear_map(map_name) + // Turn off the console + if(length(concurrent_users) == 0 && is_living) + active_camera = null + playsound(src, 'sound/machines/terminal_off.ogg', 25, FALSE) + use_power(0) + +/obj/machinery/computer/security/proc/update_active_camera_screen() + if(istype(active_camera, /obj/machinery/camera)) + var/obj/machinery/camera/active_camera_S = active_camera + // Show static if can't use the camera - if(!active_camera?.can_use()) + if(!active_camera_S?.can_use()) show_camera_static() return TRUE var/list/visible_turfs = list() - for(var/turf/T in (C.isXRay() \ - ? range(C.view_range, C) \ - : view(C.view_range, C))) + for(var/turf/T in (active_camera_S.isXRay() \ + ? range(active_camera_S.view_range, active_camera_S) \ + : view(active_camera_S.view_range, active_camera_S))) visible_turfs += T var/list/bbox = get_bbox_of_atoms(visible_turfs) @@ -153,44 +225,97 @@ cam_background.icon_state = "clear" cam_background.fill_rect(1, 1, size_x, size_y) - return TRUE + if(istype(active_camera, /obj/item/bodycamera)) + var/obj/item/bodycamera/active_camera_B = active_camera -/obj/machinery/computer/security/ui_close(mob/user) - var/user_ref = REF(user) - var/is_living = isliving(user) - // Living creature or not, we remove you anyway. - concurrent_users -= user_ref - // Unregister map objects - user.client.clear_map(map_name) - // Turn off the console - if(length(concurrent_users) == 0 && is_living) - active_camera = null - playsound(src, 'sound/machines/terminal_off.ogg', 25, FALSE) - use_power(0) + // Show static if can't use the camera + if(!active_camera_B?.can_use()) + show_camera_static() + return TRUE + + var/list/visible_turfs = list() + + if(!active_camera_B.loc) + return + + // Derived from https://github.com/tgstation/tgstation/pull/52767 + // Is this camera located in or attached to a living thing? If so, assume the camera's loc is the living thing. + var/cam_location = active_camera_B.loc + + // Is the camera in the following items? If so, let it transmit an image as normal + if((istype(cam_location, /obj/item/clothing/suit)) || (istype(cam_location, /obj/item/clothing/head/helmet)) || istype(cam_location, /obj/item/storage/belt)) + cam_location = active_camera_B.loc.loc + + // If we're not forcing an update for some reason and the cameras are in the same location, + // we don't need to update anything. + // Most security cameras will end here as they're not moving. + if(istype(active_camera, /obj/machinery/camera)) + return + + // Cameras that get here are moving, and are likely attached to some moving atom such as cyborgs. + last_camera_turf = get_turf(cam_location) + + var/list/visible_things = view(active_camera_B.view_range, cam_location) + + for(var/turf/visible_turf in visible_things) + visible_turfs += visible_turf + + var/list/bbox = get_bbox_of_atoms(visible_turfs) + var/size_x = bbox[3] - bbox[1] + 1 + var/size_y = bbox[4] - bbox[2] + 1 + + cam_screen.vis_contents = visible_turfs + cam_background.icon_state = "clear" + cam_background.fill_rect(1, 1, size_x, size_y) /obj/machinery/computer/security/proc/show_camera_static() cam_screen.vis_contents.Cut() cam_background.icon_state = "scanline2" cam_background.fill_rect(1, 1, default_map_size, default_map_size) -// Returns the list of cameras accessible from this computer /obj/machinery/computer/security/proc/get_available_cameras() var/list/L = list() - for (var/obj/machinery/camera/C in GLOB.cameranet.cameras) - if((is_away_level(src) || is_away_level(C)) && (C.virtual_z() != virtual_z()))//if on away mission, can only receive feed from same z_level cameras - continue + for (var/obj/C in GLOB.cameranet.cameras) + if(istype(C, /obj/machinery/camera)) + var/obj/machinery/camera/cam = C + if(cam.virtual_z() != virtual_z()) + if(cam.can_transmit_across_z_levels) + //let them transmit + else + continue + else if(istype(C, /obj/item/bodycamera)) + var/obj/item/bodycamera/cam = C + if((cam.virtual_z() != virtual_z()) || (cam.can_transmit_across_z_levels))//if on away mission, can only receive feed from same z_level cameras + if(cam.can_transmit_across_z_levels) + //let them transmit + else + continue L.Add(C) var/list/D = list() - for(var/obj/machinery/camera/C in L) - if(!C.network) - stack_trace("Camera in a cameranet has no camera network") - continue - if(!(islist(C.network))) - stack_trace("Camera in a cameranet has a non-list camera network") - continue - var/list/tempnetwork = C.network & network - if(tempnetwork.len) - D["[C.c_tag]"] = C + for(var/obj/C in L) + if(istype(C, /obj/machinery/camera)) + var/obj/machinery/camera/cam = C + if(!cam.network) + stack_trace("Camera in a cameranet has no camera network") + continue + if(!(islist(cam.network))) + stack_trace("Camera in a cameranet has a non-list camera network") + continue + var/list/tempnetwork = cam.network & network + if(tempnetwork.len) + D["[cam.c_tag]"] = C + + else if(istype(C, /obj/item/bodycamera)) + var/obj/item/bodycamera/cam = C + if(!cam.network) + stack_trace("Camera in a cameranet has no camera network") + continue + if(!(islist(cam.network))) + stack_trace("Camera in a cameranet has a non-list camera network") + continue + var/list/tempnetwork = cam.network & network + if(tempnetwork.len) + D["[cam.c_tag]"] = cam return D // SECURITY MONITORS diff --git a/code/game/objects/items/bodycamera.dm b/code/game/objects/items/bodycamera.dm new file mode 100644 index 000000000000..9472578f2e12 --- /dev/null +++ b/code/game/objects/items/bodycamera.dm @@ -0,0 +1,146 @@ +/obj/item/bodycamera + name = "body camera" + desc = "Ruggedized portable camera unit. Warranty void if exposed to space." + icon = 'icons/obj/item/bodycamera.dmi' + icon_state = "bodycamera-off" + resistance_flags = FIRE_PROOF //double check that this flag works for fireproof objects + var/list/network = list("default") + var/c_tag = "Body Camera" + var/c_tag_addition = "" + var/status = FALSE + var/start_active = FALSE //If it ignores the random chance to start broken on round start + var/area/myarea = null + w_class = WEIGHT_CLASS_SMALL + slot_flags = ITEM_SLOT_BELT + var/view_range = 5 + var/busy = FALSE + var/can_transmit_across_z_levels = FALSE + +/obj/item/bodycamera/Initialize() + . = ..() + for(var/i in network) + network -= i + network += lowertext(i) + + GLOB.cameranet.cameras += src + GLOB.cameranet.addCamera(src) + c_tag = "Body Camera - " + random_string(4, list("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F")) + update_appearance() + +/obj/item/bodycamera/Destroy() + if(can_use()) + toggle_cam(null, 0) //kick anyone viewing out and remove from the camera chunks + GLOB.cameranet.cameras -= src + return ..() + +/obj/item/bodycamera/examine(mob/user) + . += ..() + . += "The body camera is currently [status ? "ON" : "OFF"]. Alt-Click to toggle its status." + if(in_range(src, user)) + . += "The body camera is set to a nametag of '[c_tag]'." + . += "The body camera is set to transmit on the '[network[1]]' network." + . += "It looks like you can modify the camera settings by using a multitool on it." + +/obj/item/bodycamera/AltClick(mob/user) + . = ..() + if(!user.CanReach(src)) + return + if(do_after(user, 10, src, IGNORE_USER_LOC_CHANGE)) + status = !status + if(status) + icon_state = "bodycamera-on" + playsound(user, 'sound/items/bodycamera_on.ogg', 23, FALSE) + else + icon_state = "bodycamera-off" + playsound(user, 'sound/items/bodycamera_off.ogg', 23, FALSE) + user.visible_message( + span_notice("[user] turns [src] [status ? "ON" : "OFF"]."), + span_notice("You turn [src] [status ? "ON" : "OFF"]."), + update_appearance() + ) + +/obj/item/bodycamera/multitool_act(mob/living/user, obj/item/I) + . = ..() + var/obj/item/multitool/M = I + var/list/choice_list = list("Modify the camera tag", "Change the camera network", "Save the network to the multitool buffer", "Transfer the buffered network to the camera") + var/choice = tgui_input_list(user, "Select an option", "Camera Configuration", choice_list) + + switch(choice) + if("Modify the camera tag") + c_tag_addition = stripped_input(user, "Set a nametag for this camera. Ensure that it is no bigger than 32 characters long.", "Nametag Setup", max_length = 32) + if(c_tag_addition == "") + c_tag = "Body Camera - " + random_string(4, list("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F")) + else + c_tag = c_tag_addition + to_chat(user, "You set [src] nametag to '[c_tag]'.") + + if("Change the camera network") + network[1] = stripped_input(user, "Tune [src] to a specific network. Enter the network name and ensure that it is no bigger than 32 characters long. Network names are case sensitive.", "Network Tuning", max_length = 32) + to_chat(user, "You set [src] to transmit across the '[network[1]]' network.") + + if("Save the network to the multitool buffer") + M.buffer = network[1] + to_chat(user, "You add network '[network[1]]' to the multitool's buffer.") + + if("Transfer the buffered network to the camera") + network[1] = M.buffer + to_chat(user, "You tune [src] to transmit across the '[network[1]]' network using the saved data from the multiool's buffer.") + + return TRUE + +/obj/item/bodycamera/proc/setViewRange(num = 5) + src.view_range = num + GLOB.cameranet.updateVisibility(src, 0) + +/obj/item/bodycamera/proc/toggle_cam(mob/user, displaymessage = 1) + status = !status + if(can_use()) + GLOB.cameranet.addCamera(src) + myarea = null + else + GLOB.cameranet.removeCamera(src) + if (isarea(myarea)) + LAZYREMOVE(myarea.cameras, src) + GLOB.cameranet.updateChunk(x, y, z) + update_appearance() //update Initialize() if you remove this. + + // now disconnect anyone using the camera + //Apparently, this will disconnect anyone even if the camera was re-activated. + //I guess that doesn't matter since they can't use it anyway? + for(var/mob/O in GLOB.player_list) + if (O.client.eye == src) + O.unset_machine() + O.reset_perspective(null) + to_chat(O, "The screen bursts into static!") + +/obj/item/bodycamera/proc/can_use() + if(!status) + return FALSE + return TRUE + +/obj/item/bodycamera/proc/can_see() + var/list/see = null + var/turf/pos = get_turf(src) + see = view(view_range, pos) + return see + +/obj/item/bodycamera/proc/isXRay() + return FALSE + +/obj/item/bodycamera/update_remote_sight(mob/living/user) + user.see_invisible = SEE_INVISIBLE_LIVING //can't see ghosts through cameras + user.sight = SEE_BLACKNESS + user.see_in_dark = 2 + return 1 + +/obj/item/paper/guides/bodycam + name = "Portable Camera Unit Users Guide" + default_raw_text = "

Portable Camera Unit User's Guide\n
 The Mark I Portable Camera unit is a versatile solution ⠀   for all of your project management needs.\n\n
 Features
- Real-time visual data feedback
- Configurable EEPROM memory settings
- Passive thermal regulator
- Long-range millimeter-wave band antenna
- High-capacity self-recharging battery
- Easy to reach power button
\n\n To activate the camera, simply press and hold the\n power button for one second. You should hear a chime\n and a green status light should become lit.\n\n To deactivate the camera, depress the power button\n again for one second.\n\n In order to modify the settings of your portable camera\n unit, a ISO-standard multitool will be required.\n \n Simply connect the tool to the camera's settings port,\n and you should be able to modify the internal address\n of the camera, or the network configuration.\n\n You will also be able to save the network configuration\n of the camera and copy it to other Mark I Portable\n Camera units.\n\n We hope that our tools will provide the edge you need\n in order to ensure your team stays on-task." + + + + + + + + diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 39e7452b9bf0..c5e043976795 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -82,7 +82,8 @@ /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/gun/energy/plasmacutter + /obj/item/gun/energy/plasmacutter, + /obj/item/bodycamera )) /obj/item/storage/belt/utility/chief @@ -225,7 +226,8 @@ /obj/item/construction/plumbing, /obj/item/plunger, /obj/item/reagent_containers/spray, - /obj/item/shears + /obj/item/shears, + /obj/item/bodycamera )) /obj/item/storage/belt/medical/paramedic/PopulateContents() @@ -319,6 +321,7 @@ /obj/item/holosign_creator/security, /obj/item/stock_parts/cell/gun, /obj/item/ammo_box/magazine/ammo_stack, //handfuls of bullets + /obj/item/bodycamera, )) /obj/item/storage/belt/security/full/PopulateContents() @@ -404,7 +407,8 @@ /obj/item/storage/bag/plants, /obj/item/stack/marker_beacon, /obj/item/restraints/legcuffs/bola/watcher, - /obj/item/melee/sword/bone + /obj/item/melee/sword/bone, + /obj/item/bodycamera, )) diff --git a/code/modules/cargo/packs/tools.dm b/code/modules/cargo/packs/tools.dm index 4f89804880c4..7948bcb004db 100644 --- a/code/modules/cargo/packs/tools.dm +++ b/code/modules/cargo/packs/tools.dm @@ -39,6 +39,15 @@ /obj/item/clothing/glasses/meson/engine) crate_name = "engineering gear crate" +/datum/supply_pack/tools/bodycamera + name = "Body Camera Crate" + desc = "Contains two portable cameras, designed to help keep track of a working group at all times." + cost = 250 + contains = list(/obj/item/bodycamera, + /obj/item/bodycamera, + /obj/item/paper/guides/bodycam) + crate_name = "bodycamera crate" + /datum/supply_pack/tools/assbelt name = "Assault Belt" desc = "Contains an assault belt, with not one, not two, but six pockets." diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index 27136c4bbc94..542f216ca2bd 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -118,18 +118,33 @@ GLOBAL_DATUM_INIT(cameranet, /datum/cameranet, new) chunk.hasChanged() /// Removes a camera from a chunk. -/datum/cameranet/proc/removeCamera(obj/machinery/camera/c) - majorChunkChange(c, 0) +/datum/cameranet/proc/removeCamera(obj/C) + if((istype(C, /obj/machinery/camera))||(istype(C, /obj/item/bodycamera))) + majorChunkChange(C, 0) /// Add a camera to a chunk. -/datum/cameranet/proc/addCamera(obj/machinery/camera/c) - if(c.can_use()) - majorChunkChange(c, 1) +/datum/cameranet/proc/addCamera(obj/C) + if(istype(C, /obj/machinery/camera)) + var/obj/machinery/camera/cam = C + if(cam.can_use()) + majorChunkChange(cam, 1) + + if(istype(C, /obj/item/bodycamera)) + var/obj/item/bodycamera/cam = C + if(cam.can_use()) + majorChunkChange(cam, 1) /// Used for Cyborg cameras. Since portable cameras can be in ANY chunk. -/datum/cameranet/proc/updatePortableCamera(obj/machinery/camera/c) - if(c.can_use()) - majorChunkChange(c, 1) +/datum/cameranet/proc/updatePortableCamera(obj/C) + if(istype(C, /obj/machinery/camera)) + var/obj/machinery/camera/cam = C + if(cam.can_use()) + majorChunkChange(cam, 1) + + if(istype(C, /obj/item/bodycamera)) + var/obj/item/bodycamera/cam = C + if(cam.can_use()) + majorChunkChange(cam, 1) /// Never access this proc directly!!!! /// This will update the chunk and all the surrounding chunks. diff --git a/code/modules/modular_computers/file_system/programs/secureye.dm b/code/modules/modular_computers/file_system/programs/secureye.dm index ca770b6f5b77..419ea05a5af0 100644 --- a/code/modules/modular_computers/file_system/programs/secureye.dm +++ b/code/modules/modular_computers/file_system/programs/secureye.dm @@ -8,12 +8,13 @@ extended_desc = "This program allows access to standard security camera networks." requires_ntnet = TRUE transfer_access = ACCESS_SECURITY - usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP + usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP | PROGRAM_TABLET size = 5 tgui_id = "NtosSecurEye" program_icon = "eye" var/list/network = list("ss13") + var/temp_network = list("") var/obj/machinery/camera/active_camera /// The turf where the camera was last updated. var/turf/last_camera_turf @@ -96,22 +97,44 @@ var/list/cameras = get_available_cameras() data["cameras"] = list() for(var/i in cameras) - var/obj/machinery/camera/C = cameras[i] - data["cameras"] += list(list( - name = C.c_tag, - )) - + var/obj/C = cameras[i] + if(istype(C, /obj/machinery/camera)) + var/obj/machinery/camera/C_cam = C + data["cameras"] += list(list( + name = C_cam.c_tag, + )) + else if(istype(C, /obj/item/bodycamera)) + var/obj/item/bodycamera/C_cam = C + data["cameras"] += list(list( + name = C_cam.c_tag, + )) return data -/datum/computer_file/program/secureye/ui_act(action, params) +//This is the only way to refresh the UI, from what I've found +/datum/computer_file/program/secureye/proc/ui_refresh(mob/user, datum/tgui/ui) + ui.close() + ui_interact(user, ui) + show_camera_static() + +/datum/computer_file/program/secureye/ui_act(action, params, ui) . = ..() if(.) return + if(action == "set_network") + network = temp_network + ui_refresh(usr, ui) + + if(action == "set_temp_network") + temp_network = sanitize_filename(params["name"]) + + if(action == "refresh") + ui_refresh(usr, ui) + if(action == "switch_camera") var/c_tag = params["name"] var/list/cameras = get_available_cameras() - var/obj/machinery/camera/selected_camera = cameras[c_tag] + var/obj/selected_camera = cameras[c_tag] active_camera = selected_camera playsound(src, get_sfx("terminal_type"), 25, FALSE) @@ -137,21 +160,34 @@ /datum/computer_file/program/secureye/proc/update_active_camera_screen() // Show static if can't use the camera - if(!active_camera?.can_use()) - show_camera_static() - return + if(istype(active_camera, /obj/machinery/camera)) + var/obj/machinery/camera/active_camera_S = active_camera + if(!active_camera_S?.can_use()) + show_camera_static() + return + else if(istype(active_camera, /obj/item/bodycamera)) + var/obj/item/bodycamera/active_camera_B = active_camera + if(!active_camera_B?.can_use()) + show_camera_static() + return var/list/visible_turfs = list() - // Is this camera located in or attached to a living thing? If so, assume the camera's loc is the living thing. - var/cam_location = isliving(active_camera.loc) ? active_camera.loc : active_camera + if(!active_camera.loc) + return + + var/cam_location = active_camera.loc + + if((istype(cam_location, /obj/item/clothing/suit)) || (istype(cam_location, /obj/item/clothing/head/helmet)) || istype(cam_location, /obj/item/storage/belt)) + cam_location = active_camera.loc.loc // If we're not forcing an update for some reason and the cameras are in the same location, // we don't need to update anything. // Most security cameras will end here as they're not moving. - var/newturf = get_turf(cam_location) - if(last_camera_turf == newturf) - return + if(istype(active_camera, /obj/machinery/camera)) + var/newturf = get_turf(cam_location) + if(last_camera_turf == newturf) + return // Cameras that get here are moving, and are likely attached to some moving atom such as cyborgs. last_camera_turf = get_turf(cam_location) @@ -177,19 +213,45 @@ // Returns the list of cameras accessible from this computer /datum/computer_file/program/secureye/proc/get_available_cameras() var/list/L = list() - for (var/obj/machinery/camera/cam as anything in GLOB.cameranet.cameras) - if(cam.virtual_z() != computer.virtual_z())//Only show cameras on the same level. - continue + for (var/obj/cam as anything in GLOB.cameranet.cameras) + if(istype(cam, /obj/machinery/camera)) + var/obj/machinery/camera/cam_S = cam + if((cam_S.virtual_z() != computer.virtual_z()) || (cam_S.can_transmit_across_z_levels)) //Only show cameras on the same level. + if(cam_S.can_transmit_across_z_levels) + //let them transmit + else + continue + else if(istype(cam, /obj/item/bodycamera)) + var/obj/machinery/camera/cam_B = cam + if((cam_B.virtual_z() != computer.virtual_z()) || (cam_B.can_transmit_across_z_levels)) //Only show cameras on the same level. + if(cam_B.can_transmit_across_z_levels) + //let them transmit + else + continue L.Add(cam) var/list/camlist = list() - for(var/obj/machinery/camera/cam as anything in L) - if(!cam.network) - stack_trace("Camera in a cameranet has no camera network") - continue - if(!(islist(cam.network))) - stack_trace("Camera in a cameranet has a non-list camera network") - continue - var/list/tempnetwork = cam.network & network - if(tempnetwork.len) - camlist["[cam.c_tag]"] = cam + for(var/obj/cam as anything in L) + if(istype(cam, /obj/machinery/camera)) + var/obj/machinery/camera/cam_S = cam + if(!cam_S.network) + stack_trace("Camera in a cameranet has no camera network") + continue + if(!(islist(cam_S.network))) + stack_trace("Camera in a cameranet has a non-list camera network") + continue + var/list/tempnetwork = cam_S.network & network + if(tempnetwork.len) + camlist["[cam_S.c_tag]"] = cam + + else if(istype(cam, /obj/item/bodycamera)) + var/obj/machinery/camera/cam_B = cam + if(!cam_B.network) + stack_trace("Camera in a cameranet has no camera network") + continue + if(!(islist(cam_B.network))) + stack_trace("Camera in a cameranet has a non-list camera network") + continue + var/list/tempnetwork = cam_B.network & network + if(tempnetwork.len) + camlist["[cam_B.c_tag]"] = cam return camlist diff --git a/icons/obj/item/bodycamera.dmi b/icons/obj/item/bodycamera.dmi new file mode 100644 index 0000000000000000000000000000000000000000..180fdd0975d29409a341aaf1fee72d8d8560f8fc GIT binary patch literal 515 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 literal 0 HcmV?d00001 diff --git a/sound/items/bodycamera_on.ogg b/sound/items/bodycamera_on.ogg new file mode 100644 index 0000000000000000000000000000000000000000..08d4ca68d19eeb6cb063a27fadf9282403911a73 GIT binary patch literal 16490 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 literal 0 HcmV?d00001 diff --git a/tgui/packages/tgui/interfaces/CameraConsole.js b/tgui/packages/tgui/interfaces/CameraConsole.js index 5af1f139c3cb..b19ab142d9d6 100644 --- a/tgui/packages/tgui/interfaces/CameraConsole.js +++ b/tgui/packages/tgui/interfaces/CameraConsole.js @@ -54,6 +54,9 @@ export const CameraConsole = (props, context) => {
+ Network: + {data.network || '—'} + {'\n'} Camera: {(activeCamera && activeCamera.name) || '—'}
@@ -100,7 +103,22 @@ export const CameraConsoleContent = (props, context) => { + act('set_temp_network', { + name: value, + }) + } + /> +
+ Network: + {data.network || '—'} + {'\n'} Camera: {(activeCamera && activeCamera.name) || '—'}
From 34b3899ee0add78bc93910285b32522b557d485c Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 28 Jan 2025 20:25:00 -0600 Subject: [PATCH 192/330] Automatic changelog generation for PR #3952 [ci skip] --- html/changelogs/AutoChangeLog-pr-3952.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3952.yml diff --git a/html/changelogs/AutoChangeLog-pr-3952.yml b/html/changelogs/AutoChangeLog-pr-3952.yml new file mode 100644 index 000000000000..fbdbe02ab4fc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3952.yml @@ -0,0 +1,6 @@ +author: Rye-Rice, Timberpoes +changes: + - {rscadd: Added bodycameras} + - {rscadd: Added the ability to set custom networks on cameras and camera consoles} + - {code_imp: Made camera consoles and SecurEye have better parity} +delete-after: true From 9bbe0d2b22345beb11bdb40c5eb9254079bdc1d0 Mon Sep 17 00:00:00 2001 From: Ical <86125936+Ical92@users.noreply.github.com> Date: Tue, 28 Jan 2025 21:30:22 -0500 Subject: [PATCH 193/330] (Autowiki) Ship size is calculated by area rather than longest dimension (#4091) ## About The Pull Request Calculates the ship size used on the autowiki templates by `width*height` instead of `max(width, height)`, distributing the calculated sizes found away from mostly being medium.
New calculated sizes

- Nimbus-Class, Small - Atoll-class, Medium - Bubble-class, Small - Mk.II Dwayne-class, Small - Falmouth-class, Small - Junker-class, Small - Kilo-class, Small - Mudskipper-class, Small - Raleigh-class, Large - Riggs-class, Medium - Scarab-class, Medium - Shetland-class, Medium - Sunskipper-class, Small - Colossus-class, Medium - Talos-class, Large - Valor-class, Medium - Vaquero-class, Small - Arke-class, Small - Atlas-class, Medium - Delta-class, Small - Harrier-class, Large - Meta-class, Small - Ranger-class, Large - Tegu-class, Medium - Crying Sun-class, Large - Elated Bolide-Class, Large - Cthonian-class, Small - Tortuga-class, Large - Inkwell-class, Medium - Paracelsus-class, Medium - Elder-class, Large - Li Tieguai-class, Small - Komodo-class, Medium - Banshee-Class, Medium - Derecho-class, Medium - Haboob-class, Small - Kali Andhi-class, Large - Panacea-class, Large - Twinkleshine-class, Large

## Why It's Good For The Game Better representation of the size of a ship in its wiki description, rather than most ships being Medium. ## Changelog :cl: fix: adjusted autowiki ship size calculations /:cl: --------- Signed-off-by: Ical <86125936+Ical92@users.noreply.github.com> Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/modules/autowiki/pages/ships.dm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/code/modules/autowiki/pages/ships.dm b/code/modules/autowiki/pages/ships.dm index 56b59c8b6540..fe07ac402858 100644 --- a/code/modules/autowiki/pages/ships.dm +++ b/code/modules/autowiki/pages/ships.dm @@ -12,16 +12,14 @@ continue var/size = "Unknown" - var/longest_dimension = max(ship.width, ship.height) - switch(longest_dimension) - if(0 to 19) + var/ship_area = (ship.width * ship.height) + switch(ship_area) + if(0 to 749) size = "Small" - if(20 to 39) + if(750 to 1249) size = "Medium" - if(40 to 56) + if(1250 to INFINITY) size = "Large" - if(57 to INFINITY) - size = "Undockable" //let's hope this is never the case var/ship_name = escape_value(ship.name) output[ship_name] = include_template("Autowiki/Ship", list( From e3cbba46ea1f776e74961b2b7ae2aa49e5106cba Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 28 Jan 2025 20:41:22 -0600 Subject: [PATCH 194/330] Automatic changelog generation for PR #4091 [ci skip] --- html/changelogs/AutoChangeLog-pr-4091.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4091.yml diff --git a/html/changelogs/AutoChangeLog-pr-4091.yml b/html/changelogs/AutoChangeLog-pr-4091.yml new file mode 100644 index 000000000000..8d470a20cf2d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4091.yml @@ -0,0 +1,4 @@ +author: Ical92 +changes: + - {bugfix: adjusted autowiki ship size calculations} +delete-after: true From 2c7b37fb8ad8241c4ad268d855a439955ab01553 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Tue, 28 Jan 2025 20:13:21 -0800 Subject: [PATCH 195/330] Minor Abandoned Listening Post Housekeeping (#4096) ## About The Pull Request Adjusts the abandoned listening post minorly after it's introduction. Fixes firearms not being in their cabinets, replaces the Cobra with a Sidewinder, adds a Cybersun uniform in a closet, and a stamp on a table. ## Why It's Good For The Game Brings this ruin a bit more in-line with others, and doesn't make it's loot feel so nothingburger, especially after the Mob Armor PR. ## Changelog :cl: balance: Abandoned Listening Post has been slightly adjusted to have marginally better loot. /:cl: --- .../lavaland_abandonedlisteningpost.dmm | 46 +++++++++++++++---- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm index 934f0ffe01ef..150dd5c30b84 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm @@ -210,6 +210,14 @@ }, /turf/open/floor/plating/asteroid/basalt/lava, /area/ruin/unpowered) +"ea" = ( +/obj/structure/table/reinforced, +/obj/item/table_bell{ + pixel_x = -4; + pixel_y = 13 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) "eN" = ( /obj/effect/turf_decal/corner/opaque/syndiered/half, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -411,6 +419,10 @@ /obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 4 }, +/obj/item/stamp/cybersun{ + pixel_x = -9; + pixel_y = 2 + }, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/listening_post/operations) "gT" = ( @@ -1109,16 +1121,14 @@ /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/structure/closet/secure_closet/armorycage, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, +/obj/item/gun/ballistic/automatic/smg/sidewinder/no_mag{ + pixel_x = -7 + }, +/obj/item/gun/ballistic/automatic/pistol/ringneck/no_mag, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/listening_post/operations) "tf" = ( @@ -1673,6 +1683,10 @@ /obj/effect/turf_decal/siding/wood{ dir = 4 }, +/obj/item/desk_flag/trans{ + pixel_y = 9; + pixel_x = -9 + }, /turf/open/floor/carpet/nanoweave/red, /area/ruin/unpowered/listening_post/commons) "Ey" = ( @@ -2069,6 +2083,9 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 5 }, +/obj/item/gun/ballistic/automatic/pistol/himehabu, +/obj/item/ammo_box/magazine/m22lr_himehabu, +/obj/item/folder/syndicate, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/listening_post/operations) "NK" = ( @@ -2164,6 +2181,15 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, +/obj/structure/closet/secure_closet/armorycage{ + anchored = 1; + can_be_unanchored = 1; + name = "ammunition locker" + }, +/obj/item/ammo_box/magazine/m57_39_sidewinder, +/obj/item/ammo_box/magazine/m57_39_sidewinder, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/listening_post/operations) "OW" = ( @@ -2337,11 +2363,11 @@ /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 }, +/obj/item/clothing/head/soft/cybersun, +/obj/item/clothing/suit/cybersun_suit, /turf/open/floor/carpet/nanoweave/red, /area/ruin/unpowered/listening_post/commons) "TS" = ( @@ -3081,7 +3107,7 @@ hE Di OW mG -mG +ea EM RV KS From 0dc96b3825fc3cd6daf1923a2ddf78b8447be248 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 28 Jan 2025 22:23:38 -0600 Subject: [PATCH 196/330] Automatic changelog generation for PR #4096 [ci skip] --- html/changelogs/AutoChangeLog-pr-4096.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4096.yml diff --git a/html/changelogs/AutoChangeLog-pr-4096.yml b/html/changelogs/AutoChangeLog-pr-4096.yml new file mode 100644 index 000000000000..f9a497f59982 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4096.yml @@ -0,0 +1,5 @@ +author: firebudgy +changes: + - {balance: Abandoned Listening Post has been slightly adjusted to have marginally + better loot.} +delete-after: true From 93d5080c7734d0dc487d12154e3930492725a2ca Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 30 Jan 2025 01:00:37 +0000 Subject: [PATCH 197/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3952.yml | 6 ------ html/changelogs/AutoChangeLog-pr-4091.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4094.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4096.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4098.yml | 4 ---- html/changelogs/archive/2025-01.yml | 15 +++++++++++++++ 6 files changed, 15 insertions(+), 24 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3952.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4091.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4094.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4096.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4098.yml diff --git a/html/changelogs/AutoChangeLog-pr-3952.yml b/html/changelogs/AutoChangeLog-pr-3952.yml deleted file mode 100644 index fbdbe02ab4fc..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3952.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Rye-Rice, Timberpoes -changes: - - {rscadd: Added bodycameras} - - {rscadd: Added the ability to set custom networks on cameras and camera consoles} - - {code_imp: Made camera consoles and SecurEye have better parity} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4091.yml b/html/changelogs/AutoChangeLog-pr-4091.yml deleted file mode 100644 index 8d470a20cf2d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4091.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Ical92 -changes: - - {bugfix: adjusted autowiki ship size calculations} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4094.yml b/html/changelogs/AutoChangeLog-pr-4094.yml deleted file mode 100644 index e0e6f72ef0ac..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4094.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: generalthrax -changes: - - {balance: 'Morphine now requires more cycles to put you to sleep, giving more - combat utility'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4096.yml b/html/changelogs/AutoChangeLog-pr-4096.yml deleted file mode 100644 index f9a497f59982..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4096.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: firebudgy -changes: - - {balance: Abandoned Listening Post has been slightly adjusted to have marginally - better loot.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4098.yml b/html/changelogs/AutoChangeLog-pr-4098.yml deleted file mode 100644 index c9119ddd9d57..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4098.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Thera-Pissed -changes: - - {rscdel: fried eggs no longer fried foodtype} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index 0be40e9b826a..6ee35dfa078d 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -300,3 +300,18 @@ - balance: The reflective trait now grants full reflection instead of a 50/50 chance. - refactor: Refactored alot of trickwine code, they work off of effects now and are easier to read. +2025-01-30: + Ical92: + - bugfix: adjusted autowiki ship size calculations + Rye-Rice, Timberpoes: + - rscadd: Added bodycameras + - rscadd: Added the ability to set custom networks on cameras and camera consoles + - code_imp: Made camera consoles and SecurEye have better parity + Thera-Pissed: + - rscdel: fried eggs no longer fried foodtype + firebudgy: + - balance: Abandoned Listening Post has been slightly adjusted to have marginally + better loot. + generalthrax: + - balance: Morphine now requires more cycles to put you to sleep, giving more combat + utility From 7f62994fa0311ae2f97afae34fb2ee66cc177c18 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Thu, 30 Jan 2025 13:12:57 -0800 Subject: [PATCH 198/330] Corrects magazine desc for Model 20 pistol (#4108) ## About The Pull Request Auto Elite magazines now correctly state they can hold nine rounds instead of ten. ## Why It's Good For The Game ## Changelog :cl: fix: Auto Elite magazines now advertise the correct capacity /:cl: --- code/modules/cargo/packs/magazines.dm | 2 +- .../projectiles/guns/manufacturer/serene_sporting/ballistics.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/cargo/packs/magazines.dm b/code/modules/cargo/packs/magazines.dm index 9bbc06083fda..a6ca412b1db8 100644 --- a/code/modules/cargo/packs/magazines.dm +++ b/code/modules/cargo/packs/magazines.dm @@ -87,7 +87,7 @@ /datum/supply_pack/magazine/m20_auto_elite name = "Auto Elite Magazine Crate" - desc = "Contains a .44 Roumain magazine for the Auto Elite pistol, with a capacity of ten rounds." + desc = "Contains a .44 Roumain magazine for the Auto Elite pistol, with a capacity of nine rounds." contains = list(/obj/item/ammo_box/magazine/m20_auto_elite/empty) cost = 250 diff --git a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm index 8f26b01bb7cb..3d7b334a56d0 100644 --- a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm @@ -99,7 +99,7 @@ NO_MAG_GUN_HELPER(automatic/pistol/m20_auto_elite) /obj/item/ammo_box/magazine/m20_auto_elite name = "Model 20 magazine (.44 Roumain)" - desc = "A 10-round magazine designed for the Model 20 pistol. These rounds do good damage, and fare better against armor." + desc = "A nine-round magazine designed for the Model 20 pistol. These rounds do good damage, and fare better against armor." icon_state = "cm23_mag-1" base_icon_state = "cm23_mag" ammo_type = /obj/item/ammo_casing/a44roum From f8bb520e880966e0df67b88f3657d1ef68c3c501 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 30 Jan 2025 15:23:38 -0600 Subject: [PATCH 199/330] Automatic changelog generation for PR #4108 [ci skip] --- html/changelogs/AutoChangeLog-pr-4108.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4108.yml diff --git a/html/changelogs/AutoChangeLog-pr-4108.yml b/html/changelogs/AutoChangeLog-pr-4108.yml new file mode 100644 index 000000000000..d62bb9207998 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4108.yml @@ -0,0 +1,4 @@ +author: Apogee-dev +changes: + - {bugfix: Auto Elite magazines now advertise the correct capacity} +delete-after: true From 761aaea32257318d4a9b383c05b8e353689f62b8 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 31 Jan 2025 01:01:48 +0000 Subject: [PATCH 200/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4108.yml | 4 ---- html/changelogs/archive/2025-01.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4108.yml diff --git a/html/changelogs/AutoChangeLog-pr-4108.yml b/html/changelogs/AutoChangeLog-pr-4108.yml deleted file mode 100644 index d62bb9207998..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4108.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Apogee-dev -changes: - - {bugfix: Auto Elite magazines now advertise the correct capacity} -delete-after: true diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml index 6ee35dfa078d..12ae4801fd04 100644 --- a/html/changelogs/archive/2025-01.yml +++ b/html/changelogs/archive/2025-01.yml @@ -315,3 +315,6 @@ generalthrax: - balance: Morphine now requires more cycles to put you to sleep, giving more combat utility +2025-01-31: + Apogee-dev: + - bugfix: Auto Elite magazines now advertise the correct capacity From 7b3aeefd0091620d9ccf37124cd4908d365cefde Mon Sep 17 00:00:00 2001 From: Imaginos16 <77556824+Imaginos16@users.noreply.github.com> Date: Thu, 30 Jan 2025 17:27:59 -0800 Subject: [PATCH 201/330] Concrete-Ening: Floor Tile Edition (#4106) ## About The Pull Request This PR proudly updates all the concrete tiles to better match the new concrete walls created previously by @rye-rice! It also gives smooth concrete as well as pavement unique variations so it doesn't look repetitive! ![image](https://github.com/user-attachments/assets/36276b46-1249-4d1d-b9c2-dae39c0d76db) In game screenshots: ![image](https://github.com/user-attachments/assets/073a9579-5752-4577-8e3c-a23cb1abb84e) ![image](https://github.com/user-attachments/assets/468df905-846c-40b9-8bdc-fca7ffa953f2) ![image](https://github.com/user-attachments/assets/d8dfeb7f-9e21-4fb9-bbc1-bf057cb8e970) ## Why It's Good For The Game ![image](https://github.com/user-attachments/assets/7c87cd91-226f-4aa8-8e5a-99455def7f74) ## Changelog :cl: PositiveEntropy imageadd: Concrete, hexacrete and pavement tile sprites and varieties have been updated! /:cl: --- code/game/turfs/open/floor/conc_floor.dm | 16 ++++++++++++++-- icons/turf/floors.dmi | Bin 437940 -> 427913 bytes icons/turf/floors/concrete.dmi | Bin 0 -> 14293 bytes icons/turf/floors/hexacrete.dmi | Bin 1949 -> 12392 bytes 4 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 icons/turf/floors/concrete.dmi diff --git a/code/game/turfs/open/floor/conc_floor.dm b/code/game/turfs/open/floor/conc_floor.dm index 542ac66c1355..3cf28ad4a150 100644 --- a/code/game/turfs/open/floor/conc_floor.dm +++ b/code/game/turfs/open/floor/conc_floor.dm @@ -1,7 +1,9 @@ /turf/open/floor/concrete name = "concrete floor" desc = "Cold, bare concrete flooring." - icon_state = "conc_smooth" + icon = 'icons/turf/floors/concrete.dmi' + icon_state = "conc_smooth_1" + base_icon_state = "conc_smooth" broken_states = list("concdam_1", "concdam_2", "concdam_3", "concdam_4") floor_tile = null tiled_dirt = FALSE @@ -15,6 +17,7 @@ // 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/has_variation = TRUE var/shape_types = list( /turf/open/floor/concrete, @@ -31,6 +34,8 @@ /turf/open/floor/concrete/Initialize() . = ..() + if(has_variation) + icon_state = "[base_icon_state]_[rand(1,4)]" check_harden() update_appearance() @@ -198,19 +203,24 @@ /turf/open/floor/concrete/slab_1 icon_state = "conc_slab_1" + has_variation = FALSE /turf/open/floor/concrete/slab_2 icon_state = "conc_slab_2" + has_variation = FALSE /turf/open/floor/concrete/slab_3 icon_state = "conc_slab_3" + has_variation = FALSE /turf/open/floor/concrete/slab_4 icon_state = "conc_slab_4" tiled_dirt = TRUE + has_variation = FALSE /turf/open/floor/concrete/tiles icon_state = "conc_tiles" + has_variation = FALSE /turf/open/floor/concrete/reinforced name = "hexacrete floor" @@ -218,6 +228,7 @@ icon = 'icons/turf/floors/hexacrete.dmi' icon_state = "hexacrete-0" base_icon_state = "hexacrete" + has_variation = FALSE smoothing_flags = SMOOTH_BITMASK smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_OPEN_FLOOR, SMOOTH_GROUP_FLOOR_HEXACRETE) canSmoothWith = list(SMOOTH_GROUP_FLOOR_HEXACRETE) @@ -273,7 +284,8 @@ /turf/open/floor/concrete/pavement name = "pavement" desc = "The hot, coarse, and somewhat pavement. Vehicles driven on this are generally quiter than on traditional concrete, and is prefered for roadways." - icon_state = "pavement" + icon_state = "pavement_1" + base_icon_state = "pavement" broken_states = null shape_types = list( /turf/open/floor/concrete/pavement, diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index 1dbb3a101faeacb1ea8dcae9c3ff16558e6ee26c..e9271ecdff02d7df38b13356821337d9a6504574 100644 GIT binary patch delta 69105 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 IM6N<$f|!>YmjD0& delta 79212 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�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 Srb`$^cyu-OA5?1Ch5rwugUT%c diff --git a/icons/turf/floors/concrete.dmi b/icons/turf/floors/concrete.dmi new file mode 100644 index 0000000000000000000000000000000000000000..750165c928aa2ff1666125a9966109a5f794ef27 GIT binary patch literal 14293 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 Yp&%yNt{BE&2blC9Jk}|{Zx{JL0E4hFR{#J2 delta 1916 zcmV-?2ZQ+NV4V+;7&HU}0002!19#E@000tDOjJbx003rYT`(>uPftdGesoz_Q(ilA z8vpJg@Syx;UryLGOT=h(+#xmcr;A&i$HelK(EVpxvp5MJGB3NftmR3-g5 z&C6F&$$9Fo;d}nU3SbRjEnppB3&3sw>jAq3Y)QO8#u4X)SSQ3gA%ErxanGP=63vE~ zVu=h(qG5>)N5bq#nhUg2WX_&s!xI^v%-NGUmqdoZjb$rKOccv#R7(!&cBnoIq`N@6 zQKY0qeUqcY$;n?DR%Xac^MBhjUANWe11$U;0J0olkAIMMeE+L_J8YNeS=F;}n(i#gj2PZn#s>98ewNcPbyJtFKEI^5 zZ+#qp_1*Dqw|H>2chEjzd+6gWrt3Ywq_>AY{_MKjhh^+)kI){mT^aD!9n*wnQwKEL zBed5H_~Uj-bDM3@1~l8FXx9cD$J3au(>c9d&*OC*&mZ&a`hOWa+UK{TeZ=8YivjhUur%W)teA`;TKdVFuwnu8m9X>yO<1u| zcNbT-s~I@bmfHWAZ#!Ea19P8uH4ERUQtX&u4&`c(E2k)NjI) z{%gW|41dp`^JV~EdGXG}orf#&@C9PHbv~5(P1pdu@?wpLsNX(TU4Qf;Vx|{y)pjj+ z^_MZw7Q$p5inv$^3yk|T6$1)?1=9fqkEU7FE%YH`rWcp~_qP(Gw&+LDhlnT85{SWn zM2!11N2V7qpbrr+QTvXSXo@0Awk>H8}MNH&AOPBY~ zB#v+|MqJhpiJlWUnIFTQhUG6-5A^mAEPt^Wdiw`9N4Edz?H^eFqWhuF{(=l+p#~ZWg;$P%)RkQeU*|hc$Z9GNrz_^Kj?kGdz5O7;c>p+w`7kN_{b)erv_T(tj!q zaq!n6Y=2<`#Bfk}7zt+nZXUK`HxDO*nZKWh1XF*;!;a`dqW`FW!9%78iT|Q(S>XN zE}@Pgd6)|!9$aC?fH0rQhbs)ur^*=KV(-E=F@*D}7{j9rR~Vj8l{_r>RVEX2-WC1< z^A+G|V`im4#t=1mG%>$-7XC7ZxUbU6L&ab6Fx?3Nk0xfO_)8vEJU`fKc7F`Nz>tUZ zd5KoDdH4lJc(}g3MhqY0S3I}WYM2i<=3&M2gX_ky;`zaKd06rM;LgLHhu_S@e>H~R zm=7zSA8h6!eSWa#@qB6V{2)7TYJZ+j&1RnSX8N#3|FO%b5789;$1d|;%JiV7|JWsdZ>A5? zH2udeF+Zjc(KP+XW4M^#3i_}uhR@_XR}5Fkhcz)=H6K>Q(Bk0}`EHM)nBNNP(ux>D zKHQXtE9gUC3|G*HH8EUOA6CS0=i$!7Js*}a{KkB^faHKM@%{%+O^(q>MV6ib0000 Date: Thu, 30 Jan 2025 19:38:36 -0600 Subject: [PATCH 202/330] Automatic changelog generation for PR #4106 [ci skip] --- html/changelogs/AutoChangeLog-pr-4106.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4106.yml diff --git a/html/changelogs/AutoChangeLog-pr-4106.yml b/html/changelogs/AutoChangeLog-pr-4106.yml new file mode 100644 index 000000000000..2ec1eba6b700 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4106.yml @@ -0,0 +1,5 @@ +author: PositiveEntropy +changes: + - {imageadd: 'Concrete, hexacrete and pavement tile sprites and varieties have been + updated!'} +delete-after: true From ec798a2d0f5275bd2b4fbd2f9960da082cd91832 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Thu, 30 Jan 2025 19:36:29 -0800 Subject: [PATCH 203/330] Adds ammo boxes to the Vaquero (#4110) ## About The Pull Request Slightly adjusts the armory of the Vaquero and adds a 9mm and Buckshot ammo can to it. ## Why It's Good For The Game The ship has guns. The guns lack ammo boxes. Nearly all other ships that start with guns come with ammo boxes. 9mm and Buckshot are infamous at chewing through ammo when doing anything. The ship no longer needs to buy boxes roundstart to function in it's intended role. ## Changelog :cl: balance: Vaquero now has ammo. /:cl: --- _maps/shuttles/inteq/inteq_vaquero.dmm | 100 ++++++++++++++----------- 1 file changed, 55 insertions(+), 45 deletions(-) diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index 2098c9475e79..e74bc4aa962b 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -261,37 +261,17 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, -/obj/structure/closet/secure_closet{ - icon_state = "armory"; - name = "weapons locker"; - req_access_txt = "3" - }, /obj/machinery/light/small/directional/north, -/obj/item/ammo_box/magazine/m12g_bulldog{ - pixel_x = -5; - pixel_y = -5 - }, -/obj/item/ammo_box/magazine/m12g_bulldog{ - pixel_x = 5 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = 5 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = -5 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = 5 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = -5 +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/secure_closet/armorycage{ + req_access = null; + req_access_txt = "3" }, /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/effect/decal/cleanable/dirt/dust, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security) "fc" = ( @@ -391,7 +371,6 @@ /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "gh" = ( -/obj/machinery/photocopier, /obj/effect/turf_decal/corner/opaque/brown{ dir = 4 }, @@ -399,6 +378,7 @@ dir = 1 }, /obj/machinery/computer/helm/viewscreen/directional/north, +/obj/structure/filingcabinet/chestdrawer, /turf/open/floor/plasteel/dark, /area/ship/security) "gl" = ( @@ -1854,7 +1834,6 @@ /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Ci" = ( -/obj/structure/filingcabinet/chestdrawer, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/effect/turf_decal/corner/opaque/brown{ dir = 4 @@ -1865,6 +1844,7 @@ /obj/effect/turf_decal/corner/opaque/yellow, /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/photocopier, /turf/open/floor/plasteel/dark, /area/ship/security) "Cl" = ( @@ -1975,6 +1955,36 @@ /obj/structure/chair/handrail{ dir = 1 }, +/obj/structure/closet/crate/secure/gear{ + req_access_txt = "1"; + name = "ammo crate" + }, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = -5 + }, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = 5 + }, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = -5 + }, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = 5 + }, +/obj/item/ammo_box/magazine/m12g_bulldog{ + pixel_x = -5; + pixel_y = -5 + }, +/obj/item/ammo_box/magazine/m12g_bulldog{ + pixel_x = 5 + }, +/obj/item/storage/toolbox/ammo/shotgun{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/storage/toolbox/ammo/c9mm{ + pixel_y = 12 + }, /turf/open/floor/plasteel/tech, /area/ship/security) "Dh" = ( @@ -2215,11 +2225,6 @@ /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "Hw" = ( -/obj/structure/closet/secure_closet{ - icon_state = "sec"; - name = "equipment locker"; - req_access_txt = "1" - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -2227,26 +2232,31 @@ /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 1 }, -/obj/item/clothing/suit/armor/vest/bulletproof, -/obj/item/clothing/head/helmet/swat/inteq, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/glasses/hud/security/sunglasses/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, -/obj/item/storage/box/zipties, /obj/machinery/airalarm/directional/west, /obj/structure/sign/warning/nosmoking/circle{ pixel_y = 23 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/item/melee/knife/survival, -/obj/item/melee/knife/survival, -/obj/item/melee/knife/survival, +/obj/structure/crate_shelf, +/obj/effect/mapping_helpers/crate_shelve, +/obj/structure/closet/crate/secure/gear{ + req_access_txt = "1" + }, /obj/item/attachment/rail_light, /obj/item/attachment/rail_light, /obj/item/attachment/rail_light, +/obj/item/storage/box/zipties, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/clothing/gloves/combat, +/obj/item/melee/baton/loaded, +/obj/item/storage/belt/security/webbing/inteq, +/obj/item/clothing/mask/balaclava/inteq, +/obj/item/clothing/glasses/hud/security/sunglasses/inteq, +/obj/item/clothing/head/helmet/swat/inteq, +/obj/item/storage/belt/security/webbing/inteq/alt, +/obj/item/clothing/suit/armor/vest/bulletproof, /turf/open/floor/plasteel/tech/grid, /area/ship/security) "HN" = ( @@ -3281,9 +3291,9 @@ /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 1 }, +/obj/effect/decal/cleanable/dirt/dust, /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) From 2cfc41c97efd1e2f3d3b92cd5b3cf8af9e53e190 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 30 Jan 2025 21:46:55 -0600 Subject: [PATCH 204/330] Automatic changelog generation for PR #4110 [ci skip] --- html/changelogs/AutoChangeLog-pr-4110.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4110.yml diff --git a/html/changelogs/AutoChangeLog-pr-4110.yml b/html/changelogs/AutoChangeLog-pr-4110.yml new file mode 100644 index 000000000000..5ea9a647d76c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4110.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {balance: Vaquero now has ammo.} +delete-after: true From 115841c698404581f8f6eac24e7d25befbb41241 Mon Sep 17 00:00:00 2001 From: HelmCrab <90987989+Thera-Pissed@users.noreply.github.com> Date: Fri, 31 Jan 2025 16:21:29 -0600 Subject: [PATCH 205/330] Fixes #3981 (rockplanet shippingdock not having planetary turfs) (#4057) ## About The Pull Request Fixes #3981 by adding and implementing rock planet planetary atmos concrete turfs on shippingdock ## Why It's Good For The Game map cause lag. lag bad ## Changelog :cl: fix: rockplanet shippindock ruin now has proper planetary atmos concrete. /:cl: --- .../RockRuins/rockplanet_shippingdock.dmm | 1810 ++++------------- .../turfs/open/floor/plating/rockplanet.dm | 45 + 2 files changed, 443 insertions(+), 1412 deletions(-) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm b/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm index 1c518cceabca..ae78fb8bc93c 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm @@ -2,24 +2,18 @@ "ah" = ( /obj/effect/turf_decal/road, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "aj" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow, /obj/effect/decal/cleanable/plasma, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "al" = ( /obj/structure/railing{ dir = 9 }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "aq" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -58,10 +52,7 @@ /area/ruin/rockplanet/shippingdockoffice) "aH" = ( /obj/effect/turf_decal/road/line/opaque/yellow, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "aR" = ( /obj/effect/turf_decal/road{ @@ -71,16 +62,13 @@ id = "shippingdockwarehouse" }, /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "aV" = ( /obj/effect/turf_decal/road/slow{ dir = 4 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "aW" = ( /obj/item/mine/pressure/explosive/live, @@ -90,10 +78,7 @@ /obj/effect/turf_decal/road/stripes{ dir = 4 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "bb" = ( /obj/effect/turf_decal/industrial/warning/dust{ @@ -111,10 +96,7 @@ /obj/effect/turf_decal/road{ dir = 8 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "bv" = ( /obj/machinery/power/terminal{ @@ -132,10 +114,7 @@ /obj/effect/turf_decal/trimline/opaque/neutral/warning{ dir = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "bH" = ( /obj/structure/toilet{ @@ -156,10 +135,7 @@ /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning{ dir = 8 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "bT" = ( /obj/structure/table/wood, @@ -175,16 +151,13 @@ }, /obj/effect/decal/cleanable/glass, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "bZ" = ( /obj/effect/turf_decal/road/line/opaque/yellow{ dir = 8 }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "ca" = ( /obj/effect/turf_decal/industrial/outline, @@ -200,10 +173,7 @@ /area/ruin/rockplanet/shippingdock) "cd" = ( /obj/effect/decal/cleanable/robot_debris/gib, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ce" = ( /obj/structure/cable/yellow, @@ -216,19 +186,13 @@ "cf" = ( /obj/effect/turf_decal/road/slow, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ch" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ci" = ( /obj/structure/cable/yellow{ @@ -238,7 +202,7 @@ pixel_x = 15 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "cl" = ( /obj/machinery/light/broken/directional/west, @@ -274,10 +238,7 @@ dir = 1 }, /obj/structure/barricade/wooden/crude, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "cw" = ( /obj/machinery/light/small/directional/east, @@ -295,10 +256,7 @@ "cB" = ( /obj/effect/decal/cleanable/robot_debris/old, /obj/effect/decal/cleanable/plasma, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "cI" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -317,17 +275,14 @@ }, /obj/effect/turf_decal/trimline/opaque/white/filled/line, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "cX" = ( /obj/effect/turf_decal/road, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "cZ" = ( /turf/open/floor/hangar/plasteel/dark, @@ -345,10 +300,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "dv" = ( /obj/structure/cable{ @@ -400,7 +352,7 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "ea" = ( /obj/effect/turf_decal/road{ @@ -409,10 +361,7 @@ /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning{ dir = 6 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "eb" = ( /obj/structure/frame/computer/retro{ @@ -432,7 +381,7 @@ pixel_x = 3; pixel_y = -5 }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "en" = ( /turf/closed/wall/r_wall, @@ -453,14 +402,11 @@ icon_state = "0-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "ey" = ( /obj/effect/turf_decal/industrial/warning/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "eJ" = ( /obj/structure/cable{ @@ -487,18 +433,12 @@ /obj/effect/turf_decal/road, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "eY" = ( /obj/effect/turf_decal/road, /obj/effect/turf_decal/trimline/opaque/white/corner, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "fb" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -511,10 +451,7 @@ /area/ruin/rockplanet/shippingdockoffice) "fd" = ( /obj/structure/barricade/wooden, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "fk" = ( /obj/effect/turf_decal/siding/white, @@ -526,10 +463,7 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "fr" = ( /obj/structure/window/reinforced{ @@ -542,10 +476,7 @@ /obj/effect/turf_decal/road{ dir = 6 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "fz" = ( /obj/effect/turf_decal/industrial/warning/dust{ @@ -574,28 +505,19 @@ /obj/structure/cable/yellow{ icon_state = "2-8" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "fN" = ( /obj/structure/railing/corner/wood{ dir = 4 }, /obj/effect/decal/cleanable/crayon, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "fS" = ( /obj/structure/railing, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "fT" = ( /obj/structure/flora/ausbushes/brflowers, @@ -608,10 +530,7 @@ /obj/effect/turf_decal/road/line/opaque/yellow{ dir = 4 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "gb" = ( /obj/machinery/suit_storage_unit/industrial, @@ -623,20 +542,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "gh" = ( /obj/machinery/button/door{ pixel_y = 24; id = "shippingdockwarehousesouth" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/ruin/rockplanet/shippingdockwarehouse) "gj" = ( /obj/effect/decal/cleanable/shreds{ @@ -666,10 +579,7 @@ /obj/effect/turf_decal/trimline/opaque/white/corner{ dir = 8 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "gv" = ( /obj/effect/turf_decal/road{ @@ -682,7 +592,7 @@ pixel_x = 32 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "gD" = ( /obj/structure/frame/machine, @@ -698,14 +608,11 @@ dir = 1 }, /obj/structure/barricade/sandbags, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "gG" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "gH" = ( /obj/structure/closet/crate/grave/loot, @@ -721,10 +628,7 @@ /area/ruin/rockplanet/shippingdockoffice) "gO" = ( /obj/structure/girder/displaced, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "gR" = ( /mob/living/simple_animal/hostile/netherworld/migo/asteroid, @@ -735,26 +639,17 @@ dir = 10 }, /obj/effect/turf_decal/road, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "he" = ( /obj/structure/chair/pew/right{ dir = 4 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "hf" = ( /obj/effect/decal/cleanable/crayon, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "hh" = ( /obj/machinery/door/airlock/external{ @@ -777,37 +672,25 @@ /obj/effect/turf_decal/road/stop{ dir = 4 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "hp" = ( /obj/item/candle{ pixel_x = -12 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "hr" = ( /obj/effect/turf_decal/road/line/opaque/yellow{ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ht" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "hB" = ( /obj/structure/cable{ @@ -838,14 +721,11 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "hN" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "hT" = ( /obj/structure/cable/yellow{ @@ -853,7 +733,7 @@ }, /obj/structure/barricade/sandbags, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "hU" = ( /obj/effect/decal/cleanable/shreds{ @@ -868,17 +748,14 @@ /area/overmap_encounter/planetoid/rockplanet/explored) "hW" = ( /obj/item/mine/pressure/explosive/live, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "hY" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ib" = ( /turf/open/floor/plating/asteroid/rockplanet/lit, @@ -913,20 +790,14 @@ /obj/effect/turf_decal/trimline/opaque/white/filled/line{ dir = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ir" = ( /obj/effect/turf_decal/trimline/opaque/white/filled/line{ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "iv" = ( /obj/structure/sign/warning/gasmask{ @@ -943,19 +814,13 @@ icon_state = "2-8" }, /obj/machinery/atmospherics/components/unary/passive_vent, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "iH" = ( /obj/structure/chair/pew{ dir = 8 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "iK" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ @@ -965,7 +830,7 @@ icon_state = "1-2" }, /obj/structure/barricade/sandbags, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "iL" = ( /obj/effect/turf_decal/road{ @@ -979,7 +844,7 @@ icon_state = "0-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "iQ" = ( /obj/machinery/atmospherics/components/unary/tank/air{ @@ -1003,30 +868,21 @@ }, /obj/effect/decal/cleanable/glass, /obj/item/shard, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ju" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "jv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "jB" = ( /obj/structure/cable, @@ -1042,19 +898,13 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "jD" = ( /obj/structure/fence{ dir = 4 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "jE" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -1067,10 +917,7 @@ }, /obj/effect/decal/cleanable/oil/slippery, /mob/living/simple_animal/bot/mulebot, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "jQ" = ( /obj/effect/decal/remains/human, @@ -1086,7 +933,7 @@ /obj/item/clothing/head/beret/cargo{ pixel_y = 17 }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "jR" = ( /obj/machinery/power/shuttle/engine/electric/bad{ @@ -1109,10 +956,7 @@ /obj/item/restraints/legcuffs/beartrap{ armed = 1 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "jZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -1121,17 +965,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "kb" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "kf" = ( /obj/structure/salvageable/machine, @@ -1150,16 +991,13 @@ /obj/machinery/door/poddoor/shutters{ id = "shippingdockwarehousesouth" }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "kp" = ( /obj/structure/railing/corner{ dir = 4 }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ku" = ( /obj/structure/door_assembly/door_assembly_public{ @@ -1175,30 +1013,21 @@ icon_state = "1-4" }, /obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "kw" = ( /obj/effect/turf_decal/road/edge{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ky" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; id = "shippingdockcustoms" }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "kI" = ( /obj/structure/table/wood, @@ -1235,10 +1064,7 @@ /obj/effect/turf_decal/road{ dir = 9 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "le" = ( /obj/structure/table/wood, @@ -1275,10 +1101,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "lj" = ( /obj/effect/turf_decal/industrial/outline/red, @@ -1287,36 +1110,24 @@ "ll" = ( /obj/structure/fence, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "lo" = ( /obj/structure/fence/post{ dir = 4 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "lp" = ( /obj/item/stack/ore/salvage/scraptitanium, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "lr" = ( /obj/structure/railing{ dir = 1 }, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "lu" = ( /obj/structure/rack, @@ -1352,15 +1163,12 @@ }, /obj/item/ammo_casing/spent, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "lQ" = ( /obj/item/stack/ore/salvage/scraptitanium, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "lR" = ( /obj/effect/turf_decal/industrial/hatch/red, @@ -1377,44 +1185,32 @@ /turf/open/floor/plasteel/mono/dark, /area/ruin/rockplanet/shippingdockwarehouse) "lZ" = ( -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "mb" = ( /obj/structure/fence/corner{ dir = 8 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "mc" = ( /obj/structure/railing{ dir = 1 }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "md" = ( /obj/effect/turf_decal/road/line/opaque/yellow{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "mi" = ( /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning{ dir = 8 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ml" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -1430,7 +1226,7 @@ /obj/machinery/door/poddoor/shutters{ id = "shippingdockwarehousesouth" }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "mu" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -1451,10 +1247,7 @@ /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning{ dir = 4 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "mF" = ( /obj/effect/turf_decal/industrial/warning/dust{ @@ -1470,17 +1263,11 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "mU" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "mV" = ( /obj/effect/decal/cleanable/wrapping, @@ -1499,10 +1286,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "nh" = ( /obj/effect/decal/cleanable/vomit/old, @@ -1549,10 +1333,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "nJ" = ( /obj/effect/turf_decal/siding/white{ @@ -1569,7 +1350,7 @@ icon_state = "0-4" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "nO" = ( /obj/structure/table, @@ -1587,18 +1368,12 @@ /area/ruin/rockplanet/shippingdockcustoms) "nR" = ( /obj/effect/decal/cleanable/crayon, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "nT" = ( /obj/effect/turf_decal/number/right_zero, /obj/effect/turf_decal/number/left_zero, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "nV" = ( /obj/effect/turf_decal/box/white/corners{ @@ -1610,10 +1385,7 @@ "nW" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/robot_debris/limb, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "nY" = ( /obj/effect/turf_decal/road{ @@ -1624,7 +1396,7 @@ }, /obj/machinery/light/broken/directional/east, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "nZ" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -1633,38 +1405,26 @@ /area/ruin/rockplanet/shippingdockoffice) "ob" = ( /obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "of" = ( /obj/structure/railing/corner{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "og" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ dir = 8 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "oi" = ( /obj/effect/turf_decal/trimline/opaque/white/arrow_cw{ dir = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "oj" = ( /obj/effect/turf_decal/box/corners{ @@ -1682,10 +1442,7 @@ /obj/structure/cable{ icon_state = "4-10" }, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "op" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -1704,7 +1461,7 @@ pixel_y = -5 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "oz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -1714,16 +1471,13 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "oC" = ( /obj/effect/turf_decal/road{ dir = 1 }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "pe" = ( /obj/machinery/light/broken/directional/east, @@ -1751,10 +1505,7 @@ "pp" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/mine/proximity/explosive/sting/live, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "pv" = ( /obj/structure/cable/yellow{ @@ -1766,10 +1517,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/ruin/rockplanet/shippingdockoffice) "pw" = ( /obj/structure/flora/ausbushes/fullgrass, @@ -1790,7 +1538,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "pB" = ( /obj/structure/cable/yellow{ @@ -1799,20 +1547,14 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "pD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "pI" = ( /obj/machinery/door/poddoor{ @@ -1830,10 +1572,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "pV" = ( /obj/structure/flora/ausbushes/ppflowers, @@ -1871,10 +1610,7 @@ /obj/effect/turf_decal/industrial/stand_clear{ dir = 8 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "qn" = ( /turf/closed/wall/rust, @@ -1882,10 +1618,7 @@ "qo" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "qB" = ( /turf/open/water/rockplanet{ @@ -1905,10 +1638,7 @@ /obj/effect/turf_decal/road/slow{ dir = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "qL" = ( /obj/structure/cable/yellow, @@ -1933,10 +1663,7 @@ dir = 8 }, /obj/effect/decal/cleanable/plasma, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "qU" = ( /obj/structure/railing{ @@ -1952,10 +1679,7 @@ "qW" = ( /obj/effect/decal/fakelattice, /obj/item/stack/ore/salvage/scrapmetal, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ra" = ( /obj/structure/fence{ @@ -1964,10 +1688,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "re" = ( /obj/structure/cable{ @@ -1979,17 +1700,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "rl" = ( /obj/effect/decal/cleanable/plasma, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "rC" = ( /obj/item/stack/cable_coil/cut/random, @@ -2022,10 +1737,7 @@ "rN" = ( /obj/effect/turf_decal/trimline/opaque/white/arrow_ccw, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "rO" = ( /obj/machinery/door/airlock/grunge{ @@ -2050,10 +1762,7 @@ /obj/item/restraints/legcuffs/beartrap{ armed = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "rY" = ( /obj/machinery/door/airlock/grunge{ @@ -2073,37 +1782,25 @@ /area/ruin/rockplanet/shippingdockwarehouse) "sc" = ( /obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "se" = ( /obj/effect/turf_decal/trimline/opaque/white/arrow_cw{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "sf" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/mine/proximity/explosive/sting/live, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "sl" = ( /obj/structure/railing/wood{ dir = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "sp" = ( /obj/item/stack/rods, @@ -2117,26 +1814,17 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "st" = ( /mob/living/simple_animal/hostile/netherworld/migo/asteroid, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "su" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/random/maintenance, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "sx" = ( /obj/structure/chair{ @@ -2164,7 +1852,7 @@ }, /obj/effect/decal/cleanable/wrapping, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "sL" = ( /obj/machinery/button/door{ @@ -2191,20 +1879,14 @@ "sS" = ( /obj/effect/turf_decal/number/left_zero, /obj/effect/turf_decal/number/right_one, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "sU" = ( /obj/effect/turf_decal/trimline/opaque/white/warning{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "sX" = ( /obj/structure/cable/yellow{ @@ -2214,10 +1896,7 @@ icon_state = "4-8" }, /obj/item/shard, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "sY" = ( /obj/structure/cable{ @@ -2225,17 +1904,11 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "tb" = ( /obj/effect/turf_decal/road/slow, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "tg" = ( /obj/structure/cable/yellow{ @@ -2244,10 +1917,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ti" = ( /obj/effect/decal/cleanable/shreds, @@ -2273,10 +1943,7 @@ }, /obj/effect/decal/cleanable/robot_debris/down, /obj/effect/decal/cleanable/plasma, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "tp" = ( /obj/item/pipe{ @@ -2292,20 +1959,14 @@ /obj/structure/railing{ dir = 10 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "tr" = ( /obj/effect/turf_decal/industrial/warning/dust/corner{ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "tv" = ( /obj/effect/turf_decal/industrial/loading{ @@ -2337,21 +1998,15 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "tL" = ( /obj/item/mine/pressure/explosive/rusty/live, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "tM" = ( /obj/item/stack/ore/salvage/scraptitanium, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "tN" = ( /obj/structure/girder/reinforced, @@ -2363,35 +2018,26 @@ /area/ruin/rockplanet/shippingdock) "tR" = ( /obj/structure/barricade/sandbags, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "tX" = ( /obj/structure/cable{ icon_state = "2-5" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "tY" = ( /obj/effect/decal/cleanable/glass, /obj/item/shard, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ud" = ( /obj/effect/turf_decal/road{ dir = 10 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ue" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -2406,10 +2052,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ul" = ( /obj/structure/rack, @@ -2431,10 +2074,7 @@ /obj/item/trash/can/food/peaches, /obj/item/trash/tray, /obj/item/storage/bag/trash, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "uq" = ( /obj/structure/cable/yellow{ @@ -2452,10 +2092,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ut" = ( /turf/open/floor/plasteel/mono/dark, @@ -2479,19 +2116,13 @@ "uQ" = ( /obj/structure/marker_beacon, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "uT" = ( /obj/structure/sign/warning/nosmoking/circle{ pixel_y = 24 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "uW" = ( /obj/structure/cable/yellow{ @@ -2519,19 +2150,13 @@ }, /obj/effect/decal/cleanable/garbage, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ve" = ( /obj/effect/turf_decal/road/line/opaque/yellow{ dir = 8 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "vi" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, @@ -2554,10 +2179,7 @@ /obj/effect/turf_decal/road{ dir = 5 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "vz" = ( /turf/closed/wall, @@ -2572,7 +2194,7 @@ pixel_y = -5 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "vG" = ( /obj/effect/turf_decal/industrial/stand_clear/white, @@ -2582,10 +2204,7 @@ "vM" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "vP" = ( /obj/machinery/door/airlock/security{ @@ -2599,28 +2218,19 @@ /obj/structure/fence{ dir = 1 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "vS" = ( /obj/structure/chair/pew/left{ dir = 4 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "vV" = ( /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "wb" = ( /obj/effect/turf_decal/siding/white{ @@ -2641,19 +2251,13 @@ /area/ruin/rockplanet/shippingdockcustoms) "wo" = ( /obj/structure/girder, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "wp" = ( /obj/structure/railing{ dir = 8 }, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "wq" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ @@ -2661,10 +2265,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ws" = ( /obj/effect/decal/cleanable/food/flour, @@ -2674,7 +2275,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "wv" = ( /obj/structure/cable{ @@ -2687,10 +2288,7 @@ dir = 6 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "wy" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ @@ -2698,27 +2296,21 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "wB" = ( /obj/effect/turf_decal/road{ dir = 10 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "wE" = ( /obj/effect/turf_decal/trimline/opaque/white/corner{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "wH" = ( /obj/structure/cable/yellow, @@ -2732,25 +2324,19 @@ /obj/effect/turf_decal/road/line/edge/opaque/yellow{ dir = 4 }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "wN" = ( /obj/effect/turf_decal/road{ dir = 4 }, /obj/effect/turf_decal/trimline/opaque/neutral/warning, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "wO" = ( /obj/effect/turf_decal/number/left_one, /obj/effect/turf_decal/number/right_zero, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "wP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -2764,25 +2350,16 @@ /area/ruin/rockplanet/shippingdockoffice) "wX" = ( /obj/effect/turf_decal/trimline/opaque/white/arrow_ccw, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "wY" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xc" = ( /obj/effect/turf_decal/trimline/opaque/white/warning, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xd" = ( /obj/effect/turf_decal/corner/opaque/brown/border{ @@ -2802,25 +2379,16 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xh" = ( /obj/structure/sign/warning/electricshock{ pixel_y = 26 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xi" = ( -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xl" = ( /obj/effect/turf_decal/industrial/stand_clear/red, @@ -2829,7 +2397,7 @@ /area/ruin/rockplanet/shippingdocksecure) "xn" = ( /obj/effect/turf_decal/road, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "xo" = ( /obj/effect/turf_decal/road{ @@ -2838,17 +2406,11 @@ /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning{ dir = 5 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xv" = ( /obj/item/toy/crayon/spraycan, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xx" = ( /obj/item/stack/ore/salvage/scrapmetal, @@ -2866,19 +2428,13 @@ /obj/effect/turf_decal/road/edge{ dir = 8 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xQ" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ dir = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xR" = ( /obj/effect/turf_decal/industrial/loading{ @@ -2893,27 +2449,18 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xT" = ( /obj/structure/cable{ icon_state = "1-8" }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xY" = ( /obj/structure/barricade/wooden, /obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "xZ" = ( /obj/structure/flora/rock/rockplanet, @@ -2923,20 +2470,14 @@ /obj/structure/chair/pew/right{ dir = 8 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "yf" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "yj" = ( /obj/structure/cable/yellow{ @@ -2949,30 +2490,21 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "yl" = ( /obj/structure/cable/yellow{ icon_state = "4-9" }, /obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ys" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "yx" = ( /obj/effect/decal/cleanable/robot_debris/old, @@ -2985,10 +2517,7 @@ /area/ruin/rockplanet/shippingdockwarehouse) "yJ" = ( /obj/effect/turf_decal/industrial/warning/dust/corner, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "yN" = ( /obj/structure/grille, @@ -3008,29 +2537,20 @@ /obj/effect/turf_decal/road/line/opaque/yellow{ dir = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "yV" = ( /obj/effect/turf_decal/road/edge{ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "yW" = ( /obj/structure/railing{ dir = 6 }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "yX" = ( /obj/structure/cable/yellow{ @@ -3069,10 +2589,7 @@ "zm" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/effect/supplypod_rubble, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "zv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -3098,39 +2615,27 @@ /area/ruin/rockplanet/shippingdockwarehouse) "zD" = ( /obj/structure/fence, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "zE" = ( /obj/item/stack/ore/salvage/scrapmetal, /obj/effect/turf_decal/industrial/stand_clear{ dir = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "zH" = ( /obj/effect/turf_decal/road{ dir = 4 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "zK" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "zL" = ( /obj/structure/frame/machine, @@ -3161,10 +2666,7 @@ /area/ruin/rockplanet/shippingdock) "zU" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "zV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -3183,17 +2685,11 @@ "Aa" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/robot_debris/limb, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ai" = ( /obj/item/stack/ore/salvage/scrapmetal, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Aq" = ( /obj/effect/turf_decal/road{ @@ -3202,19 +2698,13 @@ /obj/structure/railing{ dir = 5 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Av" = ( /obj/effect/turf_decal/industrial/warning/dust{ dir = 1 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "AE" = ( /obj/structure/rack, @@ -3231,10 +2721,7 @@ dir = 4 }, /obj/effect/turf_decal/trimline/opaque/white/filled/line, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "AI" = ( /obj/structure/cable/yellow{ @@ -3244,18 +2731,12 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "AJ" = ( /obj/effect/decal/cleanable/glass, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "AL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -3269,10 +2750,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "AW" = ( /turf/open/floor/plating, @@ -3292,28 +2770,19 @@ /obj/structure/fence/corner{ dir = 1 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Bm" = ( /obj/structure/sign/warning/nosmoking/circle{ pixel_y = 24 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Br" = ( /obj/effect/turf_decal/road/edge{ dir = 4 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Bx" = ( /obj/structure/window/reinforced, @@ -3323,10 +2792,7 @@ "By" = ( /obj/effect/turf_decal/number/left_zero, /obj/effect/turf_decal/number/right_zero, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Bz" = ( /obj/structure/railing{ @@ -3341,10 +2807,7 @@ "BA" = ( /obj/effect/turf_decal/road/line/opaque/yellow, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "BG" = ( /obj/effect/turf_decal/road{ @@ -3358,15 +2821,12 @@ pixel_x = 3; pixel_y = -5 }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "BH" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "BI" = ( /obj/structure/cable{ @@ -3385,19 +2845,13 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "BO" = ( /obj/effect/turf_decal/road/slow{ dir = 8 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ce" = ( /obj/structure/chair/office{ @@ -3425,30 +2879,21 @@ /area/ruin/rockplanet/shippingdockwarehouse) "Cx" = ( /obj/structure/railing/corner, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Cy" = ( /obj/effect/turf_decal/road{ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "CE" = ( /obj/structure/railing/corner/wood{ dir = 1 }, /obj/effect/decal/cleanable/garbage, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "CF" = ( /obj/item/toy/snappop, @@ -3458,20 +2903,14 @@ /obj/structure/fence/post{ dir = 8 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "CM" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/candle{ pixel_x = 11 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "CN" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, @@ -3488,10 +2927,7 @@ /obj/structure/sign/warning/electricshock{ pixel_y = 26 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "CT" = ( /obj/structure/table, @@ -3508,28 +2944,19 @@ /area/ruin/rockplanet/shippingdockwarehouse) "CW" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Dv" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Dz" = ( /obj/structure/railing{ dir = 8 }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "DE" = ( /obj/structure/cable/yellow{ @@ -3550,10 +2977,7 @@ "DI" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/stack/ore/salvage/scrapmetal, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "DP" = ( /obj/machinery/light/small/directional/south, @@ -3567,20 +2991,14 @@ "DR" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/mine/pressure/explosive/rusty/live, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "DV" = ( /obj/effect/turf_decal/road, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/item/mine/pressure/explosive/rusty/live, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Eg" = ( /obj/machinery/door/window/brigdoor{ @@ -3590,19 +3008,13 @@ /area/ruin/rockplanet/shippingdocksecure) "Eh" = ( /obj/structure/railing, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ei" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ej" = ( /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning{ @@ -3611,16 +3023,10 @@ /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning{ dir = 8 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ev" = ( -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ew" = ( /obj/item/stack/ore/salvage/scrapplasma, @@ -3630,20 +3036,14 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ED" = ( /obj/effect/turf_decal/road{ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "EE" = ( /obj/effect/turf_decal/industrial/outline/yellow, @@ -3672,10 +3072,7 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ER" = ( /obj/structure/closet/crate, @@ -3685,10 +3082,7 @@ /obj/effect/decal/fakelattice, /obj/item/stack/ore/salvage/scraptitanium, /obj/item/crowbar/large, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Fb" = ( /obj/structure/sign/warning/nosmoking/circle{ @@ -3705,29 +3099,20 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Fj" = ( /obj/structure/railing{ dir = 5 }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Fn" = ( /obj/effect/turf_decal/road{ dir = 9 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Fs" = ( /obj/structure/cable/yellow{ @@ -3737,10 +3122,7 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ft" = ( /obj/structure/cable/yellow, @@ -3759,10 +3141,7 @@ /area/ruin/rockplanet/shippingdockoffice) "Fx" = ( /obj/item/mine/proximity/explosive/sting/live, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "FB" = ( /obj/effect/turf_decal/industrial/hatch/red, @@ -3789,10 +3168,7 @@ /area/ruin/rockplanet/shippingdocksecure) "FD" = ( /obj/effect/turf_decal/road/edge, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "FH" = ( /obj/structure/cable{ @@ -3804,10 +3180,7 @@ /obj/effect/turf_decal/road{ dir = 9 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "FM" = ( /obj/structure/cable/yellow{ @@ -3818,10 +3191,7 @@ }, /obj/effect/decal/cleanable/glass, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "FN" = ( /obj/machinery/power/terminal{ @@ -3841,7 +3211,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "FQ" = ( /obj/structure/table, @@ -3864,10 +3234,7 @@ /area/overmap_encounter/planetoid/rockplanet/explored) "FX" = ( /obj/effect/decal/cleanable/crayon, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "FZ" = ( /obj/effect/decal/cleanable/confetti, @@ -3892,10 +3259,7 @@ /obj/structure/railing/corner{ dir = 8 }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Gr" = ( /obj/effect/turf_decal/industrial/warning/dust{ @@ -3907,10 +3271,7 @@ /obj/effect/turf_decal/road{ dir = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Gy" = ( /obj/effect/turf_decal/road{ @@ -3921,10 +3282,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Gz" = ( /obj/structure/table/wood, @@ -3953,19 +3311,13 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "GO" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ dir = 4 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "GP" = ( /turf/template_noop, @@ -3987,10 +3339,7 @@ /obj/structure/chair/pew/left{ dir = 8 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Hk" = ( /turf/open/floor/plasteel/stairs/left{ @@ -4015,14 +3364,11 @@ /obj/machinery/door/poddoor/shutters{ id = "shippingdockwarehousesouth" }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "HA" = ( /obj/structure/fence/corner, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "HB" = ( /obj/machinery/light/broken/directional/south, @@ -4038,36 +3384,24 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "HL" = ( /obj/effect/spawner/random/maintenance, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "HM" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "HN" = ( /obj/effect/turf_decal/industrial/warning/dust{ dir = 8 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "HP" = ( /mob/living/simple_animal/hostile/netherworld/asteroid, @@ -4075,19 +3409,13 @@ /area/overmap_encounter/planetoid/rockplanet/explored) "HV" = ( /obj/item/mine/pressure/explosive/rusty/live, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "HW" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "HY" = ( /obj/structure/curtain, @@ -4104,27 +3432,18 @@ /obj/effect/turf_decal/industrial/stand_clear{ dir = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Id" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ig" = ( /obj/effect/turf_decal/road{ dir = 8 }, /obj/item/mine/pressure/explosive/rusty/live, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Il" = ( /obj/structure/closet/crate, @@ -4138,7 +3457,7 @@ icon_state = "2-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Iu" = ( /obj/structure/flora/ash/garden/arid, @@ -4149,10 +3468,7 @@ dir = 9 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "IE" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, @@ -4168,10 +3484,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/layer_manifold, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "IS" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -4183,10 +3496,7 @@ /area/ruin/rockplanet/shippingdockoffice) "IV" = ( /obj/effect/turf_decal/road, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "IY" = ( /turf/closed/wall/rust, @@ -4205,7 +3515,7 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Ju" = ( /obj/effect/spawner/random/maintenance, @@ -4228,10 +3538,7 @@ /area/ruin/rockplanet/shippingdockcustoms) "JE" = ( /obj/effect/decal/fakelattice, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "JF" = ( /obj/item/stack/cable_coil/cut/red, @@ -4258,7 +3565,7 @@ id = "shippingdockwarehouse" }, /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "JO" = ( /obj/item/clothing/shoes/magboots{ @@ -4281,10 +3588,7 @@ /area/overmap_encounter/planetoid/rockplanet/explored) "JQ" = ( /obj/effect/decal/cleanable/garbage, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "JU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -4297,10 +3601,7 @@ /obj/effect/turf_decal/industrial/warning/dust/corner{ dir = 8 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Kc" = ( /obj/effect/decal/cleanable/shreds{ @@ -4335,17 +3636,11 @@ /obj/structure/fence/cut/medium{ dir = 4 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Kq" = ( /obj/structure/marker_beacon, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Kr" = ( /obj/effect/turf_decal/industrial/stand_clear, @@ -4363,10 +3658,7 @@ icon_state = "1-6" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Kx" = ( /obj/machinery/door/airlock/external, @@ -4386,34 +3678,25 @@ /turf/open/floor/plasteel/dark, /area/ruin/rockplanet/shippingdockwarehouse) "KA" = ( -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "KG" = ( /obj/structure/cable{ icon_state = "1-4" }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "KJ" = ( /obj/item/shard, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "KQ" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ dir = 1 }, /obj/item/toy/snappop, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "KR" = ( /obj/effect/turf_decal/siding/white, @@ -4437,18 +3720,12 @@ /obj/structure/fence/corner{ dir = 4 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ln" = ( /obj/effect/turf_decal/number/left_one, /obj/effect/turf_decal/number/right_one, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Lq" = ( /obj/machinery/door/airlock/grunge{ @@ -4484,7 +3761,7 @@ dir = 8; pixel_x = 24 }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Ly" = ( /turf/open/floor/plating/rust{ @@ -4498,25 +3775,19 @@ }, /obj/structure/barricade/sandbags, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "LE" = ( /obj/structure/sign/departments/drop{ pixel_x = 32 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "LL" = ( /obj/structure/cable/yellow{ icon_state = "1-4" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "LS" = ( /turf/open/floor/plasteel/tech/grid, @@ -4555,10 +3826,7 @@ /obj/effect/turf_decal/trimline/opaque/white/filled/line{ dir = 4 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Mv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -4577,10 +3845,7 @@ /obj/item/paper/crumpled/muddy{ default_raw_text = "# 01010100 01001000 01001001 01010011 00100000 01010011 01010000 01000001 01000011 01000101 00100000 01001001 01001110 01010100 01000101 01001110 01010100 01001001 01001111 01001110 01000001 01001100 01001100 01011001 00100000 01001100 01000101 01000110 01010100 00100000 01000010 01001100 01000001 01001110 01001011" }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Mz" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, @@ -4592,10 +3857,7 @@ /area/ruin/rockplanet/shippingdockoffice) "MA" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "MG" = ( /obj/structure/cable{ @@ -4635,10 +3897,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Nb" = ( /obj/structure/cable{ @@ -4649,19 +3908,13 @@ /area/ruin/rockplanet/shippingdockwarehouse) "Nh" = ( /obj/item/stack/ore/salvage/scraptitanium, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ni" = ( /obj/structure/fence/post{ dir = 1 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Nj" = ( /obj/structure/cable{ @@ -4687,14 +3940,11 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Ny" = ( /obj/structure/girder/reinforced, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "NB" = ( /obj/machinery/light/dim/directional/north, @@ -4713,19 +3963,13 @@ /obj/structure/railing{ dir = 8 }, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "NL" = ( /obj/structure/chair/pew{ dir = 4 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "NP" = ( /obj/effect/turf_decal/road{ @@ -4735,21 +3979,15 @@ dir = 6 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "NQ" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/mine/pressure/explosive/live, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "NR" = ( -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "NT" = ( /obj/effect/turf_decal/industrial/outline/yellow, @@ -4769,25 +4007,19 @@ /obj/effect/turf_decal/industrial/warning/dust{ dir = 4 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Oa" = ( /obj/effect/turf_decal/road, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ob" = ( /obj/effect/turf_decal/road/line/opaque/yellow{ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Od" = ( /obj/effect/turf_decal/industrial/warning{ @@ -4801,10 +4033,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Om" = ( /obj/structure/cable/yellow{ @@ -4815,13 +4044,10 @@ icon_state = "0-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Ov" = ( -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Oz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -4843,10 +4069,7 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "OO" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, @@ -4872,18 +4095,12 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Pc" = ( /obj/effect/turf_decal/trimline/opaque/white/warning, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Pf" = ( /obj/machinery/door/airlock/external{ @@ -4899,26 +4116,17 @@ /area/ruin/rockplanet/shippingdockoffice) "Pi" = ( /obj/item/pickaxe, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Pn" = ( /obj/structure/fence/cut/large{ dir = 8 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Po" = ( /obj/item/mine/pressure/explosive/rusty/live, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Pp" = ( /obj/structure/cable/yellow{ @@ -4944,10 +4152,7 @@ pixel_y = 24; id = "shippingdockwarehousesouth" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/ruin/rockplanet/shippingdockwarehouse) "Pw" = ( /obj/machinery/light/dim/directional/east, @@ -4958,14 +4163,11 @@ /obj/effect/turf_decal/road, /obj/structure/barricade/sandbags, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Py" = ( /obj/effect/decal/cleanable/generic, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "PA" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ @@ -4978,16 +4180,13 @@ icon_state = "1-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "PE" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "PM" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ @@ -4996,10 +4195,7 @@ /obj/item/restraints/legcuffs/beartrap{ armed = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "PP" = ( /turf/closed/wall/r_wall/rust, @@ -5010,10 +4206,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Qg" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -5041,10 +4234,7 @@ dir = 9 }, /obj/effect/turf_decal/road, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Qv" = ( /obj/machinery/door/airlock/external{ @@ -5090,7 +4280,7 @@ "QD" = ( /obj/effect/turf_decal/road, /obj/structure/barricade/sandbags, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "QI" = ( /obj/effect/turf_decal/industrial/outline/red, @@ -5102,10 +4292,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Rd" = ( /obj/effect/turf_decal/industrial/stand_clear/red, @@ -5127,10 +4314,7 @@ /area/ruin/rockplanet/shippingdockwarehouse) "Ro" = ( /obj/item/stack/rods, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Rp" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -5147,10 +4331,7 @@ "Rw" = ( /obj/effect/turf_decal/road, /obj/effect/decal/cleanable/plasma, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Rz" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ @@ -5159,10 +4340,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "RT" = ( /obj/machinery/computer/mech_bay_power_console{ @@ -5198,10 +4376,7 @@ /obj/structure/railing{ dir = 6 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Si" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -5211,19 +4386,13 @@ /obj/effect/turf_decal/trimline/opaque/white/warning{ dir = 1 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Sq" = ( /obj/structure/railing/corner{ dir = 1 }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Sr" = ( /obj/effect/turf_decal/road{ @@ -5231,10 +4400,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ss" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ @@ -5244,7 +4410,7 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Su" = ( /obj/structure/table, @@ -5255,10 +4421,7 @@ /area/ruin/rockplanet/shippingdockoffice) "SB" = ( /mob/living/simple_animal/hostile/netherworld/asteroid, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "SF" = ( /obj/effect/turf_decal/road{ @@ -5267,10 +4430,7 @@ /obj/effect/turf_decal/road/edge{ dir = 8 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "SI" = ( /obj/structure/railing{ @@ -5291,10 +4451,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "SO" = ( /turf/closed/wall/mineral/titanium, @@ -5311,10 +4468,7 @@ icon_state = "1-4" }, /obj/item/mine/proximity/explosive/sting/live, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "SY" = ( /obj/structure/flora/grass/rockplanet/dead, @@ -5336,19 +4490,13 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Td" = ( /obj/effect/turf_decal/industrial/stand_clear{ dir = 4 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Th" = ( /obj/machinery/door/poddoor/shutters{ @@ -5356,14 +4504,11 @@ }, /obj/effect/turf_decal/road, /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Ti" = ( /obj/effect/turf_decal/industrial/stand_clear, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Tl" = ( /obj/item/stack/cable_coil/cut/red, @@ -5381,10 +4526,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Tx" = ( /obj/structure/chair/office{ @@ -5397,20 +4539,14 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "TA" = ( /obj/effect/turf_decal/road/edge{ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "TE" = ( /obj/machinery/button/door{ @@ -5418,10 +4554,7 @@ pixel_y = -24; id = "shippingdockwarehouse" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/ruin/rockplanet/shippingdockwarehouse) "TH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -5429,10 +4562,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "TW" = ( /obj/machinery/door/airlock/public/glass{ @@ -5449,18 +4579,12 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ub" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ue" = ( /obj/structure/cable/yellow, @@ -5499,10 +4623,7 @@ icon_state = "4-8" }, /obj/item/shard, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Uk" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -5512,10 +4633,7 @@ /obj/structure/cable/yellow{ icon_state = "4-9" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Un" = ( /obj/structure/flora/ash/garden/arid, @@ -5525,38 +4643,26 @@ /obj/structure/sign/warning/docking{ pixel_y = 28 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Uy" = ( /obj/effect/turf_decal/industrial/stand_clear{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "UA" = ( /obj/structure/railing{ dir = 8 }, /obj/effect/decal/cleanable/plastic, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "UD" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/mine/pressure/explosive/rusty/live, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "UG" = ( /obj/structure/cable, @@ -5568,10 +4674,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "UN" = ( /obj/structure/cable{ @@ -5579,10 +4682,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "UT" = ( /obj/effect/turf_decal/box/corners{ @@ -5614,17 +4714,14 @@ id = "shippingdockwarehouse" }, /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "UY" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow{ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Vf" = ( /obj/structure/poddoor_assembly, @@ -5640,10 +4737,7 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Vn" = ( /obj/structure/railing{ @@ -5661,10 +4755,7 @@ "Vu" = ( /obj/structure/railing/corner, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "VE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -5695,41 +4786,29 @@ /obj/effect/turf_decal/road{ dir = 10 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "VX" = ( /obj/effect/turf_decal/industrial/warning/dust/corner{ dir = 1 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Wb" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Wc" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "We" = ( /obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Wh" = ( /obj/machinery/door/poddoor, @@ -5740,10 +4819,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Wk" = ( /obj/structure/mirror{ @@ -5767,28 +4843,19 @@ "Wp" = ( /obj/effect/decal/cleanable/garbage, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Wv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ww" = ( /obj/structure/railing{ dir = 10 }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "WE" = ( /obj/structure/rack, @@ -5811,10 +4878,7 @@ /obj/structure/railing{ dir = 1 }, -/turf/open/floor/concrete/slab_3{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_3/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "WO" = ( /obj/machinery/light/broken/directional/north, @@ -5829,10 +4893,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "WX" = ( /obj/effect/turf_decal/industrial/warning/dust/corner{ @@ -5847,10 +4908,7 @@ }, /obj/item/shard, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Xg" = ( /obj/item/stack/ore/salvage/scraptitanium, @@ -5861,10 +4919,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Xi" = ( /obj/structure/table, @@ -5880,20 +4935,14 @@ dir = 10 }, /obj/item/toy/snappop, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Xk" = ( /obj/structure/cable{ icon_state = "2-4" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Xm" = ( /obj/effect/turf_decal/road{ @@ -5902,10 +4951,7 @@ /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning{ dir = 9 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Xr" = ( /obj/structure/flora/rock/rockplanet, @@ -5924,10 +4970,7 @@ dir = 1 }, /obj/effect/decal/cleanable/plasma, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "XB" = ( /mob/living/simple_animal/hostile/netherworld/asteroid, @@ -5940,10 +4983,7 @@ /obj/structure/railing{ dir = 9 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "XG" = ( /turf/closed/wall/r_wall/rust, @@ -5955,10 +4995,7 @@ /area/ruin/rockplanet/shippingdockwarehouse) "XI" = ( /obj/item/stack/ore/salvage/scrapmetal, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "XO" = ( /turf/open/floor/plasteel/dark, @@ -5974,10 +5011,7 @@ "XU" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/girder/displaced, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "XY" = ( /obj/effect/turf_decal/road, @@ -5987,17 +5021,14 @@ /obj/effect/turf_decal/trimline/opaque/neutral/filled/warning{ dir = 1 }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "XZ" = ( /obj/effect/turf_decal/road{ dir = 5 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Yc" = ( /obj/structure/cable/yellow{ @@ -6012,19 +5043,13 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Yf" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/random/maintenance, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Yk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -6049,26 +5074,17 @@ /obj/effect/turf_decal/road{ dir = 5 }, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Ys" = ( /obj/effect/decal/cleanable/garbage, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Yt" = ( /obj/structure/fence/cut/large{ dir = 1 }, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "Yu" = ( /obj/effect/decal/cleanable/wrapping, @@ -6091,17 +5107,14 @@ /area/ruin/rockplanet/shippingdockoffice) "Yz" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "YA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "YD" = ( /obj/effect/turf_decal/industrial/warning/fulltile, @@ -6115,10 +5128,7 @@ dir = 1 }, /obj/item/mine/pressure/explosive/rusty/live, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "YG" = ( /obj/vehicle/ridden/atv{ @@ -6132,10 +5142,7 @@ dir = 6 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "YO" = ( /obj/structure/cable{ @@ -6148,10 +5155,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_4{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_4/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "YZ" = ( /obj/effect/turf_decal/industrial/outline/red, @@ -6168,7 +5172,7 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Zh" = ( /obj/effect/turf_decal/road{ @@ -6178,7 +5182,7 @@ icon_state = "1-4" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "Zn" = ( /obj/machinery/door/airlock/external, @@ -6201,10 +5205,7 @@ "Zz" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/girder, -/turf/open/floor/concrete{ - light_range = 2; - light_power = 0.6 - }, +/turf/open/floor/concrete/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ZA" = ( /obj/effect/turf_decal/box/corners{ @@ -6226,7 +5227,7 @@ "ZE" = ( /obj/effect/turf_decal/road/line/edge/opaque/yellow, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "ZF" = ( /obj/structure/flora/ash/garden/arid, @@ -6242,33 +5243,21 @@ max_integrity = 70; dir = 4 }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ZL" = ( -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ZM" = ( /obj/effect/decal/fakelattice, /obj/item/stack/ore/salvage/scraptitanium, -/turf/open/floor/concrete/pavement{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/pavement/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ZR" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/concrete/slab_1{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ZS" = ( /obj/effect/turf_decal/road/line/opaque/yellow{ @@ -6277,14 +5266,11 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/concrete/pavement, +/turf/open/floor/concrete/pavement/rockplanet, /area/ruin/rockplanet/shippingdockwarehouse) "ZW" = ( /obj/item/mine/pressure/explosive/rusty/live, -/turf/open/floor/concrete/slab_2{ - light_power = 0.6; - light_range = 2 - }, +/turf/open/floor/concrete/slab_2/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "ZZ" = ( /obj/effect/turf_decal/industrial/warning/fulltile, diff --git a/code/game/turfs/open/floor/plating/rockplanet.dm b/code/game/turfs/open/floor/plating/rockplanet.dm index 7e52dc85aafd..69257e346ef8 100644 --- a/code/game/turfs/open/floor/plating/rockplanet.dm +++ b/code/game/turfs/open/floor/plating/rockplanet.dm @@ -170,6 +170,51 @@ light_power = 0.6 light_color = COLOR_ROCKPLANET_LIGHT +/turf/open/floor/concrete/slab_1/rockplanet + planetary_atmos = TRUE + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/concrete/slab_1/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +/turf/open/floor/concrete/slab_2/rockplanet + planetary_atmos = TRUE + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/concrete/slab_2/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +/turf/open/floor/concrete/slab_3/rockplanet + planetary_atmos = TRUE + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/concrete/slab_3/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +/turf/open/floor/concrete/slab_4/rockplanet + planetary_atmos = TRUE + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/concrete/slab_4/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +/turf/open/floor/concrete/pavement/rockplanet + planetary_atmos = TRUE + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/concrete/pavement/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + ///titanium /turf/open/floor/mineral/titanium/tiled/rockplanet From 9fceb9bced0e9fbf928616a5183c573084c6c899 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 31 Jan 2025 16:32:20 -0600 Subject: [PATCH 206/330] Automatic changelog generation for PR #4057 [ci skip] --- html/changelogs/AutoChangeLog-pr-4057.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4057.yml diff --git a/html/changelogs/AutoChangeLog-pr-4057.yml b/html/changelogs/AutoChangeLog-pr-4057.yml new file mode 100644 index 000000000000..620d53f94600 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4057.yml @@ -0,0 +1,4 @@ +author: Thera-Pissed +changes: + - {bugfix: rockplanet shippindock ruin now has proper planetary atmos concrete.} +delete-after: true From 032017099cf9f6fbf1b43cd70d781371af3e9c23 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 1 Feb 2025 01:05:19 +0000 Subject: [PATCH 207/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4057.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4106.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4110.yml | 4 ---- html/changelogs/archive/2025-02.yml | 8 ++++++++ 4 files changed, 8 insertions(+), 13 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4057.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4106.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4110.yml create mode 100644 html/changelogs/archive/2025-02.yml diff --git a/html/changelogs/AutoChangeLog-pr-4057.yml b/html/changelogs/AutoChangeLog-pr-4057.yml deleted file mode 100644 index 620d53f94600..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4057.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Thera-Pissed -changes: - - {bugfix: rockplanet shippindock ruin now has proper planetary atmos concrete.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4106.yml b/html/changelogs/AutoChangeLog-pr-4106.yml deleted file mode 100644 index 2ec1eba6b700..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4106.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: PositiveEntropy -changes: - - {imageadd: 'Concrete, hexacrete and pavement tile sprites and varieties have been - updated!'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4110.yml b/html/changelogs/AutoChangeLog-pr-4110.yml deleted file mode 100644 index 5ea9a647d76c..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4110.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {balance: Vaquero now has ammo.} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml new file mode 100644 index 000000000000..a83169454824 --- /dev/null +++ b/html/changelogs/archive/2025-02.yml @@ -0,0 +1,8 @@ +2025-02-01: + PositiveEntropy: + - imageadd: Concrete, hexacrete and pavement tile sprites and varieties have been + updated! + Thera-Pissed: + - bugfix: rockplanet shippindock ruin now has proper planetary atmos concrete. + firebudgy: + - balance: Vaquero now has ammo. From e4fa6273a288d2ff67b65aa6078a3edac78bb854 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Sat, 1 Feb 2025 05:37:51 -0800 Subject: [PATCH 208/330] Fixes hollowpoint 8x50 boxes (#4118) ## About The Pull Request Fixes a typo in the code. 8x50 HP ammo was spawning with normal ammo instead of hollowpoints. ## Why It's Good For The Game Fixes good. ## Changelog :cl: fix: 8x50 HP ammo boxes spawn with the correct ammo /:cl: --- .../ammo_stacks/prefab_stacks/premade_rifle_stacks.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 921bbd5c06a1..7d29256d8965 100644 --- 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 @@ -22,7 +22,7 @@ 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() +/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) From 453f1aaa6e6b986bde5976c51870942d685d582d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 1 Feb 2025 07:52:24 -0600 Subject: [PATCH 209/330] Automatic changelog generation for PR #4118 [ci skip] --- html/changelogs/AutoChangeLog-pr-4118.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4118.yml diff --git a/html/changelogs/AutoChangeLog-pr-4118.yml b/html/changelogs/AutoChangeLog-pr-4118.yml new file mode 100644 index 000000000000..3b02420acaa0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4118.yml @@ -0,0 +1,4 @@ +author: Gristlebee +changes: + - {bugfix: 8x50 HP ammo boxes spawn with the correct ammo} +delete-after: true From 122734d3a86a3fce7619778fc9d8c761e8392838 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sat, 1 Feb 2025 08:43:42 -0500 Subject: [PATCH 210/330] Veins now destroy themselves when mined out (#4109) ## About The Pull Request some other pr made it so indestructible things don't get disassembled. veins called disassemble. ## Changelog :cl: fix: empty veins close themselves. /:cl: --- code/modules/mining/drill.dm | 2 +- code/modules/mining/ore_veins.dm | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/code/modules/mining/drill.dm b/code/modules/mining/drill.dm index 5fffc303df69..a564ccc4f6db 100644 --- a/code/modules/mining/drill.dm +++ b/code/modules/mining/drill.dm @@ -329,7 +329,7 @@ say("Vein depleted.") active = FALSE soundloop.stop() - our_vein.deconstruct() + our_vein.Destroy() our_vein = null update_icon_state() update_overlays() diff --git a/code/modules/mining/ore_veins.dm b/code/modules/mining/ore_veins.dm index 2e40d48c7b2e..badcba1d0b54 100644 --- a/code/modules/mining/ore_veins.dm +++ b/code/modules/mining/ore_veins.dm @@ -84,13 +84,10 @@ GLOBAL_LIST_EMPTY(ore_veins) . += 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() + destroy_effect() GLOB.ore_veins -= src return ..() -/obj/structure/vein/deconstruct(disassembled) - destroy_effect() - return..() - /obj/structure/vein/proc/begin_spawning() AddComponent(spawner_type, mob_types, spawn_time, faction, spawn_text, max_mobs, spawn_sound, spawn_distance_min, spawn_distance_max, wave_length, wave_downtime, vein_class) spawner_attached = TRUE From 6df5031ecc900eb5d1fc6f7652a3cf7f29a8798d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 1 Feb 2025 08:13:24 -0600 Subject: [PATCH 211/330] Automatic changelog generation for PR #4109 [ci skip] --- html/changelogs/AutoChangeLog-pr-4109.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4109.yml diff --git a/html/changelogs/AutoChangeLog-pr-4109.yml b/html/changelogs/AutoChangeLog-pr-4109.yml new file mode 100644 index 000000000000..331f3b664969 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4109.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {bugfix: empty veins close themselves.} +delete-after: true From 92bf8158a7e9f318eba301f7c016fa1d9ee0d500 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Sat, 1 Feb 2025 12:59:12 -0600 Subject: [PATCH 212/330] Update generate_documentation.yml Signed-off-by: Mark Suckerberg --- .github/workflows/generate_documentation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generate_documentation.yml b/.github/workflows/generate_documentation.yml index 57362bd74f6d..0d8a67fcf62c 100644 --- a/.github/workflows/generate_documentation.yml +++ b/.github/workflows/generate_documentation.yml @@ -38,11 +38,11 @@ jobs: echo codedocs.shiptest.net > dmdoc/CNAME - name: Upload artifact - uses: actions/upload-pages-artifact@v1 + uses: actions/upload-pages-artifact@v3 with: # Upload output directory path: "dmdoc/" - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v2 + uses: actions/deploy-pages@v4 From 6adab0da099c29f7143322e6c3609937369c13b8 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 2 Feb 2025 01:04:58 +0000 Subject: [PATCH 213/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4109.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4118.yml | 4 ---- html/changelogs/archive/2025-02.yml | 5 +++++ 3 files changed, 5 insertions(+), 8 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4109.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4118.yml diff --git a/html/changelogs/AutoChangeLog-pr-4109.yml b/html/changelogs/AutoChangeLog-pr-4109.yml deleted file mode 100644 index 331f3b664969..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4109.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {bugfix: empty veins close themselves.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4118.yml b/html/changelogs/AutoChangeLog-pr-4118.yml deleted file mode 100644 index 3b02420acaa0..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4118.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Gristlebee -changes: - - {bugfix: 8x50 HP ammo boxes spawn with the correct ammo} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index a83169454824..f032a56c92aa 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -6,3 +6,8 @@ - bugfix: rockplanet shippindock ruin now has proper planetary atmos concrete. firebudgy: - balance: Vaquero now has ammo. +2025-02-02: + Erikafox: + - bugfix: empty veins close themselves. + Gristlebee: + - bugfix: 8x50 HP ammo boxes spawn with the correct ammo From 77accf648f732757abfa61f234b6325efc191676 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Sun, 2 Feb 2025 15:43:09 -0800 Subject: [PATCH 214/330] Serene Outdoors Model 23 Woodsman Rifle (#4083) ## About The Pull Request ![woodsman](https://github.com/user-attachments/assets/a02c913d-f587-45a1-a7a2-00dc9efdf9f4) Adds the Model 23 Woodsman to Serene Outdoors' catalogue. The Model 23 is a semi-automatic 8x50mmR hunting rifle. Every Woodsman comes with a hunting scope and a trio of standard 5-round magazines (10-round magazines are available for a higher price). Combining a powerful and economic cartridge with Serene Outdoors' typical excellent ergonomics and good looks, the Woodsman has quickly positioned itself as a fantastic option for taking big game anywhere in the Frontier. ## Why It's Good For The Game fills a niche, and we finally have an 8mm gun besides the illestren ## Changelog :cl: add: Model 23 Woodsman hunting rifle /:cl: --- .../objects/items/storage/filled_guncases.dm | 5 ++ code/modules/cargo/packs/gun.dm | 7 ++ code/modules/cargo/packs/magazines.dm | 12 +++ .../serene_sporting/ballistics.dm | 85 ++++++++++++++++++ icons/obj/ammunition/ammo.dmi | Bin 20895 -> 21138 bytes .../manufacturer/serene_outdoors/48x32.dmi | Bin 1521 -> 1742 bytes .../manufacturer/serene_outdoors/lefthand.dmi | Bin 1375 -> 1648 bytes .../manufacturer/serene_outdoors/onmob.dmi | Bin 1369 -> 1869 bytes .../serene_outdoors/righthand.dmi | Bin 1359 -> 1643 bytes 9 files changed, 109 insertions(+) diff --git a/code/game/objects/items/storage/filled_guncases.dm b/code/game/objects/items/storage/filled_guncases.dm index 045f2dadb988..2cd5da2a54e0 100644 --- a/code/game/objects/items/storage/filled_guncases.dm +++ b/code/game/objects/items/storage/filled_guncases.dm @@ -174,6 +174,11 @@ gun_type = /obj/item/gun/ballistic/automatic/m15 mag_type = /obj/item/ammo_box/magazine/m15 +/obj/item/storage/guncase/woodsman + gun_type = /obj/item/gun/ballistic/automatic/marksman/woodsman + mag_type = /obj/item/ammo_box/magazine/m23 + mag_count = 3 + /obj/item/storage/guncase/buckmaster gun_type = /obj/item/gun/ballistic/shotgun/automatic/m11 diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index cd630bac68c6..75757f2eee43 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -635,6 +635,13 @@ faction_discount = 0 faction_locked = TRUE +/datum/supply_pack/gun/woodsman + name = "Model 23 'Woodsman' Hunting Rifle" + desc = "Contains a semi-automatic hunting rifle chambered in 8x50mmR and produced by Serene Outdoors. Come with three magazines with a 5-round capacity." + cost = 3500 + contains = list(/obj/item/storage/guncase/woodsman) + crate_name = "hunting rifle crate" + /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." diff --git a/code/modules/cargo/packs/magazines.dm b/code/modules/cargo/packs/magazines.dm index a6ca412b1db8..b2ec08e1d191 100644 --- a/code/modules/cargo/packs/magazines.dm +++ b/code/modules/cargo/packs/magazines.dm @@ -85,6 +85,18 @@ contains = list(/obj/item/ammo_box/magazine/m15/empty) cost = 300 +/datum/supply_pack/magazine/woodsman_mag + name = "Woodsman Magazine Crate" + desc = "Contains an 8x50mmR magazine for the Woodsman Rifle, with a capacity of five rounds." + contains = list(/obj/item/ammo_box/magazine/m23/empty) + cost = 200 + +/datum/supply_pack/magazine/woodsman_mag_extended + name = "Woodsman Magazine Crate" + desc = "Contains an 8x50mmR magazine for the Woodsman Rifle, with a capacity of ten rounds." + contains = list(/obj/item/ammo_box/magazine/m23/extended/empty) + cost = 500 + /datum/supply_pack/magazine/m20_auto_elite name = "Auto Elite Magazine Crate" desc = "Contains a .44 Roumain magazine for the Auto Elite pistol, with a capacity of nine rounds." diff --git a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm index 3d7b334a56d0..608a39d36393 100644 --- a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm @@ -215,6 +215,91 @@ EMPTY_GUN_HELPER(automatic/m12_sporter) EMPTY_GUN_HELPER(automatic/m12_sporter/mod) +/* woodsman */ + +/obj/item/gun/ballistic/automatic/marksman/woodsman + name = "Model 23 Woodsman" + desc = "A large semi-automatic hunting rifle manufactured by Serene Outdoors. Its powerful cartridge, excellent ergonomics and ease of use make it highly popular for hunting big game Chambered in 8x50mmR." + + 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 = "woodsman" + item_state = "woodsman" + + default_ammo_type = /obj/item/ammo_box/magazine/m23 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m23, + ) + + unique_mag_sprites_for_variants = TRUE + + fire_sound = 'sound/weapons/gun/rifle/ssg669c.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 = -4 + spread_unwielded = 20 + recoil = 1.25 + recoil_unwielded = 6 + fire_delay = 0.75 SECONDS + wield_delay = 1.15 SECONDS //a little longer and less wieldy than other DMRs + + can_be_sawn_off = FALSE + + valid_attachments = SERENE_ATTACHMENTS + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1 + ) + + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 48, + "y" = 20, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 32, + "y" = 18, + ) + ) + +EMPTY_GUN_HELPER(automatic/marksman/woodsman) + +/obj/item/ammo_box/magazine/m23 + name = "Model 23 magazine (8x50mmR)" + desc = "A 5-round magazine for the Model 23 \"Woodsman\". These rounds do high damage, with excellent armor penetration." + icon_state = "woodsman_mag-1" + base_icon_state = "woodsman_mag" + ammo_type = /obj/item/ammo_casing/a8_50r + caliber = "8x50mmR" + max_ammo = 5 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/m23/empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/m23/extended + name = "Model 23 Extended Magazine (8x50mmR)" + desc = "A 10-round magazine for the Model 23 \"Woodsman\". These rounds do high damage, with excellent armor penetration." + icon_state = "woodsman_extended-1" + base_icon_state = "woodsman_extended" + max_ammo = 10 + +/obj/item/ammo_box/magazine/m23/extended/empty + start_empty = TRUE + /* super soaker */ /obj/item/gun/ballistic/automatic/m15 diff --git a/icons/obj/ammunition/ammo.dmi b/icons/obj/ammunition/ammo.dmi index 8d1e40a48f12c2fe90729a28736819e144a09678..df1556fb10bdfddb19f4110acfbd505204b340b2 100644 GIT binary patch delta 20645 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 diff --git a/icons/obj/guns/manufacturer/serene_outdoors/48x32.dmi b/icons/obj/guns/manufacturer/serene_outdoors/48x32.dmi index 9b75cb2f681c2dd53d130331d043475be26e656b..ffbf1589afe338d68c0811b8ba58ad76b3f13dec 100644 GIT binary patch delta 1694 zcmV;P24VT}3(gIY7Y@J(0{{R3+!h*r0000sktH#IW1Ih5ZsEYdz_44TMgRZ+0d!JM zQvg8b*k%9#0TFssSad{Xb7OL8aCB*JZU6vyoSlPGFRg(mxKB4M86^*5 z7LP1{5hObiCUKWBA285Vt|~i1i%K@+K%n8>U_5wX2gSkI02lNgf{-4RGz91Yp&KNp zS*B22Te^fP&`&M~8Ul@+(iKa%bbbohvgE^|rd$0JoA0ZtJinLEXUI>*{^@RCt{2oQ-0mDiB5~ zAR{4m_x+#t&J6g|R0V<|x%bX#*Uh$6kAQ9Yc2ubhU%3Xo5uqF+ltYAaWQD#GJ!JTQ zco~^RsF%^V!VQ{&(Kd zp}`Kasv+*Nx_I)VPCkLe8Pqs`SWw2
ct@x-C*zk@%2yX;A2Ib&FT zD%O}I#2P4?f0m=UczsX>)U!kGV^$MjrBsN|g};Di9tTif<2IE*?S2i~XI57KFubbiTyaKEzV zu_IKGKl-^K>qW3nmC!3~R4R%)y-Yjfecgz4Ae?_669hpJ1VIplU53c?ZjXhD`Tl;- z(K+$ZiIyE*k`F1AFqG=V4F`JP#p9)4kPl%8ZK5jbB={~IFU^O4p7SBc=`DUtpXEbE zM)Pp#7tC{e-vFD?h1k+2*RgRu?l>C!C1lmqI>ty6-`@&oN-3;eNeX>Eul5N?Jf~hQzp~& z7knd#N}J;bhDu6!mn|8BodDC{5&LnFi}UL?Hz;u=M#})wNgKqN1+i{i&SLQ*SoY?QL(Ov43KBXk3|Ev`RK@bE%5ClOGg#SG{MqDpzUym&e=GW%* obfnk$R8x5Zf*=Tj@So-%A=oq`JO6)q00000NkvWtM6N<$fV=-0C=2@lEH4mFbsyz%~M!#ub^yVmmTP+rizXO>|VKz zX`-eHiqo;jUm4PFQ*-k#ef~em@)Gjmy*$GHqZD7{Svw1_@RY7Za?>)Xdw3CvBHgJl zg-s@ZIAEY@TvYA`EgIdB2ZdI4qh(;_MkB$x09Ry&pfrQgmH-(Lx=~BI#}tb1mabtE z^3-CXAsA3nx)6!fo+rUtBo~hZJ?1}czN@P8{8_%8AwLznLvfm2X~wo6kOTQybXY&v z19mZ71d~N}Wf9CavTHlb81#L_DIQpyHCx4hFm>Zhhz4up+MeWp{1S@e{`YZz0Ca%K z`wHN^82|tTXh}ptRCt{2oQ-y)AP`0^AR{66{U3K{2K;G`${@yM&zYNUnr5k70o(F* z(ylA;Q)+NGDpW#+N~lnYqR>y~4jJyRATtZyWwhJRr13RES?WR|(=L>yDtwHw*1Eob z?;XCk9^pIh0spxcq3UrNLNMI9bMEnYIEc?oa0CFH7OI)45C$amjH6&@AmnF<2=pPo ziB9ab!`ihRo-+Z=;$vb6EE_@u8X#lN31z8jp&`WR*2G9kcrVg87Rpj9pM5(LqH(~E zaf+OwbuC&ewL*W?j>c=qI`{~eZ)dxICY_RyU`64?_A;A{p>{YLt-) zWvS8%#}yRr6B0nz_!Y;w?t5na6~4*;_XFD9s89(NDxpFpzD`I{6h*lX+#Jhx$Cp8S zb?+(5c=Tg$y>s|Ru>n6#IfuQ~$AHiAii2_NNvpRwEGb(7zPrnXQ;RiI;_{?_{rjyG zwWK{;(EmDFG%~B+$8k1lK&um-B5tilQirqMXLwyICu9=eAk^SdJw;?)=Bm z!00_i0K!s+cle-yPccc~KOWHcy|;k3PYDgy0Bs70aZK3=(B9@lI?tzbT>IfOR$6%S z9_DyrU5av2=+DpKXSY4MEN6&|PsJW{fK&rT>(6mCm#z=0fI2(nA!Rjx5f-FEd@lS6 zwDLHB3I^|U3DoB2pnYL?MROKogbq)utP*k}HU#z=UWtI`cXR+-+;@j`bVpTh0->b< zD&o&SUIt!3Sx7Kfb8Q+qg^o*(oV1274bbr=!{g3Ecu<*8$_Qgj1Di4^ zFBIYhSMcE(D;~fT z*D*y=6h%=KMcJfJjGy+H8JXYT&-BiThsm@Y=#qS>LkUZ%PP*ej?^iru<_-A}4$vy9 zqCtXR;d~kHddi19r?>c=Im(AbM$>ee6nGvTiQ1BefsXrrB~p5SdfFsIwNC*xXh=%q z3{y19lY#Nbx{1+jOn@(0)Bo%B+NAPPI$dBr^N;K=X`=gs#hn_UeK1j9t}D1v~XX zRWo)mo6C=Ww}4-NhVFLRCj@@E@252u(zl|E!(ByD6h--VDt3YAH;ff*Z@M?Tu4vjK zz~}i&$P#3u@}*^)4rIDX-WT+GyVR_h2L@LZ#H?wfQ@36h%=KMNt%G Z;U8NYE2Ui@XMz9#002ovPDHLkV1i03zQq6l diff --git a/icons/obj/guns/manufacturer/serene_outdoors/lefthand.dmi b/icons/obj/guns/manufacturer/serene_outdoors/lefthand.dmi index 1442d4c75a62816fe37995db51d3b60b4eaf9041..584a7382fa4be279ab13fc069c59e182fe619144 100644 GIT binary patch delta 1480 zcmV;(1vmQN3h)e&7Y?8Z0{{R3yb+fl0000mktHi0z`(#;ZsB8_|MnpUo&W#<0d!JM zQvg8b*k%9#0G5$ufPWLAtUNzIr8qY+50^q^1y?^8aPR;Cxam_4<=H!`000F{Nklu?K}u2A)&pa9bNgXv{1mtBy=Rsn0Y(|K@bE%5QHB> z{p|vdXfVcZ+tWIyjB^f`f4d~c2gE-fv;d2Q5FvP60k{a$-+!HT6yDkHBb9~)dLI)$ zLiCsEL(svs<-^Uvehc5zgieK6pst&hRafJd@xcex-l6K|?fMqJrwQkg@mk~9l~2yD zoGV7FooP0hnDlK%72=sKw}p!Y8d`;8bJ^QK@bE%5Cq|Wz&937eHG3Rp>~?!Y~sdht7GtZ z;f%uNbK9)xIS&qX4lwrhwAO(!9L5En&+p7ZWB^$?T<(S>1YNb=qZ&LayJPS;+y{su z&^`!!g-v+AWV{Lhc)d2P5-1ds0OTdDJewf{-_u}qjeoNv+0rG0M-J~XGI+cp?|dW~ zS;Do}$^TWf?h2y4q#Oh+8@s!4Ip z91C<1TD|5=-a(4ApH$M=;3*sPE-I_lcb>;0i7RW#yG;!nDOn!0y}&e_gA~c&#Uzw2 z41eCf^PumtJe=9Q22#vy5X*+@ANwhi!BeJO-B6#@eFuG)uP6AqnJgzvjhOpD)U|$! zZ18e{7y8K-N7>PLyD**;Lm2G12wE_Bbyr8<>7Z{EsC&JvvlMfKR|l}C@75=nD(v2C ziz%)Qp4dG>5ClOG1VIpl-^SPW?uYvi*?-^OsS5gfGrhxjp)Eu}TOjzhSi zW-~H!-m{)_#S`WNBW=VWfULKG{+&l>FOai4DkEn|A0Jhaoigx--JTu7bM|EAY=071 z2YW{*u^zhg{x7Jg6wX<7RxCH~^dHhVxq%7ssorYu$O6N?_kX$n5J0IiM?Ct|42S+h zy5sv7QZGBNz$fqjrUZ40KkPpooM`5lMxBB`)PH!UZ|@rV@BjX2|KX9zEBb;U2!bF8 zf*=UOuY^p_=-t)>ru*bwG{R*hG=GQQ1&m$%^IGuFzn!hLZI%I_&TT&QHdawz477je zjRy)ke?Y7IkPWG`<}E`Lj@u!1<$N@Piu~craA%>T9z&-Lzm7?6k)+NpDTiH|oeU}5 zSl(#NYulcK;7fGr|I?{c&t@K_?e5XO|4aRU?{-9oEIHpY6jDc@POkABK7S^ez>tzF zm3j-~wP!H~C?@p{mJF%DQ3e~6BULIDxQ9;*tZ!fQSjBmJA|D!d30vOh&ci*-z;AZv zSqZJfofoKcyPR4#RGOn|f%Gv|KFN^xH{sI)HN8LW?+Psph`vto?F>!$jFkz!4*opD iSLYT4K@ffie*n_4H1<#MZw>DN0000FZw z%T=VBT#OuA5_(|8L?X%sLS{poW3`)050$DUmmG)yX{20`l^hHgN-t${q03eZJI6}x zztx#BwFld5x@|Ap&L{1T{oc$s&$E&8(;EPkf0UGzuAvV8C7(~>@w5KxHtrApxtC7J zq)2{5h^&{W=j`ONA6aXrJ?j@_Ui2xYoAo9(pHzlo)CTE(*`K2Q>x=O5V!_QbT_>?% zIxUGYv*%>>AEHEQ8AdIC#fCyRxr#m-i7~gQ!u)5=@VR{}G^DE_dzf6HVKEkl>4u$p zf3y>JI`MS3oLEuni?VN~RL_+uzYZVAr9@goiBR{kaJtb=>@JiqABBeZljSHWDJdx_ z{SS3H(j8Hc2M9bN z=9DZ0;4?u8d|C}n8w8mi=K^-WfBfzAd*s$!pw(Old?zZq8CVGVWf_anO*-&Ze*=6n zC^NL#b{&9HSnJ5x*xTpSe>xHH$>^t3kmI3RVtyV1V|(iPRDO$q5AE`Em6=tm38u~` zLw`}4!w)1`g!?!Bf^yQKR7pumNlED%socFRo7w*C*A^L^LI`~QF@|;Y>cuw$O)|Rw z@-c4XA!h%1_J@NMqZ?12w?`P)f5+m@b_yZzxjh$sar*7A?m+W+PWLMF93G#3O~^as zGQ(c21Liz4`h-|M8+`_N1$=zM*bDU-R50KRh%W@b>Z1w?VwNfJtuTVnuPn}6Etb_< z&A<@f3-E2qXF&MCBe&rlM*!bql9hok^OU`Kre5L1suOFHN9gHhMq^)zf4=erzD*Z4 zpF#aCwlUzNO|T1m1}D}W^*93CvsE#UeL}>fzRAWc=gCPFXTX5}n!w;ih+k4Q9Qc}X;Oj9WWKkMyOcJ!pbupJdX*ZPsKJAeGeR_W)Y<7`qcoy|x zE4O!33E<0f2G+tIQok4&f6=+=DLd{0pTa*SB_$=L|DryMdspo*_JIJI?$2i@h3RJa&A72StH<8iY;`wh)5rmbfnt`-}LXj)!al#!eFq5yI7@Qm1RA!LRe_q21^%(;xd*6Vdxk1(ubj9Ezgfbjsxe-j#w2B)Av`i{l%>$+*4Az?)n3rW^i7B TBaKf000000001h2m=5B0K2`CDF6TfFp(uI z9vBxITW;ZFoBtUjJY4_)00DGTPE!Ct=GbNc004`TWp;lej4RL2Pbtn#%)_NnS;5uM z1?*=4AtOdlvdp6G000IwNklN%$_{PVzQ!c)@cPfQD$>Wl7@*Vz^iUF0VMI9i+6NBwGL?rFH~k z4>L7Za1in#gaPawX4>zD6yXTciG!Zt+WL4jT74gGAu_#1t5GZ(E-ZwF@Qk@$RCK)G(muD4-;50Chf++U&)#+GPm67 zb}Ift^O29dE{;0W#;6R(ALRc?N2l?BBxR(sP^a;Kj^rQJ2%bf+ktxtq{8RkjUq|{F zgcgDtiGyR1ZJxCpXOC}fSdC=z;MRud66}9pBWh0I|Ay8f*@4s6%Mz?*fMuddZQjoRMGL`PBG>>1IqE0ye=UIQrEGRB#qyLqi~lnL>=}QE zI|=Ea2--<#aZaFC9tL>9Bi|-Bv78A9+Jzk06f9BMX&te@X_G!%BmGkf*+y>COob$*6EMssi_PwJ8jv$@5-IKVGgOT1VEo6WW0~~pP+rH~w z%#%|~suXT7fF7=So(H%e3>JEC!1RCK8i_~K*ee8C*U&=mNi6-^0m|_afHi>ptA|Ai zVL3ZPfIR=V2e=pkc0*VuIGW>@JIPivjurxPv6+A5KM|FdTMNFqo?D!Dod0t)|A#yY z>XjTOhcaD%2zMkwy>eLYrr1*OWg(Jwk`p{jsg+9?3&36dpFv`T^HrSz*DLSCV!M;e z3@?ppfG!q*MR!B(v_b9{|w+K$1x zNzwe@aL2aW*i`c7V0oPhAgtijJ_exqCrGmx#-UVVss@M$2$Y8U!v%jIXO>d|S_n#k zUDGqj#z4rhfrExQ)*tZ*KwEVlG}S3LWD5yU@i5D`Z;KwLyRGLcD^)tETR^TuZ)o zN?02}Gz9+W#F=>4#xSGGu&OoyoRzcBYdc*79^IV5TeYg@d&;v?mHTS>-|gmdyyX41 z+thqN`4amTsg|PMP1j|#0S>yU`Cfb(g1zU#90V1C@GAxYu&GIOL!AThS0_lAB;j5s zyRTZdv`_IDu4Z)-I&rOmD2N9djUT6irTWmvss9Kf>PEWz_JD{iJw}kK1}Z_j5`jo# zNn+I#!t#y+#X}74S`blZN%4SF{62t4%ms>2%{71JzlktqSgN2r6`-jivKCMx5}IXj b*LJ@F#pENp+Wb9900000NkvXXu0mjfnO`tJ delta 1230 zcmV;<1Tp)~4%rGNiBL{Q4GJ0x0000DNk~Le0001h0001h1Oos705K4J_y7O^Cy^y9 z6>hM{pa1{>0d!JMQvg8b*k%9#0D+Nic7NQ)DJ!`8xq!U_0G8}JMs3<_W&i*LQ%OWY zRA_fxR!v@LV9kxhR`F z8%xqk(Ib)nLI7}2=0d~(j7!R7;6rFJ;5U)Up>dWiw3~*A2|2XX6r2#?OvGpS1r>pg z)_*`%LO@*s4hW!T*q7V~@*4^Q6kbdY5Kuf705~)hV8VbmR|dSv2yh~R=YQak$U<7D zMR}@~wU}3BQvQ$2hx~xcQUGe>nkX&r&I)h{_EF}=<^uv8mM)ZcH9zRCN`A0L4!0d( zPJZx62@I?Qh$Ii2%u&d0_>*ra+d&IFD8cw=-w3oI9LVPX25q>25ixg zuqOhTu1=Mb$U++NP+ygmkk>>~zP}~vS5)zy$bIf4Rq4k00j=9hZLSe`s3yc5fvOaN zeW?tE%2EJw7>lyG2X@mby;$1?`*=qH`vlk(K)eSbwB@bPQ;*stX9hYM>DcQ*4l&)lEpeb{fgcd8TN-|{ja?$27e!hl(R5N~x5 z@OM6J&;HIwf02XJ#+>1ppYq|(EVdN}xC~|5QaW_~oDbdjxy2*#mB*6kBk^P{*&nzvae6NJGTpa1$x@Zh(|@Xct@NV(m;ky`2NoBl zi+FQYmBwISR}p+pfU%081p88e4D9zsX`h1K919?!8_Nx~JD-8wOcbCftM*H|5^WX` zqOOE@sv82Z43G#gKiH7`AlL*fmomw(ceCA>t`E-zDlg^0vN*w*3y|R%29#j$3n1JC z0*nN3z2pD(*njt8jR7t-N-_l4_1xb-F~A9YHE){hh2I!Tba2AK8D{IX&Yy+b4ls|a zIiY3hcr~6+EwfU9T`P|nkclttObUR#pr1$r&jb9v&{FRU69R-1jFw6;LKzAs7T1&;P$&Lpo(KK`C=lXg*Yq$c00000Ne4wvM6N<$f?|9*=l}o! diff --git a/icons/obj/guns/manufacturer/serene_outdoors/righthand.dmi b/icons/obj/guns/manufacturer/serene_outdoors/righthand.dmi index 58fd6ab48f2a6fddf07e6f289f08d02f90bdee5c..8b752cc35913e31fd91313df6a22f2f2f0046244 100644 GIT binary patch delta 1475 zcmV;!1w8uC3hNAz7Y?8Z0{{R3yb+fl0000mktHi0z`(#;ZsB8_|MnpUo&W#<0d!JM zQvg8b*k%9#0G5$ufPWLAtUNzIr8qY+50^q^1y?^8aPR;Cxam_4<=H!`000F?NklE`)&Fe_aw26B3t&HsFzzGNgzv0ETJyuYVnImT9&>W-1K}j4>Bt zh8*{kAS6qZZV*7;Z<9DeN0?;70&O2N-bmrbq?n>GFvm>p;F!b_I>IEtT3oyKE_gBA z1?zJb2Id4O@Ap<5p(9KR%=;sYOBnF7OyVcNB(*#EoH&77PH4eLlPo;2ei>fyd(qx3eEWRt~qDAxX)0ZMSrTM`a5JkHcevoDz*e z;xin=>nY<|0KoIPVwFIlPy`@v>BVDMGKj(=Z3S|6q<>nvV(?hc%?uvzsDn$9kuBU> zTl`$Z6&k8v-RD?;L%!`c0Y~bv7TJC`!XM0) zfH%(2Ie*%Hf!BXu2nJ8w$CUD1n*~=SSNUC#_xJggQ)?Uz9)?fu%o0!w!|m)2-X*&< z>#x%Oq;PQw;lHl0bLToKilQirq9}@@C?8_{xxSkRzidB9!2orP9SmO4cg_L6#G!SC zz*D7c&OaU=$;Gplw5|O=Pqq(lW zXepM5wLmB$V(YF8&ahpJaZHieAxbHV!5bak!Qg@Mb<#Gk>bs`bXqgc8sl8z9BZ2C?nv{!va*44!fA?56spkL~nbJ)aaWHz3B+jkzsEe4+;9tCVQhmD>by9r8qZueE}tXcl`oWh2p(- zF~vKBr*=bwtshlgY-c%eY}7A^5Z zHk8hqmkdKV?uXKq^Q9FuYI|~E#7zX3`aZGZHBy~1PIqk|6GL&%Vd8c#Fb$v{N z-(p+;pDmqwzOuBoyJdX-m-_!+?TAf40`-ugQ9Al8&A=5rkt-v`1g4VQn19k+nBRLA z=YV2L-(bs73Y=x|xj0f|N`YJWX@ULeYhJ5--k!))(E2lit>Hq)$00>D%PDHLkV1l9G(UAZE delta 1188 zcmV;V1Y7&-49^OX7Y={~0{{R3eocQU0000dktHh?4Uk#h00001bW%=J06^y0W&i*H zi;-@Cf8$oBtl;YB0`@fkBn(FdzcE1o000C(NklHt_7>AFd2$13;!4@F6 z3&ElTm4yPM)`>ePFbk;YB1Jhzt;fR7(xE_*bm<^R5^zWsfoKOxi=a-vEV7jXkvSG< z|E=B~W%5Lw+_>%H_I`lPdq3{I4++qNmjFmfe@RK*K^6a{Iv@K-&$?$#)b0KAS_a0W z0{#U;yf}v)m-%uZGBLMhY+T`KA&jDExmd1T>g(!MT%^y9tEr*Bwz$C6j9NP3DQ1-Zd!w%=At2R@*d$xWGd^({NV)Ucf}41dkso)cht!c>vD z3>*f05m*O4pp@x7MWH<+1)Vu~Kz6)=fcL*zR?joOXek6fP>bovj7UL;EY|`Me}b&q zkIbdB8VkQVDe$Eux*o_=SA8R2^MSd#bxnw8DeyseEl?xHYBe{TuWhesJM>40Bl$4azomaViQ&d^~ZPyAJTs;B4?hyI=@W+?m_EfIW7e72fP1Hx^$Ftk- z2@35#ebF2sv_E8)xlUeuMGP&?5yq^%j`Y$Y2lK zA$f)b@N{%^Lf8v-2viW@i-|7*zS`p|j(xVp@J%21epsEoJ3J&&^{^2aL=R(p8`BKm z|1!Y${QE8gzS$_p1D|qCjKDIglvoXHk2DC6my;-SO89la@NGPEXhsySf3S@JU(^8W zz-Llo%|`)6U}rKfWU-G4TTy6{XO8kD-%)fTr2#U)N3DD@3P>KwE=)uP#}+W@CfGl2 zHx&39S>WpsA|&1@UKk4-mRD2mNb8{u;8S2*Q1!Cqf?!7;w-nI5& ztlf7$nzMwGxWDK(-*D*$?GIWcR`Rm%i&u)wi^>^G*w$YxA Date: Sun, 2 Feb 2025 17:53:41 -0600 Subject: [PATCH 215/330] Automatic changelog generation for PR #4083 [ci skip] --- html/changelogs/AutoChangeLog-pr-4083.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4083.yml diff --git a/html/changelogs/AutoChangeLog-pr-4083.yml b/html/changelogs/AutoChangeLog-pr-4083.yml new file mode 100644 index 000000000000..4e436a7f3375 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4083.yml @@ -0,0 +1,4 @@ +author: Apogee-dev +changes: + - {rscadd: Model 23 Woodsman hunting rifle} +delete-after: true From fa4281996656b1ac4b45dbec8c56e318929e5ad7 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 3 Feb 2025 01:03:52 +0000 Subject: [PATCH 216/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4083.yml | 4 ---- html/changelogs/archive/2025-02.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4083.yml diff --git a/html/changelogs/AutoChangeLog-pr-4083.yml b/html/changelogs/AutoChangeLog-pr-4083.yml deleted file mode 100644 index 4e436a7f3375..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4083.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Apogee-dev -changes: - - {rscadd: Model 23 Woodsman hunting rifle} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index f032a56c92aa..8e066366907b 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -11,3 +11,6 @@ - bugfix: empty veins close themselves. Gristlebee: - bugfix: 8x50 HP ammo boxes spawn with the correct ammo +2025-02-03: + Apogee-dev: + - rscadd: Model 23 Woodsman hunting rifle From d049484fd4970977da02392f0237f210b2f3149d Mon Sep 17 00:00:00 2001 From: Ratvar <61395690+Ratvarr@users.noreply.github.com> Date: Sun, 2 Feb 2025 21:46:50 -0800 Subject: [PATCH 217/330] The floral shirt now takes two seconds to put on. (#4129) ## About The Pull Request read title ## Why It's Good For The Game because a winter coat taking less time than a shirt that's barely even being worn is bullshit. yes. this is a spite pr. ## Changelog :cl: fix: Floral shirts no longer take six whole seconds to put on, because that is completely insane. /:cl: --- code/modules/clothing/suits/miscellaneous.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index e51da946cbc6..5878633f05d5 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -445,3 +445,9 @@ desc = "From grills to guns, this shirt's seen it all." icon_state = "hawaiian_blue" item_state = "hawaiian_blue" + + equipping_sound = EQUIP_SOUND_SHORT_GENERIC + unequipping_sound = UNEQUIP_SOUND_SHORT_GENERIC + equip_delay_self = EQUIP_DELAY_COAT + equip_delay_other = EQUIP_DELAY_COAT * 1.5 + strip_delay = EQUIP_DELAY_COAT * 1.5 From ba131aafa63f6d610062251e80ba97ee5055d150 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 2 Feb 2025 23:57:38 -0600 Subject: [PATCH 218/330] Automatic changelog generation for PR #4129 [ci skip] --- html/changelogs/AutoChangeLog-pr-4129.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4129.yml diff --git a/html/changelogs/AutoChangeLog-pr-4129.yml b/html/changelogs/AutoChangeLog-pr-4129.yml new file mode 100644 index 000000000000..6d1f8506fa8c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4129.yml @@ -0,0 +1,5 @@ +author: Ratvarr +changes: + - {bugfix: 'Floral shirts no longer take six whole seconds to put on, because that + is completely insane.'} +delete-after: true From 7540157f05da8fc40778566d99dc224281f18eb3 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 4 Feb 2025 01:01:50 +0000 Subject: [PATCH 219/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4129.yml | 5 ----- html/changelogs/archive/2025-02.yml | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4129.yml diff --git a/html/changelogs/AutoChangeLog-pr-4129.yml b/html/changelogs/AutoChangeLog-pr-4129.yml deleted file mode 100644 index 6d1f8506fa8c..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4129.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Ratvarr -changes: - - {bugfix: 'Floral shirts no longer take six whole seconds to put on, because that - is completely insane.'} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index 8e066366907b..9a0d274358e4 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -14,3 +14,7 @@ 2025-02-03: Apogee-dev: - rscadd: Model 23 Woodsman hunting rifle +2025-02-04: + Ratvarr: + - bugfix: Floral shirts no longer take six whole seconds to put on, because that + is completely insane. From 32e6a541909ac426ab7da4b6050ae47f1c25d951 Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Wed, 5 Feb 2025 15:06:44 +0100 Subject: [PATCH 220/330] Tweaks to/removal of some indie stamps. (#4133) ## About The Pull Request - Captain's stamp - ![obraz](https://github.com/user-attachments/assets/97a7c09a-c6e4-4622-afec-e73884f5253c) - Head of Personel's stamp - replaced with a "First Officer" stamp - Chaplain's stamp - repathed to `/roumain`, as that's the only place where it's used - no other changes though - Law stamp - removed, as it's unused and I don't think _will_ be used. - Mime and clown stamps - reduced to atoms. ## Changelog :cl: fix: Captain's stamp no longer talks about stations. tweak: Replaced HOP's stamp with FO's stamp. code: Repathed chaplain's stamp into roumain stamp - no other changes though. del: Removed law, clown and mime stamps. /:cl: --- _maps/map_files/generic/CentCom.dmm | 2 -- .../independent/independent_rigger.dmm | 2 +- code/game/objects/items/storage/briefcase.dm | 4 --- code/modules/asset_cache/asset_list_items.dm | 5 +--- .../clothing/outfits/factions/independent.dm | 7 +----- .../clothing/outfits/factions/minutemen.dm | 2 +- .../clothing/outfits/factions/nanotrasen.dm | 4 +-- .../clothing/outfits/factions/roumain.dm | 6 ++--- .../clothing/outfits/factions/solgov.dm | 2 +- .../food_and_drinks/food/snacks_egg.dm | 5 ---- code/modules/jobs/job_types/chaplain.dm | 3 --- code/modules/jobs/job_types/clown.dm | 3 --- .../jobs/job_types/head_of_personnel.dm | 2 +- code/modules/jobs/job_types/lawyer.dm | 2 -- code/modules/jobs/job_types/mime.dm | 3 --- .../mob/living/silicon/robot/robot_modules.dm | 1 - code/modules/paperwork/stamps.dm | 23 +++--------------- icons/obj/bureaucracy.dmi | Bin 37804 -> 37999 bytes icons/stamp_icons/large_stamp-cap.png | Bin 1138 -> 1224 bytes icons/stamp_icons/large_stamp-clown.png | Bin 964 -> 0 bytes icons/stamp_icons/large_stamp-fo.png | Bin 0 -> 1558 bytes icons/stamp_icons/large_stamp-hop.png | Bin 1245 -> 0 bytes icons/stamp_icons/large_stamp-mime.png | Bin 824 -> 0 bytes .../UpdatePaths/Scripts/4133_indie_stamps.txt | 7 ++++++ 24 files changed, 21 insertions(+), 62 deletions(-) delete mode 100644 icons/stamp_icons/large_stamp-clown.png create mode 100644 icons/stamp_icons/large_stamp-fo.png delete mode 100644 icons/stamp_icons/large_stamp-hop.png delete mode 100644 icons/stamp_icons/large_stamp-mime.png create mode 100644 tools/UpdatePaths/Scripts/4133_indie_stamps.txt diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index d8a562fe99e5..5b05c5659f1b 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -475,7 +475,6 @@ }, /obj/item/clipboard, /obj/item/folder/blue, -/obj/item/stamp/law, /turf/open/floor/plasteel/grimy, /area/centcom/control) "akI" = ( @@ -535,7 +534,6 @@ /obj/structure/table/wood, /obj/item/clipboard, /obj/item/folder/blue, -/obj/item/stamp/law, /turf/open/floor/plasteel/grimy, /area/centcom/control) "ala" = ( diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm index 77f9b30d1efa..13a617b3374c 100644 --- a/_maps/shuttles/independent/independent_rigger.dmm +++ b/_maps/shuttles/independent/independent_rigger.dmm @@ -2590,7 +2590,7 @@ /obj/item/folder/blue{ pixel_x = 3 }, -/obj/item/stamp/head_of_personnel{ +/obj/item/stamp/officer{ name = "first mate's rubber stamp"; pixel_x = 8; pixel_y = 7 diff --git a/code/game/objects/items/storage/briefcase.dm b/code/game/objects/items/storage/briefcase.dm index dfc65846bd11..ae9f9773c5a6 100644 --- a/code/game/objects/items/storage/briefcase.dm +++ b/code/game/objects/items/storage/briefcase.dm @@ -32,10 +32,6 @@ /obj/item/storage/briefcase/lawyer folder_path = /obj/item/folder/blue -/obj/item/storage/briefcase/lawyer/PopulateContents() - new /obj/item/stamp/law(src) - ..() - /obj/item/storage/briefcase/sniperbundle desc = "Its label reads \"genuine hardened Captain leather\", but suspiciously has no other tags or branding. Smells like L'Air du Temps." force = 10 diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 9acdab838e8b..7a9df514ca39 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -96,20 +96,17 @@ /datum/asset/spritesheet/simple/paper name = "paper" assets = list( - "stamp-clown" = 'icons/stamp_icons/large_stamp-clown.png', "stamp-deny" = 'icons/stamp_icons/large_stamp-deny.png', "stamp-ok" = 'icons/stamp_icons/large_stamp-ok.png', "stamp-void" = 'icons/stamp_icons/large_stamp-void.png', - "stamp-hop" = 'icons/stamp_icons/large_stamp-hop.png', + "stamp-fo" = 'icons/stamp_icons/large_stamp-fo.png', "stamp-cmo" = 'icons/stamp_icons/large_stamp-cmo.png', "stamp-ce" = 'icons/stamp_icons/large_stamp-ce.png', "stamp-hos" = 'icons/stamp_icons/large_stamp-hos.png', "stamp-rd" = 'icons/stamp_icons/large_stamp-rd.png', "stamp-cap" = 'icons/stamp_icons/large_stamp-cap.png', "stamp-qm" = 'icons/stamp_icons/large_stamp-qm.png', - "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-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', diff --git a/code/modules/clothing/outfits/factions/independent.dm b/code/modules/clothing/outfits/factions/independent.dm index 7b82368f14da..0d5da0c6cd3b 100644 --- a/code/modules/clothing/outfits/factions/independent.dm +++ b/code/modules/clothing/outfits/factions/independent.dm @@ -198,7 +198,7 @@ duffelbag = /obj/item/storage/backpack/duffelbag/captain courierbag = /obj/item/storage/backpack/messenger/com - chameleon_extras = list(/obj/item/gun/energy/e_gun, /obj/item/stamp/head_of_personnel) + chameleon_extras = list(/obj/item/gun/energy/e_gun, /obj/item/stamp/officer) /datum/outfit/job/independent/hop/western name = "Independent - Head of Personnel (Western)" @@ -720,8 +720,6 @@ l_hand = /obj/item/storage/briefcase/lawyer l_pocket = /obj/item/clothing/accessory/lawyers_badge - chameleon_extras = /obj/item/stamp/law - // Curator /datum/outfit/job/independent/curator @@ -771,15 +769,12 @@ ears = /obj/item/radio/headset/headset_srv uniform = /obj/item/clothing/under/rank/civilian/chaplain backpack_contents = list( - /obj/item/stamp/chap = 1, /obj/item/camera/spooky = 1 ) backpack = /obj/item/storage/backpack/cultpack satchel = /obj/item/storage/backpack/cultpack - chameleon_extras = /obj/item/stamp/chap - // Chemist /datum/outfit/job/independent/chemist diff --git a/code/modules/clothing/outfits/factions/minutemen.dm b/code/modules/clothing/outfits/factions/minutemen.dm index 02263a06ce96..29ed5fbfe764 100644 --- a/code/modules/clothing/outfits/factions/minutemen.dm +++ b/code/modules/clothing/outfits/factions/minutemen.dm @@ -147,7 +147,7 @@ /obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1) - chameleon_extras = list(/obj/item/gun/energy/e_gun, /obj/item/stamp/head_of_personnel) + chameleon_extras = list(/obj/item/gun/energy/e_gun, /obj/item/stamp/officer) /datum/outfit/job/clip/doctor name = "CLIP - Doctor" diff --git a/code/modules/clothing/outfits/factions/nanotrasen.dm b/code/modules/clothing/outfits/factions/nanotrasen.dm index 3d0a75fd2525..c1c8e2fcc34a 100644 --- a/code/modules/clothing/outfits/factions/nanotrasen.dm +++ b/code/modules/clothing/outfits/factions/nanotrasen.dm @@ -100,7 +100,7 @@ chameleon_extras = list( /obj/item/gun/energy/e_gun, - /obj/item/stamp/head_of_personnel, + /obj/item/stamp/nanotrasen/officer, ) // Head of Security @@ -430,8 +430,6 @@ l_pocket = /obj/item/laser_pointer r_pocket = /obj/item/clothing/accessory/lawyers_badge - chameleon_extras = /obj/item/stamp/law - // Corp. Rep /datum/outfit/job/nanotrasen/lawyer/corporaterepresentative name = "Nanotrasen - Corporate Representative" diff --git a/code/modules/clothing/outfits/factions/roumain.dm b/code/modules/clothing/outfits/factions/roumain.dm index e7cc57a33a96..42e28a372907 100644 --- a/code/modules/clothing/outfits/factions/roumain.dm +++ b/code/modules/clothing/outfits/factions/roumain.dm @@ -49,7 +49,7 @@ satchel = /obj/item/storage/backpack/cultpack backpack_contents = list(/obj/item/book/manual/srmlore=1, - /obj/item/stamp/chap = 1, + /obj/item/stamp/roumain = 1, /obj/item/melee/classic_baton/telescopic=1, ) chameleon_extras = null @@ -75,7 +75,7 @@ satchel = /obj/item/storage/backpack/cultpack backpack_contents = list(/obj/item/book/manual/srmlore=1, - /obj/item/stamp/chap = 1, + /obj/item/stamp/roumain = 1, /obj/item/melee/classic_baton/telescopic=1, ) chameleon_extras = null @@ -164,5 +164,5 @@ satchel = /obj/item/storage/backpack/cultpack backpack_contents = list(/obj/item/book/manual/srmlore=1, - /obj/item/stamp/chap = 1, + /obj/item/stamp/roumain = 1, ) diff --git a/code/modules/clothing/outfits/factions/solgov.dm b/code/modules/clothing/outfits/factions/solgov.dm index c4aed59c7e21..0c6fc0ba284c 100644 --- a/code/modules/clothing/outfits/factions/solgov.dm +++ b/code/modules/clothing/outfits/factions/solgov.dm @@ -121,7 +121,7 @@ backpack_contents = list(/obj/item/storage/box/ids=1,\ /obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1) - chameleon_extras = list(/obj/item/gun/energy/e_gun, /obj/item/stamp/head_of_personnel) + chameleon_extras = list(/obj/item/gun/energy/e_gun, /obj/item/stamp/officer) /datum/outfit/job/solgov/doctor name = "SolGov - Medical Doctor" diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm index c17335bbb140..4db728b748cf 100644 --- a/code/modules/food_and_drinks/food/snacks_egg.dm +++ b/code/modules/food_and_drinks/food/snacks_egg.dm @@ -57,11 +57,6 @@ to_chat(usr, "You colour [src] with [W].") icon_state = "egg-[clr]" - else if(istype(W, /obj/item/stamp/clown)) - var/clowntype = pick("grock", "grimaldi", "rainbow", "chaos", "joker", "sexy", "standard", "bobble", "krusty", "bozo", "pennywise", "ronald", "jacobs", "kelly", "popov", "cluwne") - icon_state = "egg-clown-[clowntype]" - desc = "An egg that has been decorated with the grotesque, robustable likeness of a clown's face. " - to_chat(usr, "You stamp [src] with [W], creating an artistic and not remotely horrifying likeness of clown makeup.") else ..() diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm index 5efe0a0a00d2..3835613d686f 100644 --- a/code/modules/jobs/job_types/chaplain.dm +++ b/code/modules/jobs/job_types/chaplain.dm @@ -98,11 +98,8 @@ ears = /obj/item/radio/headset/headset_srv uniform = /obj/item/clothing/under/rank/civilian/chaplain backpack_contents = list( - /obj/item/stamp/chap = 1, /obj/item/camera/spooky = 1 ) backpack = /obj/item/storage/backpack/cultpack satchel = /obj/item/storage/backpack/cultpack - - chameleon_extras = /obj/item/stamp/chap diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index e2c0e24501b1..5efb1ff899b0 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -26,7 +26,6 @@ mask = /obj/item/clothing/mask/gas/clown_hat l_pocket = /obj/item/bikehorn backpack_contents = list( - /obj/item/stamp/clown = 1, /obj/item/reagent_containers/spray/waterflower = 1, /obj/item/reagent_containers/food/snacks/grown/banana = 1, /obj/item/instrument/bikehorn = 1, @@ -38,8 +37,6 @@ box = /obj/item/storage/box/hug/survival - chameleon_extras = /obj/item/stamp/clown - /datum/outfit/job/clown/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() if(visualsOnly) diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm index d535e1fb705e..24e24d6cdf20 100644 --- a/code/modules/jobs/job_types/head_of_personnel.dm +++ b/code/modules/jobs/job_types/head_of_personnel.dm @@ -47,4 +47,4 @@ duffelbag = /obj/item/storage/backpack/duffelbag/captain courierbag = /obj/item/storage/backpack/messenger/com - chameleon_extras = list(/obj/item/gun/energy/e_gun, /obj/item/stamp/head_of_personnel) + chameleon_extras = list(/obj/item/gun/energy/e_gun, /obj/item/stamp/officer) diff --git a/code/modules/jobs/job_types/lawyer.dm b/code/modules/jobs/job_types/lawyer.dm index b43c00caed3e..850968365807 100644 --- a/code/modules/jobs/job_types/lawyer.dm +++ b/code/modules/jobs/job_types/lawyer.dm @@ -25,5 +25,3 @@ l_hand = /obj/item/storage/briefcase/lawyer l_pocket = /obj/item/laser_pointer r_pocket = /obj/item/clothing/accessory/lawyers_badge - - chameleon_extras = /obj/item/stamp/law diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm index 3d165c8610b7..3ce35edd7df4 100644 --- a/code/modules/jobs/job_types/mime.dm +++ b/code/modules/jobs/job_types/mime.dm @@ -27,7 +27,6 @@ head = /obj/item/clothing/head/frenchberet suit = /obj/item/clothing/suit/toggle/suspenders backpack_contents = list( - /obj/item/stamp/mime = 1, /obj/item/book/mimery = 1, /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing = 1 ) @@ -35,8 +34,6 @@ backpack = /obj/item/storage/backpack/mime satchel = /obj/item/storage/backpack/mime - chameleon_extras = /obj/item/stamp/mime - /datum/outfit/job/mime/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 0778eaf59fc9..25c739a5667c 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -745,7 +745,6 @@ /obj/item/assembly/flash/cyborg, /obj/item/toy/crayon/rainbow, /obj/item/instrument/bikehorn, - /obj/item/stamp/clown, /obj/item/bikehorn, /obj/item/bikehorn/airhorn, /obj/item/paint/anycolor, diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 46fd25ac685d..87ee5155f32c 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -26,19 +26,14 @@ icon_state = "stamp-qm" dye_color = DYE_QM -/obj/item/stamp/law - name = "law office's rubber stamp" - icon_state = "stamp-law" - dye_color = DYE_LAW - /obj/item/stamp/captain name = "captain's rubber stamp" icon_state = "stamp-cap" dye_color = DYE_CAPTAIN -/obj/item/stamp/head_of_personnel - name = "head of personnel's rubber stamp" - icon_state = "stamp-hop" +/obj/item/stamp/officer + name = "first officer's rubber stamp" + icon_state = "stamp-fo" dye_color = DYE_FO /obj/item/stamp/hos @@ -66,17 +61,7 @@ icon_state = "stamp-deny" dye_color = DYE_REDCOAT -/obj/item/stamp/clown - name = "clown's rubber stamp" - icon_state = "stamp-clown" - dye_color = DYE_CLOWN - -/obj/item/stamp/mime - name = "mime's rubber stamp" - icon_state = "stamp-mime" - dye_color = DYE_MIME - -/obj/item/stamp/chap +/obj/item/stamp/roumain name = "chaplain's rubber stamp" icon_state = "stamp-chap" dye_color = DYE_CHAP diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 486b7be4e6f3ecc01be4e086525906dc451fdfb4..5dc211db8a19d50efee51f3ab4c64129e221161b 100644 GIT binary patch literal 37999 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 literal 37804 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

sL$YnD=2(g>~yC2cwFv{F3wcbZwoR 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 RpkDpb?uFNMW>{y=1y?bdUbdJ(u8HxH|#F&pCaL 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 TU!7OW00000NkvXXu0mjfm^Mug delta 1118 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 Hu0mjf5`AYS diff --git a/icons/stamp_icons/large_stamp-mime.png b/icons/stamp_icons/large_stamp-mime.png deleted file mode 100644 index c9a01434394db71d9d55ddf8c34e5d08c47d152b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 824 zcmV-81IPS{P)la(^Z5j0Y<|8y z0ONd2no0{ zc0MJn>w4qLNlSLl-M#l)i@~H~apjS;Uan29?2Hdk0uh(^Q(8a$J%sS!=9wdH#En`gpxwe^i+$va}Q!-=#z=bG#~QsmwRrf89w8#TL^wd9`naZsNOp(s69K63ut z8znlaUal#D(!Z64P*OiVQ?lX?mkikx#ftlt7V%o5&XOgMI9JXs&0L?o-vN`tCjcf+ z*5Y`zyg0!1*()Xg9iq;X0pxUMtRp2uB!PRkVt_KoOZ^?Mi1&V@M60oCO%_~(+M6M* zm)U(=4OR^Bp?94K-R&gTb-i(?Nk?vL0_YJKpuuvj0ZQn|5zE#ja4G6V251ulk0@?r z7{?3XnAjtW8_9~SP2iM~ju2a*GEO$?Fp(#~M4kZAyUyJ=Zj~^Ra<7zcz&#d<8{e5v z0iy23mE4uvkG=M(M Date: Wed, 5 Feb 2025 08:17:45 -0600 Subject: [PATCH 221/330] Automatic changelog generation for PR #4133 [ci skip] --- html/changelogs/AutoChangeLog-pr-4133.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4133.yml diff --git a/html/changelogs/AutoChangeLog-pr-4133.yml b/html/changelogs/AutoChangeLog-pr-4133.yml new file mode 100644 index 000000000000..2eb378db284e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4133.yml @@ -0,0 +1,7 @@ +author: Sadhorizon +changes: + - {bugfix: Captain's stamp no longer talks about stations.} + - {tweak: Replaced HOP's stamp with FO's stamp.} + - {code_imp: Repathed chaplain's stamp into roumain stamp - no other changes though.} + - {rscdel: 'Removed law, clown and mime stamps.'} +delete-after: true From 1f10735f5d3128128fb75969978133c54922c43c Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 01:02:38 +0000 Subject: [PATCH 222/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4133.yml | 7 ------- html/changelogs/archive/2025-02.yml | 6 ++++++ 2 files changed, 6 insertions(+), 7 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4133.yml diff --git a/html/changelogs/AutoChangeLog-pr-4133.yml b/html/changelogs/AutoChangeLog-pr-4133.yml deleted file mode 100644 index 2eb378db284e..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4133.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Sadhorizon -changes: - - {bugfix: Captain's stamp no longer talks about stations.} - - {tweak: Replaced HOP's stamp with FO's stamp.} - - {code_imp: Repathed chaplain's stamp into roumain stamp - no other changes though.} - - {rscdel: 'Removed law, clown and mime stamps.'} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index 9a0d274358e4..d91fd9049f9e 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -18,3 +18,9 @@ Ratvarr: - bugfix: Floral shirts no longer take six whole seconds to put on, because that is completely insane. +2025-02-06: + Sadhorizon: + - bugfix: Captain's stamp no longer talks about stations. + - tweak: Replaced HOP's stamp with FO's stamp. + - code_imp: Repathed chaplain's stamp into roumain stamp - no other changes though. + - rscdel: Removed law, clown and mime stamps. From c57da5b8911ac2c2dfda2efe89667bb5552cee60 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:35:46 -0600 Subject: [PATCH 223/330] Dynamic human icons (#3462) ## About The Pull Request You can now generate simple mob icons via corpse spawners and its cached so its not terribly expensive port of https://github.com/tgstation/tgstation/pull/72517 and to fix some unit tests ports (which will also minorly improve init times i suspect) that changes how overlays render. https://github.com/tgstation/tgstation/pull/69696 https://github.com/tgstation/tgstation/pull/73965 https://github.com/tgstation/tgstation/pull/71706 currently only applied to frontiersmen but its very simple to do it for any of them ![image](https://github.com/user-attachments/assets/a677e6c9-5279-4f17-ad82-c8e3a418bfbb) - [x] FIX THAT TEST BEFORE MERG ## Why It's Good For The Game No more ancient simple mob sprites once everything is moved over ## Changelog :cl: FalloutFalcon, Fikou, a hood by Viro refactor: Humanoid mobs automatically generate their sprites, they no longer will be outdated. refactor: Ports some tg overlay improvments. /:cl: --------- Signed-off-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/__DEFINES/flags.dm | 26 +- code/__DEFINES/mobs.dm | 3 + code/__DEFINES/overlays.dm | 27 ++ code/__DEFINES/stat_tracking.dm | 6 +- code/__DEFINES/subsystems.dm | 25 -- code/__HELPERS/dynamic_human_icon_gen.dm | 65 ++++ code/__HELPERS/icons.dm | 1 - code/_compile_options.dm | 4 - code/_globalvars/bitfields.dm | 1 - code/_globalvars/misc.dm | 2 + code/controllers/subsystem/overlays.dm | 311 ++++++++++-------- code/datums/holocall.dm | 1 - code/game/atoms.dm | 10 +- code/game/objects/effects/decals/decal.dm | 23 +- code/game/objects/items/robot/robot_items.dm | 2 - code/modules/admin/verbs/mapping.dm | 1 - code/modules/admin/verbs/one_click_antag.dm | 1 - code/modules/autowiki/pages/ships.dm | 1 - code/modules/awaymissions/corpse.dm | 2 + .../mob/dead/new_player/preferences_setup.dm | 1 - .../mob/living/simple_animal/corpse.dm | 43 +++ .../hostile/human/frontiersman.dm | 166 +++------- .../simple_animal/hostile/human/human.dm | 27 +- .../simple_animal/hostile/human/syndicate.dm | 2 +- code/modules/unit_tests/create_and_destroy.dm | 2 + shiptest.dme | 2 + 26 files changed, 427 insertions(+), 328 deletions(-) create mode 100644 code/__DEFINES/overlays.dm create mode 100644 code/__HELPERS/dynamic_human_icon_gen.dm diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index b367c514232e..37343142625e 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -21,31 +21,29 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define CONDUCT_1 (1<<5) /// For machines and structures that should not break into parts, eg, holodeck stuff #define NODECONSTRUCT_1 (1<<7) -/// atom queued to SSoverlay -#define OVERLAY_QUEUED_1 (1<<8) /// item has priority to check when entering or leaving -#define ON_BORDER_1 (1<<9) +#define ON_BORDER_1 (1<<8) //Whether or not this atom shows screentips when hovered over -#define NO_SCREENTIPS_1 (1<<10) +#define NO_SCREENTIPS_1 (1<<9) /// Prevent clicking things below it on the same turf eg. doors/ fulltile windows -#define PREVENT_CLICK_UNDER_1 (1<<11) -#define HOLOGRAM_1 (1<<12) +#define PREVENT_CLICK_UNDER_1 (1<<10) +#define HOLOGRAM_1 (1<<11) /// Prevents mobs from getting chainshocked by teslas and the supermatter -#define SHOCKED_1 (1<<13) +#define SHOCKED_1 (1<<12) ///Whether /atom/Initialize() has already run for the object -#define INITIALIZED_1 (1<<14) +#define INITIALIZED_1 (1<<13) /// was this spawned by an admin? used for stat tracking stuff. -#define ADMIN_SPAWNED_1 (1<<15) +#define ADMIN_SPAWNED_1 (1<<14) /// should not get harmed if this gets caught by an explosion? -#define PREVENT_CONTENTS_EXPLOSION_1 (1<<16) +#define PREVENT_CONTENTS_EXPLOSION_1 (1<<15) /// should the contents of this atom be acted upon -#define RAD_PROTECT_CONTENTS_1 (1 << 17) +#define RAD_PROTECT_CONTENTS_1 (1 << 16) /// should this object be allowed to be contaminated -#define RAD_NO_CONTAMINATE_1 (1 << 18) +#define RAD_NO_CONTAMINATE_1 (1 << 17) ///Use when this shouldn't be obscured by large icons, like trees. -#define SHOW_BEHIND_LARGE_ICONS_1 (1<<12) +#define SHOW_BEHIND_LARGE_ICONS_1 (1<<18) /// Should we use the initial icon for display? Mostly used by overlay only objects -#define HTML_USE_INITAL_ICON_1 (1<<20) +#define HTML_USE_INITAL_ICON_1 (1<<19) // Update flags for [/atom/proc/update_appearance] /// Update the atom's name diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 7230e7cfab9b..9b8514d8bea8 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -444,3 +444,6 @@ //Saves a proc call, life is suffering. If who has no targets_from var, we assume it's just who #define GET_TARGETS_FROM(who) (who.targets_from ? who.get_targets_from() : who) + +/// In dynamic human icon gen we don't replace the held item. +#define NO_REPLACE 0 diff --git a/code/__DEFINES/overlays.dm b/code/__DEFINES/overlays.dm new file mode 100644 index 000000000000..b21bb5007672 --- /dev/null +++ b/code/__DEFINES/overlays.dm @@ -0,0 +1,27 @@ +/* I do want this however this currently only fails on decals specificly in create and destroy. + Updating the overlays in genral was already pretty unatomic.area + I've added porting some updated decal code from tg to resolve this to my list. + WARNING("Too many overlays on [changed_on.type] - [length(changed_on.overlays)], refusing to update and cutting.\ + \n What follows is a printout of all existing overlays at the time of the overflow \n[text_lays]"); \ +*/ + +// A reasonable number of maximum overlays an object needs +// If you think you need more, rethink it +#define MAX_ATOM_OVERLAYS 100 + +/// Checks if an atom has reached the overlay limit, and make a loud error if it does. +#define VALIDATE_OVERLAY_LIMIT(changed_on) \ + if(length(changed_on.overlays) >= MAX_ATOM_OVERLAYS) { \ + changed_on.overlays.Cut(); \ + } \ + +/// Performs any operations that ought to run after an appearance change +#define POST_OVERLAY_CHANGE(changed_on) \ + if(alternate_appearances) { \ + for(var/I in changed_on.alternate_appearances){\ + var/datum/atom_hud/alternate_appearance/AA = changed_on.alternate_appearances[I];\ + if(AA.transfer_overlays){\ + AA.copy_overlays(changed_on, TRUE);\ + }\ + } \ + } diff --git a/code/__DEFINES/stat_tracking.dm b/code/__DEFINES/stat_tracking.dm index 69ea3c598bee..a7be42d4c4e2 100644 --- a/code/__DEFINES/stat_tracking.dm +++ b/code/__DEFINES/stat_tracking.dm @@ -8,10 +8,6 @@ #define STAT_LOG_ENTRY(entrylist, entryname) \ var/list/STAT_ENTRY = entrylist[entryname] || (entrylist[entryname] = new /list(STAT_ENTRY_LENGTH)); \ STAT_ENTRY[STAT_ENTRY_TIME] += STAT_TIME; \ - var/STAT_INCR_AMOUNT = min(1, 2**round((STAT_ENTRY[STAT_ENTRY_COUNT] || 0)/SHORT_REAL_LIMIT)); \ - if (STAT_INCR_AMOUNT == 1 || prob(100/STAT_INCR_AMOUNT)) { \ - STAT_ENTRY[STAT_ENTRY_COUNT] += STAT_INCR_AMOUNT; \ - }; \ - + STAT_ENTRY[STAT_ENTRY_COUNT] += 1; diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index b702358a9977..e82c04f57904 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -241,31 +241,6 @@ #define SSEXPLOSIONS_TURFS 2 #define SSEXPLOSIONS_THROWS 3 -//! ## Overlays subsystem - -///Compile all the overlays for an atom from the cache lists -// |= on overlays is not actually guaranteed to not add same appearances but we're optimistically using it anyway. -#define COMPILE_OVERLAYS(A) \ - do{ \ - var/list/ad = A.add_overlays; \ - var/list/rm = A.remove_overlays; \ - if(LAZYLEN(rm)){ \ - A.overlays -= rm; \ - rm.Cut(); \ - } \ - if(LAZYLEN(ad)){ \ - A.overlays |= ad; \ - ad.Cut(); \ - } \ - for(var/I in A.alternate_appearances){ \ - var/datum/atom_hud/alternate_appearance/AA = A.alternate_appearances[I]; \ - if(AA.transfer_overlays){ \ - AA.copy_overlays(A, TRUE); \ - } \ - } \ - A.flags_1 &= ~OVERLAY_QUEUED_1; \ - }while(FALSE) - // Vote subsystem counting methods /// First past the post. One selection per person, and the selection with the most votes wins. #define VOTE_COUNT_METHOD_SINGLE 1 diff --git a/code/__HELPERS/dynamic_human_icon_gen.dm b/code/__HELPERS/dynamic_human_icon_gen.dm new file mode 100644 index 000000000000..c884e901d4fa --- /dev/null +++ b/code/__HELPERS/dynamic_human_icon_gen.dm @@ -0,0 +1,65 @@ +///Global list of all dynamically generated icons, for caching, so we don't have to generate multiple times. +GLOBAL_LIST_EMPTY(dynamic_human_appearances) + +/// Creates a human with the given parameters and returns an appearance of it +/proc/get_dynamic_human_appearance(outfit_path, species_path = /datum/species/human, mob_spawn_path, r_hand, l_hand, bloody_slots = NONE, animated = TRUE) + if(!species_path) + return FALSE + if(!ispath(species_path)) + stack_trace("Attempted to call get_dynamic_human_appearance() with an instantiated species_path. Pass the species datum typepath instead.") + return FALSE + var/arg_string = "[outfit_path]_[species_path]_[mob_spawn_path]_[l_hand]_[r_hand]_[bloody_slots]" + if(GLOB.dynamic_human_appearances[arg_string]) //if already exists in our cache, just return that + return GLOB.dynamic_human_appearances[arg_string] + var/mob/living/carbon/human/dummy/consistent/dummy = new() + dummy.set_species(species_path) + dummy.stat = CONSCIOUS //He needs to be alive or he has no eyes. Scary + dummy.underwear = "Nude" + dummy.undershirt = "Nude" + dummy.socks = "Nude" + if(outfit_path) + var/datum/outfit/outfit = new outfit_path() + if(r_hand != NO_REPLACE) //we can still override to be null, no replace means just use outfit's + outfit.r_hand = r_hand + if(l_hand != NO_REPLACE) + outfit.l_hand = l_hand + dummy.equipOutfit(outfit, visualsOnly = TRUE) + else if(mob_spawn_path) + var/obj/effect/mob_spawn/human/spawner = new mob_spawn_path(null) + if(r_hand != NO_REPLACE) + spawner.r_hand = r_hand + if(l_hand != NO_REPLACE) + spawner.l_hand = l_hand + spawner.special(dummy, dummy) + spawner.equip(dummy) + for(var/obj/item/carried_item in dummy) + if(dummy.is_holding(carried_item)) + var/datum/component/two_handed/twohanded = carried_item.GetComponent(/datum/component/two_handed) + if(twohanded) + twohanded.wield(dummy) + /* + var/datum/component/transforming/transforming = carried_item.GetComponent(/datum/component/transforming) + if(transforming) + transforming.set_active(carried_item) + */ + if(bloody_slots & carried_item.slot_flags) + carried_item.add_mob_blood(dummy) + //dummy.update_held_items() + dummy.regenerate_icons() + var/mutable_appearance/output = dummy.appearance + GLOB.dynamic_human_appearances[arg_string] = output + qdel(dummy) + return output + +///This exists to apply the icons async, as that cannot be done in Initialize because of possible sleeps. +/proc/apply_dynamic_human_appearance(atom/target, outfit_path, species_path = /datum/species/human, mob_spawn_path, r_hand, l_hand, bloody_slots = NONE) + INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(set_dynamic_human_appearance), args) + +///This proc gets an argument of a target and runs +/proc/set_dynamic_human_appearance(list/arguments) + var/atom/target = arguments[1] //1st argument is the target + var/dynamic_appearance = get_dynamic_human_appearance(arglist(arguments.Copy(2))) //the rest of the arguments starting from 2 matter to the proc + target.icon = 'icons/mob/human.dmi' + target.icon_state = "" + target.appearance_flags |= KEEP_TOGETHER + target.copy_overlays(dynamic_appearance, TRUE) diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 3e676f289458..9f229669c4a6 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -1084,7 +1084,6 @@ GLOBAL_LIST_EMPTY(friendly_animal_types) var/icon/out_icon = icon('icons/effects/effects.dmi', "nothing") - COMPILE_OVERLAYS(body) for(var/D in showDirs) body.setDir(D) var/icon/partial = getFlatIcon(body, defdir=D) diff --git a/code/_compile_options.dm b/code/_compile_options.dm index 9ff2cbe896ae..d5f43d594be8 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -87,10 +87,6 @@ #define SHIP_PLACEMENT_TEST #endif -// 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. diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 61fa476fe7b1..0af9eb6bca23 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -99,7 +99,6 @@ DEFINE_BITFIELD(flags_1, list( "NO_LAVA_GEN_1" = NO_LAVA_GEN_1, "NO_RUINS_1" = NO_RUINS_1, "ON_BORDER_1" = ON_BORDER_1, - "OVERLAY_QUEUED_1" = OVERLAY_QUEUED_1, "PREVENT_CLICK_UNDER_1" = PREVENT_CLICK_UNDER_1, "PREVENT_CONTENTS_EXPLOSION_1" = PREVENT_CONTENTS_EXPLOSION_1, "RAD_NO_CONTAMINATE_1" = RAD_NO_CONTAMINATE_1, diff --git a/code/_globalvars/misc.dm b/code/_globalvars/misc.dm index d6c720380f46..cde6b820ad32 100644 --- a/code/_globalvars/misc.dm +++ b/code/_globalvars/misc.dm @@ -29,3 +29,5 @@ GLOBAL_LIST_EMPTY(poll_options) GLOBAL_PROTECT(poll_options) GLOBAL_VAR_INIT(internal_tick_usage, 0.2 * world.tick_lag) //This var is updated every tick by a DLL if present, used to reduce lag + +GLOBAL_VAR_INIT(running_create_and_destroy, FALSE) diff --git a/code/controllers/subsystem/overlays.dm b/code/controllers/subsystem/overlays.dm index 43cccd87abbd..41df60feee45 100644 --- a/code/controllers/subsystem/overlays.dm +++ b/code/controllers/subsystem/overlays.dm @@ -1,184 +1,106 @@ SUBSYSTEM_DEF(overlays) name = "Overlay" - flags = SS_TICKER - wait = 1 - priority = FIRE_PRIORITY_OVERLAYS - init_order = INIT_ORDER_OVERLAY - - var/list/queue + flags = SS_NO_FIRE|SS_NO_INIT var/list/stats - var/list/overlay_icon_state_caches - var/list/overlay_icon_cache /datum/controller/subsystem/overlays/PreInit() - overlay_icon_state_caches = list() - overlay_icon_cache = list() - queue = list() stats = list() -/datum/controller/subsystem/overlays/Initialize() - initialized = TRUE - fire(mc_check = FALSE) - return ..() - - -/datum/controller/subsystem/overlays/stat_entry(msg) - msg = "Ov:[length(queue)]" - return ..() - - /datum/controller/subsystem/overlays/Shutdown() text2file(render_stats(stats), "[GLOB.log_directory]/overlay.log") - /datum/controller/subsystem/overlays/Recover() - overlay_icon_state_caches = SSoverlays.overlay_icon_state_caches - overlay_icon_cache = SSoverlays.overlay_icon_cache - queue = SSoverlays.queue - - -/datum/controller/subsystem/overlays/fire(resumed = FALSE, mc_check = TRUE) - var/list/queue = src.queue - var/static/count = 0 - if (count) - var/c = count - count = 0 //so if we runtime on the Cut, we don't try again. - queue.Cut(1,c+1) - - for (var/thing in queue) - count++ - if(thing) - STAT_START_STOPWATCH - var/atom/A = thing - COMPILE_OVERLAYS(A) - STAT_STOP_STOPWATCH - STAT_LOG_ENTRY(stats, A.type) - if(mc_check) - if(MC_TICK_CHECK) - break - else - CHECK_TICK - - if (count) - queue.Cut(1,count+1) - count = 0 + stats = SSoverlays.stats + +/// Converts an overlay list into text for debug printing +/// Of note: overlays aren't actually mutable appearances, they're just appearances +/// Don't have access to that type tho, so this is the best you're gonna get +/proc/overlays2text(list/overlays) + var/list/unique_overlays = list() + // As anything because we're basically doing type coercion, rather then actually filtering for mutable appearances + for(var/mutable_appearance/overlay as anything in overlays) + var/key = "[overlay.icon]-[overlay.icon_state]-[overlay.dir]" + unique_overlays[key] += 1 + var/list/output_text = list() + for(var/key in unique_overlays) + output_text += "([key]) = [unique_overlays[key]]" + return output_text.Join("\n") /proc/iconstate2appearance(icon, iconstate) var/static/image/stringbro = new() - var/list/icon_states_cache = SSoverlays.overlay_icon_state_caches - var/list/cached_icon = icon_states_cache[icon] - if (cached_icon) - var/cached_appearance = cached_icon["[iconstate]"] - if (cached_appearance) - return cached_appearance stringbro.icon = icon stringbro.icon_state = iconstate - if (!cached_icon) //not using the macro to save an associated lookup - cached_icon = list() - icon_states_cache[icon] = cached_icon - var/cached_appearance = stringbro.appearance - cached_icon["[iconstate]"] = cached_appearance - return cached_appearance + return stringbro.appearance /proc/icon2appearance(icon) var/static/image/iconbro = new() - var/list/icon_cache = SSoverlays.overlay_icon_cache - . = icon_cache[icon] - if (!.) - iconbro.icon = icon - . = iconbro.appearance - icon_cache[icon] = . - -/atom/proc/build_appearance_list(old_overlays) - var/static/image/appearance_bro = new() - var/list/new_overlays = list() - if (!islist(old_overlays)) - old_overlays = list(old_overlays) - for (var/overlay in old_overlays) + iconbro.icon = icon + return iconbro.appearance + +/atom/proc/build_appearance_list(list/build_overlays) + if (!islist(build_overlays)) + build_overlays = list(build_overlays) + for (var/overlay in build_overlays) if(!overlay) + build_overlays -= overlay continue if (istext(overlay)) - new_overlays += iconstate2appearance(icon, overlay) + var/index = build_overlays.Find(overlay) + build_overlays[index] = iconstate2appearance(icon, overlay) else if(isicon(overlay)) - new_overlays += icon2appearance(overlay) - else - if(isloc(overlay)) - var/atom/A = overlay - if (A.flags_1 & OVERLAY_QUEUED_1) - COMPILE_OVERLAYS(A) - appearance_bro.appearance = overlay //this works for images and atoms too! - if(!ispath(overlay)) - var/image/I = overlay - appearance_bro.dir = I.dir - new_overlays += appearance_bro.appearance - return new_overlays - -#define NOT_QUEUED_ALREADY (!(flags_1 & OVERLAY_QUEUED_1)) -#define QUEUE_FOR_COMPILE flags_1 |= OVERLAY_QUEUED_1; SSoverlays.queue += src; -/atom/proc/cut_overlays() - LAZYINITLIST(remove_overlays) - LAZYINITLIST(add_overlays) - remove_overlays = overlays.Copy() - add_overlays.Cut() - - //If not already queued for work and there are overlays to remove - if(NOT_QUEUED_ALREADY && remove_overlays.len) - QUEUE_FOR_COMPILE + var/index = build_overlays.Find(overlay) + build_overlays[index] = icon2appearance(overlay) + return build_overlays -/mob/living/carbon/cut_overlays() - icon_render_keys = list() - return ..() +/atom/proc/cut_overlays() + STAT_START_STOPWATCH + overlays = null + POST_OVERLAY_CHANGE(src) + STAT_STOP_STOPWATCH + STAT_LOG_ENTRY(SSoverlays.stats, type) -/atom/proc/cut_overlay(list/overlays) +/atom/proc/cut_overlay(list/remove_overlays) if(!overlays) return - overlays = build_appearance_list(overlays) - LAZYINITLIST(add_overlays) //always initialized after this point - LAZYINITLIST(remove_overlays) - var/a_len = add_overlays.len - var/r_len = remove_overlays.len - remove_overlays += overlays - add_overlays -= overlays - - var/fa_len = add_overlays.len - var/fr_len = remove_overlays.len - - //If not already queued and there is work to be done - if(NOT_QUEUED_ALREADY && (fa_len != a_len || fr_len != r_len)) - QUEUE_FOR_COMPILE - -/atom/proc/add_overlay(list/overlays) + STAT_START_STOPWATCH + overlays -= build_appearance_list(remove_overlays) + POST_OVERLAY_CHANGE(src) + STAT_STOP_STOPWATCH + STAT_LOG_ENTRY(SSoverlays.stats, type) + +/atom/proc/add_overlay(list/add_overlays) if(!overlays) return - - overlays = build_appearance_list(overlays) - - LAZYINITLIST(add_overlays) //always initialized after this point - var/a_len = add_overlays.len - - add_overlays += overlays - var/fa_len = add_overlays.len - if(NOT_QUEUED_ALREADY && fa_len != a_len) - QUEUE_FOR_COMPILE - -/atom/proc/copy_overlays(atom/other, cut_old) //copys our_overlays from another atom + STAT_START_STOPWATCH + overlays += build_appearance_list(add_overlays) + VALIDATE_OVERLAY_LIMIT(src) + POST_OVERLAY_CHANGE(src) + STAT_STOP_STOPWATCH + STAT_LOG_ENTRY(SSoverlays.stats, type) + +/atom/proc/copy_overlays(atom/other, cut_old) //copys our_overlays from another atom if(!other) if(cut_old) cut_overlays() return + STAT_START_STOPWATCH var/list/cached_other = other.overlays.Copy() - if(cached_other) - if(cut_old || !LAZYLEN(overlays)) - remove_overlays = overlays - add_overlays = cached_other - if(NOT_QUEUED_ALREADY) - QUEUE_FOR_COMPILE - else if(cut_old) - cut_overlays() - -#undef NOT_QUEUED_ALREADY -#undef QUEUE_FOR_COMPILE + if(cut_old) + if(cached_other) + overlays = cached_other + else + overlays = null + VALIDATE_OVERLAY_LIMIT(src) + POST_OVERLAY_CHANGE(src) + STAT_STOP_STOPWATCH + STAT_LOG_ENTRY(SSoverlays.stats, type) + else if(cached_other) + overlays += cached_other + VALIDATE_OVERLAY_LIMIT(src) + POST_OVERLAY_CHANGE(src) + STAT_STOP_STOPWATCH + STAT_LOG_ENTRY(SSoverlays.stats, type) //TODO: Better solution for these? /image/proc/add_overlay(x) @@ -204,3 +126,100 @@ SUBSYSTEM_DEF(overlays) overlays |= cached_other else if(cut_old) cut_overlays() + +// Debug procs + +/atom + /// List of overlay "keys" (info about the appearance) -> mutable versions of static appearances + /// Drawn from the overlays list + var/list/realized_overlays + /// List of underlay "keys" (info about the appearance) -> mutable versions of static appearances + /// Drawn from the underlays list + var/list/realized_underlays + +/image + /// List of overlay "keys" (info about the appearance) -> mutable versions of static appearances + /// Drawn from the overlays list + var/list/realized_overlays + /// List of underlay "keys" (info about the appearance) -> mutable versions of static appearances + /// Drawn from the underlays list + var/list/realized_underlays + +/// Takes the atoms's existing overlays and underlays, and makes them mutable so they can be properly vv'd in the realized_overlays/underlays list +/atom/proc/realize_overlays() + realized_overlays = realize_appearance_queue(overlays) + realized_underlays = realize_appearance_queue(underlays) + +/// Takes the image's existing overlays, and makes them mutable so they can be properly vv'd in the realized_overlays list +/image/proc/realize_overlays() + realized_overlays = realize_appearance_queue(overlays) + realized_underlays = realize_appearance_queue(underlays) + +/// Takes a list of appearnces, makes them mutable so they can be properly vv'd and inspected +/proc/realize_appearance_queue(list/appearances) + var/list/real_appearances = list() + var/list/queue = appearances.Copy() + var/queue_index = 0 + while(queue_index < length(queue)) + queue_index++ + // If it's not a command, we assert that it's an appearance + var/mutable_appearance/appearance = queue[queue_index] + if(!appearance) // Who fucking adds nulls to their sublists god you people are the worst + continue + + var/mutable_appearance/new_appearance = new /mutable_appearance() + new_appearance.appearance = appearance + var/key = "[appearance.icon]-[appearance.icon_state]-[appearance.plane]-[appearance.layer]-[appearance.dir]-[appearance.color]" + var/tmp_key = key + var/appearance_indx = 1 + while(real_appearances[tmp_key]) + tmp_key = "[key]-[appearance_indx]" + appearance_indx++ + + real_appearances[tmp_key] = new_appearance + var/add_index = queue_index + // Now check its children + for(var/mutable_appearance/child_appearance as anything in appearance.overlays) + add_index++ + queue.Insert(add_index, child_appearance) + for(var/mutable_appearance/child_appearance as anything in appearance.underlays) + add_index++ + queue.Insert(add_index, child_appearance) + return real_appearances + +/// Takes two appearances as args, prints out, logs, and returns a text representation of their differences +/// Including suboverlays +/proc/diff_appearances(mutable_appearance/first, mutable_appearance/second, iter = 0) + var/list/diffs = list() + var/list/firstdeet = first.vars + var/list/seconddeet = second.vars + var/diff_found = FALSE + for(var/name in first.vars) + var/firstv = firstdeet[name] + var/secondv = seconddeet[name] + if(firstv ~= secondv) + continue + if((islist(firstv) || islist(secondv)) && length(firstv) == 0 && length(secondv) == 0) + continue + if(name == "vars") // Go away + continue + if(name == "_listen_lookup") // This is just gonna happen with marked datums, don't care + continue + if(name == "overlays") + first.realize_overlays() + second.realize_overlays() + var/overlays_differ = FALSE + for(var/i in 1 to length(first.realized_overlays)) + if(diff_appearances(first.realized_overlays[i], second.realized_overlays[i], iter + 1)) + overlays_differ = TRUE + + if(!overlays_differ) + continue + + diff_found = TRUE + diffs += "Diffs detected at [name]: First ([firstv]), Second ([secondv])" + + var/text = "Depth of: [iter]\n\t[diffs.Join("\n\t")]" + message_admins(text) + log_world(text) + return diff_found diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index d394d7707be8..c2b8a58a1f35 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -324,7 +324,6 @@ if(outfit_type) mannequin.equipOutfit(outfit_type,TRUE) mannequin.setDir(SOUTH) - COMPILE_OVERLAYS(mannequin) . = image(mannequin) unset_busy_human_dummy("HOLODISK_PRESET") diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 75a36e1aa677..fe01a7edd1c4 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -680,9 +680,13 @@ SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) var/list/new_overlays = update_overlays() - if(managed_overlays) - cut_overlay(managed_overlays) - managed_overlays = null + if (managed_overlays) + if (length(overlays) == (islist(managed_overlays) ? length(managed_overlays) : 1)) + overlays = null + POST_OVERLAY_CHANGE(src) + else + cut_overlay(managed_overlays) + managed_overlays = null if(length(new_overlays)) managed_overlays = new_overlays add_overlay(new_overlays) diff --git a/code/game/objects/effects/decals/decal.dm b/code/game/objects/effects/decals/decal.dm index 505221b2b013..41652d539940 100644 --- a/code/game/objects/effects/decals/decal.dm +++ b/code/game/objects/effects/decals/decal.dm @@ -5,12 +5,15 @@ resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF var/turf_loc_check = TRUE -/obj/effect/decal/Initialize() +/obj/effect/decal/Initialize(mapload) . = ..() - if(turf_loc_check && (!isturf(loc) || NeverShouldHaveComeHere(loc))) + if(NeverShouldHaveComeHere(loc)) + if(mapload) + WARNING("[name] spawned in a bad turf ([loc]) at [AREACOORD(src)] in \the [get_area(src)]. \ + Please remove it or allow it to pass NeverShouldHaveComeHere if it's intended.") return INITIALIZE_HINT_QDEL var/static/list/loc_connections = list( - COMSIG_TURF_CHANGED = PROC_REF(handle_turf_change), + COMSIG_TURF_CHANGE = PROC_REF(on_decal_move), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -24,7 +27,7 @@ if(!(resistance_flags & FIRE_PROOF)) //non fire proof decal or being burned by lava qdel(src) -/obj/effect/decal/proc/handle_turf_change(turf/source, path, list/new_baseturfs, flags, list/post_change_callbacks) +/obj/effect/decal/proc/on_decal_move(turf/source, path, list/new_baseturfs, flags, list/post_change_callbacks) SIGNAL_HANDLER post_change_callbacks += CALLBACK(src, PROC_REF(sanity_check_self)) @@ -61,5 +64,17 @@ /obj/effect/turf_decal/Destroy(force) SHOULD_CALL_PARENT(FALSE) + + // If we don't do this, turf decals will end up stacking up on a tile, and break the overlay limit + // I hate it too bestie + if(GLOB.running_create_and_destroy) + var/turf/T = loc + T.RemoveElement(/datum/element/decal, icon, icon_state, dir, FALSE, color, null, null, alpha, FALSE) + if(detail_overlay) + T.RemoveElement(/datum/element/decal, icon, detail_overlay, dir, FALSE, detail_color, null, null, alpha, appearance_flags) + + // Intentionally used over moveToNullspace(), which calls doMove(), which fires + // off an enormous amount of procs, signals, etc, that this temporary effect object + // never needs or affects. loc = null return QDEL_HINT_QUEUE diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 84f4ffa1f0a1..243112d84c68 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -856,7 +856,6 @@ . = ..() var/mutable_appearance/arm = mutable_appearance(icon = icon, icon_state = "borg_beaker_apparatus_arm") if(stored) - COMPILE_OVERLAYS(stored) stored.pixel_x = 0 stored.pixel_y = 0 var/mutable_appearance/stored_copy = new /mutable_appearance(stored) @@ -913,7 +912,6 @@ . = ..() var/mutable_appearance/arm = mutable_appearance(icon, "borg_hardware_apparatus_arm1") if(stored) - COMPILE_OVERLAYS(stored) stored.pixel_x = -3 stored.pixel_y = 0 if(!istype(stored, /obj/item/circuitboard)) diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 8f1b69bc831d..19b74e54b60d 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -307,7 +307,6 @@ GLOBAL_VAR_INIT(say_disabled, FALSE) qdel(I) randomize_human(D) JB.equip(D, TRUE, FALSE) - COMPILE_OVERLAYS(D) var/icon/I = icon(getFlatIcon(D), frame = 1) final.Insert(I, JB.name) qdel(D) diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index d4b9259a61e9..ddacd0c88dfa 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -219,7 +219,6 @@ equipAntagOnDummy(mannequin, ert) - COMPILE_OVERLAYS(mannequin) CHECK_TICK var/icon/preview_icon = icon('icons/effects/effects.dmi', "nothing") preview_icon.Scale(48+32, 16+32) diff --git a/code/modules/autowiki/pages/ships.dm b/code/modules/autowiki/pages/ships.dm index fe07ac402858..854117eb3c1e 100644 --- a/code/modules/autowiki/pages/ships.dm +++ b/code/modules/autowiki/pages/ships.dm @@ -79,7 +79,6 @@ wiki_dummy.wipe_state() to_equip.equip(wiki_dummy, TRUE, FALSE) - COMPILE_OVERLAYS(wiki_dummy) var/icon/wiki_icon = icon(getFlatIcon(wiki_dummy), frame = 1) //Make all icons 32x32 for wiki sizing consistency diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 4fb7ceac4527..51aa0dbfc41d 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -175,6 +175,8 @@ var/facial_hairstyle var/skin_tone + var/list/outfit_override + /obj/effect/mob_spawn/human/Initialize() if(ispath(outfit)) outfit = new outfit() diff --git a/code/modules/mob/dead/new_player/preferences_setup.dm b/code/modules/mob/dead/new_player/preferences_setup.dm index 71b66ac54fb4..86a2f792a839 100644 --- a/code/modules/mob/dead/new_player/preferences_setup.dm +++ b/code/modules/mob/dead/new_player/preferences_setup.dm @@ -64,6 +64,5 @@ if(selected_outfit && show_gear) selected_outfit.equip(mannequin, TRUE, preference_source = parent) - COMPILE_OVERLAYS(mannequin) parent.show_character_previews(new /mutable_appearance(mannequin)) unset_busy_human_dummy(DUMMY_HUMAN_SLOT_PREFERENCES) diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index f189084e6dc1..e76be5bcf59a 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -123,6 +123,9 @@ hairstyle = "Bald" facial_hairstyle = "Shaved" +/obj/effect/mob_spawn/human/corpse/frontier/internals + outfit = /datum/outfit/frontier/internals + /datum/outfit/frontier name = "Frontiersman Corpse" uniform = /obj/item/clothing/under/frontiersmen @@ -131,19 +134,38 @@ gloves = /obj/item/clothing/gloves/color/black neck = /obj/item/clothing/neck/dogtag/frontier +/datum/outfit/frontier/internals + name = "Frontiersman Corpse Internals" + mask = /obj/item/clothing/mask/gas/sechailer + l_pocket = /obj/item/tank/internals/emergency_oxygen/engi + /obj/effect/mob_spawn/human/corpse/frontier/ranged outfit = /datum/outfit/frontier +/obj/effect/mob_spawn/human/corpse/frontier/ranged/internals + outfit = /datum/outfit/frontier/internals + /obj/effect/mob_spawn/human/corpse/frontier/surgeon outfit = /datum/outfit/job/frontiersmen/doctor/corpse +/obj/effect/mob_spawn/human/corpse/frontier/surgeon/internals + outfit = /datum/outfit/job/frontiersmen/doctor/corpse/internals + /datum/outfit/job/frontiersmen/doctor/corpse name = "Frontiersmen Surgeon Corpse" r_pocket = null +/datum/outfit/job/frontiersmen/doctor/corpse/internals + name = "Frontiersmen Surgeon Corpse Internals" + mask = /obj/item/clothing/mask/breath + l_pocket = /obj/item/tank/internals/emergency_oxygen/engi + /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper outfit = /datum/outfit/frontier/trooper +/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/internals + outfit = /datum/outfit/frontier/trooper/internals + /datum/outfit/frontier/trooper name = "Frontiersman Armored Corpse" suit = /obj/item/clothing/suit/armor/vest/frontier @@ -152,6 +174,10 @@ ears = /obj/item/radio/headset head = /obj/item/clothing/head/helmet/bulletproof/x11/frontier +/datum/outfit/frontier/trooper/internals + name = "Frontiersman Armored Corpse Internals" + mask = /obj/item/clothing/mask/gas/sechailer + l_pocket = /obj/item/tank/internals/emergency_oxygen/engi /obj/effect/mob_spawn/human/corpse/frontier/ranged/officer name = "Frontiersman Officer" @@ -165,6 +191,15 @@ ears = /obj/item/radio/headset head = /obj/item/clothing/head/frontier/peaked +/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer/internals + name = "Frontiersman Officer Corpse Internals" + outfit = /datum/outfit/frontier/officer/internals + +/datum/outfit/frontier/officer/internals + name = "Frontiersman Officer Corpse Internals" + mask = /obj/item/clothing/mask/gas/sechailer + l_pocket = /obj/item/tank/internals/emergency_oxygen/engi + /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy outfit = /datum/outfit/frontier/trooper/heavy @@ -174,6 +209,14 @@ head = /obj/item/clothing/head/beret/sec/frontier/officer back = /obj/item/minigunpack +/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/internals + outfit = /datum/outfit/frontier/trooper/heavy/internals + +/datum/outfit/frontier/trooper/heavy/internals + name = "Frontiersman Heavy Corpse Internals" + mask = /obj/item/clothing/mask/gas + l_pocket = /obj/item/tank/internals/emergency_oxygen/engi + /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/gunless outfit = /datum/outfit/frontier/trooper/heavy/gunless 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 3257e6440b9e..0cfb1c429a3b 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm @@ -3,66 +3,54 @@ 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/melee/knife/survival) + loot = list() + atmos_requirements = NORMAL_ATMOS_REQS faction = list(FACTION_ANTAG_FRONTIERSMEN) footstep_type = FOOTSTEP_MOB_SHOE + mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier + r_hand = /obj/item/melee/knife/survival /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_spawner = /obj/effect/mob_spawn/human/corpse/frontier/internals /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/shadow) ranged = 1 retreat_distance = 5 minimum_distance = 5 projectilesound = 'sound/weapons/gun/revolver/cattleman.ogg' casingtype = /obj/item/ammo_casing/a44roum + mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged + r_hand = /obj/item/gun/ballistic/revolver/shadow /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_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/internals /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) + neutered = TRUE /mob/living/simple_animal/hostile/human/frontier/ranged/neutered - loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged) + neutered = TRUE /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) - + mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/surgeon + l_hand = /obj/item/melee/knife/survival + r_hand = /obj/item/gun/syringe minimum_distance = 1 retreat_distance = null projectiletype = /obj/projectile/bullet/dart/tranq @@ -73,89 +61,68 @@ 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) + neutered = TRUE /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_spawner = /obj/effect/mob_spawn/human/corpse/frontier/surgeon/internals /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) + neutered = TRUE /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, - /obj/item/gun/ballistic/rifle/illestren) casingtype = /obj/item/ammo_casing/a8_50r projectilesound = 'sound/weapons/gun/rifle/mosin.ogg' + r_hand = /obj/item/gun/ballistic/rifle/illestren /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_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/internals /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) + neutered = TRUE /mob/living/simple_animal/hostile/human/frontier/ranged/mosin/neutered - loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged) + neutered = TRUE /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) + mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper + r_hand = /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) + mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/internals 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) + neutered = TRUE /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/neutered - loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) + neutered = TRUE /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) + mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/flame + r_hand = /obj/item/flamethrower + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 @@ -176,126 +143,95 @@ 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) + neutered = TRUE /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' rapid = 4 rapid_fire_delay = 3 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 + r_hand = /obj/item/gun/ballistic/automatic/assault/skm /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_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/internals + r_hand = /obj/item/gun/ballistic/automatic/assault/skm /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) + neutered = TRUE /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/neutured - loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) + neutered = TRUE /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" - - loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, - /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 + r_hand = /obj/item/gun/ballistic/rifle/illestren /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_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/internals /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) + neutered = TRUE /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/neutered - loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) + neutered = TRUE /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' 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) + mob_spawner = /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_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/internals /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) + neutered = TRUE /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/neutered - loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/gunless) + neutered = TRUE /mob/living/simple_animal/hostile/human/frontier/ranged/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 = 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/mauler) - armor_base = /obj/item/clothing/suit/armor/frontier + mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/officer + r_hand = /obj/item/gun/ballistic/automatic/pistol/mauler /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_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/officer/internals /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) + neutered = TRUE /mob/living/simple_animal/hostile/human/frontier/ranged/officer/neutured - loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer) + neutered = TRUE 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 1efe7c02b261..e6a06df89c0b 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/human.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/human.dm @@ -33,23 +33,46 @@ unsuitable_atmos_damage = 15 minbodytemp = 180 status_flags = CANPUSH - del_on_death = TRUE footstep_type = FOOTSTEP_MOB_SHOE faction = list("hermit") + /// If we use stuff from dynamic human icon generation for loot + var/human_loot = TRUE + /// Path of the mob spawner we base the mob's visuals off of. + var/mob_spawner + /// Path of the right hand held item we give to the mob's visuals. + var/r_hand + /// Path of the left hand held item we give to the mob's visuals. + var/l_hand + // If we drop l and r hand loot + var/neutered = FALSE + ///Steals the armor datum from this type of armor var/obj/item/clothing/armor_base -/mob/living/simple_animal/hostile/human/Initialize() +/mob/living/simple_animal/hostile/human/Initialize(mapload) . = ..() + if(mob_spawner) + apply_dynamic_human_appearance(src, mob_spawn_path = mob_spawner, r_hand = r_hand, l_hand = l_hand) 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/drop_loot() + . = ..() + if(!human_loot) + return + if(mob_spawner) + new mob_spawner(loc) + if(r_hand && !neutered) + new r_hand(loc) + if(l_hand && !neutered) + new r_hand(loc) + /mob/living/simple_animal/hostile/human/vv_edit_var(var_name, var_value) switch(var_name) if (NAMEOF(src, armor_base)) 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 7e0f4a8b9c2c..05b9ea0a50ca 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 @@ speak_chance = 0 stat_attack = HARD_CRIT 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) + atmos_requirements = NORMAL_ATMOS_REQS maxbodytemp = 400 unsuitable_atmos_damage = 15 faction = list(FACTION_ANTAG_SYNDICATE) diff --git a/code/modules/unit_tests/create_and_destroy.dm b/code/modules/unit_tests/create_and_destroy.dm index 0e1d850a696f..55d2a99bfdbc 100644 --- a/code/modules/unit_tests/create_and_destroy.dm +++ b/code/modules/unit_tests/create_and_destroy.dm @@ -110,6 +110,7 @@ var/original_baseturfs = islist(spawn_at.baseturfs) ? spawn_at.baseturfs.Copy() : spawn_at.baseturfs var/original_baseturf_count = length(original_baseturfs) + GLOB.running_create_and_destroy = TRUE for(var/type_path in typesof(/atom/movable, /turf) - ignore) //No areas please if(ispath(type_path, /turf)) spawn_at.ChangeTurf(type_path) @@ -212,6 +213,7 @@ if(fails & BAD_INIT_SLEPT) TEST_FAIL("[path] slept during Initialize()") + GLOB.running_create_and_destroy = FALSE SSticker.delay_end = FALSE //This shouldn't be needed, but let's be polite SSgarbage.collection_timeout[GC_QUEUE_CHECK] = GC_CHECK_QUEUE diff --git a/shiptest.dme b/shiptest.dme index 103c22c910c8..c9bd6c943a39 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -106,6 +106,7 @@ #include "code\__DEFINES\nanites.dm" #include "code\__DEFINES\networks.dm" #include "code\__DEFINES\obj_flags.dm" +#include "code\__DEFINES\overlays.dm" #include "code\__DEFINES\overmap.dm" #include "code\__DEFINES\paper.dm" #include "code\__DEFINES\particles.dm" @@ -195,6 +196,7 @@ #include "code\__HELPERS\dates.dm" #include "code\__HELPERS\datums.dm" #include "code\__HELPERS\dna.dm" +#include "code\__HELPERS\dynamic_human_icon_gen.dm" #include "code\__HELPERS\files.dm" #include "code\__HELPERS\filters.dm" #include "code\__HELPERS\game.dm" From 62917a4187b02737c94728721d281216e03ff0cd Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 5 Feb 2025 21:46:55 -0600 Subject: [PATCH 224/330] Automatic changelog generation for PR #3462 [ci skip] --- html/changelogs/AutoChangeLog-pr-3462.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3462.yml diff --git a/html/changelogs/AutoChangeLog-pr-3462.yml b/html/changelogs/AutoChangeLog-pr-3462.yml new file mode 100644 index 000000000000..e1b110418fb0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3462.yml @@ -0,0 +1,6 @@ +author: FalloutFalcon, Fikou, a hood by Viro +changes: + - {refactor: 'Humanoid mobs automatically generate their sprites, they no longer + will be outdated.'} + - {refactor: Ports some tg overlay improvments.} +delete-after: true From 328dc3e2e64daefe9a7e8a484b3c756fb128c57a Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Thu, 6 Feb 2025 14:59:33 -0500 Subject: [PATCH 225/330] fix broken hanger number indie space (#4125) :cl: fix: indie space is no longer missing numbers on the 56x40 hangar /:cl: --- _maps/outpost/hangar/indie_space_56x40.dmm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/_maps/outpost/hangar/indie_space_56x40.dmm b/_maps/outpost/hangar/indie_space_56x40.dmm index c06806acc362..f6021c4d6a27 100644 --- a/_maps/outpost/hangar/indie_space_56x40.dmm +++ b/_maps/outpost/hangar/indie_space_56x40.dmm @@ -144,6 +144,10 @@ planetary_atmos = 1 }, /area/hangar) +"RV" = ( +/obj/effect/landmark/outpost/hangar_numbers, +/turf/open/floor/hangar/plasteel, +/area/hangar) "Yz" = ( /obj/machinery/light/floor/hangar, /turf/open/floor/plasteel/tech{ @@ -1864,7 +1868,7 @@ ck ck ck MN -aA +RV aP aE aM From dd07fb269ae5696cb00e3a2dff8cf9c3e7cc786a Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 14:10:38 -0600 Subject: [PATCH 226/330] Automatic changelog generation for PR #4125 [ci skip] --- html/changelogs/AutoChangeLog-pr-4125.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4125.yml diff --git a/html/changelogs/AutoChangeLog-pr-4125.yml b/html/changelogs/AutoChangeLog-pr-4125.yml new file mode 100644 index 000000000000..c0fb78265f56 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4125.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {bugfix: indie space is no longer missing numbers on the 56x40 hangar} +delete-after: true From 4a70b6d9856c941a0950937746204d55752ce833 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Thu, 6 Feb 2025 16:01:03 -0800 Subject: [PATCH 227/330] Removes Some Clown References (#4121) ## About The Pull Request Removes the horrors from our code (Clowns). ![image](https://github.com/user-attachments/assets/913b2773-9f99-411d-82a5-504c0842509b) Replaces the single clown mob on the singularity lab with a "creature". ![image](https://github.com/user-attachments/assets/cc993b3e-f9a1-4634-adc3-33f0b75869f1) Chile con carnival is now simply Chili con carne. ## Why It's Good For The Game Clowns did not survive the Night of Fire. ## Changelog :cl: del: clown.dm (hostile and hostile/retaliate) del: clown spawner grenades del: some clown references in halloween code del: clown simplemobs on singulolab del: clown and mime PDAs del: clown/mime masks in the few places they appeared del: clown poster del: clown shooting targets from everywhere they appear /:cl: --------- Signed-off-by: firebudgy <153147550+firebudgy@users.noreply.github.com> Co-authored-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> --- .../whitesands_surface_camp_combination.dmm | 2 - _maps/RandomRuins/SpaceRuins/bigderelict1.dmm | 4 +- .../SpaceRuins/singularity_lab.dmm | 4 +- _maps/RandomRuins/SpaceRuins/spacemall.dmm | 7 +- _maps/shuttles/inteq/inteq_colossus.dmm | 2 +- _maps/shuttles/inteq/inteq_talos.dmm | 2 +- _maps/shuttles/inteq/inteq_valor.dmm | 2 +- code/__DEFINES/is_helpers.dm | 2 - code/controllers/subsystem/traumas.dm | 2 +- code/game/machinery/syndicatebeacon.dm | 4 - code/game/machinery/syndicatebomb.dm | 15 - code/game/objects/effects/contraband.dm | 5 - .../objects/items/devices/PDA/PDA_types.dm | 45 --- code/game/objects/items/granters.dm | 2 +- .../objects/items/grenades/spawnergrenade.dm | 16 - code/game/objects/items/shooting_range.dm | 9 - code/game/objects/items/storage/backpack.dm | 1 - .../traitor/equipment/Malf_Modules.dm | 1 - .../antagonists/wizard/equipment/artefact.dm | 18 - .../food_and_drinks/food/snacks_pie.dm | 2 +- .../food_and_drinks/food/snacks_soup.dm | 12 +- .../recipes/tablecraft/recipes_soup.dm | 6 +- code/modules/holiday/halloween.dm | 81 ----- code/modules/jobs/job_types/clown.dm | 1 - code/modules/jobs/job_types/mime.dm | 1 - .../mob/living/simple_animal/hostile/clown.dm | 335 ------------------ .../simple_animal/hostile/retaliate/clown.dm | 310 ---------------- code/modules/uplink/uplink_items.dm | 23 -- shiptest.dme | 2 - 29 files changed, 19 insertions(+), 897 deletions(-) delete mode 100644 code/modules/mob/living/simple_animal/hostile/clown.dm delete mode 100644 code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm index 694f707235e1..ddf64b0a5e80 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm @@ -997,7 +997,6 @@ pixel_x = -17 }, /obj/effect/decal/remains/human, -/obj/item/clothing/mask/gas/clown_hat, /obj/effect/decal/cleanable/blood/old, /obj/item/ammo_casing/a357{ pixel_x = 9; @@ -1041,7 +1040,6 @@ pixel_x = 13 }, /obj/effect/decal/remains/human, -/obj/item/clothing/mask/gas/mime, /obj/effect/decal/cleanable/blood/old, /obj/item/ammo_casing/a357{ dir = 10; diff --git a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm index 73f4a5875db1..b2c96652e78a 100644 --- a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm +++ b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm @@ -2183,8 +2183,8 @@ "Zt" = ( /obj/structure/closet/crate, /obj/item/target/syndicate, -/obj/item/target/clown, -/obj/item/target/clown, +/obj/item/target, +/obj/item/target, /obj/item/target/alien, /obj/item/target, /obj/machinery/light/directional/north, diff --git a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm index d42576b02d58..e1dd9533c8e6 100644 --- a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm +++ b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm @@ -3890,9 +3890,7 @@ /obj/structure/chair{ dir = 8 }, -/mob/living/simple_animal/hostile/retaliate/clown/longface{ - dir = 8 - }, +/mob/living/simple_animal/hostile/netherworld/asteroid, /turf/open/floor/engine, /area/ruin/space/has_grav/singularitylab/lab) "pp" = ( diff --git a/_maps/RandomRuins/SpaceRuins/spacemall.dmm b/_maps/RandomRuins/SpaceRuins/spacemall.dmm index a0a7605441db..20d7cc8e6368 100644 --- a/_maps/RandomRuins/SpaceRuins/spacemall.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacemall.dmm @@ -4709,7 +4709,7 @@ /area/ruin/space/has_grav/spacemall/maint) "rE" = ( /obj/effect/turf_decal/corner/transparent/lime, -/obj/structure/sign/poster/contraband/clown{ +/obj/structure/sign/poster/contraband/smoke{ pixel_x = 30 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ @@ -10976,11 +10976,6 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/dorms) "Pj" = ( -/obj/item/clothing/mask/gas/clown_hat{ - pixel_y = 2; - pixel_x = 1; - name = "tainted clown wig and mask" - }, /obj/effect/decal/remains/human, /obj/machinery/light/small/directional/west, /turf/open/floor/wood, diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm index 13d218631edf..d82d3fea324a 100644 --- a/_maps/shuttles/inteq/inteq_colossus.dmm +++ b/_maps/shuttles/inteq/inteq_colossus.dmm @@ -4407,7 +4407,7 @@ /area/ship/cargo) "Wi" = ( /obj/structure/rack, -/obj/item/target/clown{ +/obj/item/target{ pixel_x = -5; pixel_y = 10 }, diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm index 5a853fdcc068..c7e33c4a8008 100644 --- a/_maps/shuttles/inteq/inteq_talos.dmm +++ b/_maps/shuttles/inteq/inteq_talos.dmm @@ -1686,7 +1686,7 @@ /obj/item/target/alien{ pixel_x = 5 }, -/obj/item/target/clown{ +/obj/item/target{ pixel_x = -5; pixel_y = 10 }, diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index 7e36f1cc310d..36ded4d532b6 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -2259,7 +2259,7 @@ /area/ship/cargo) "te" = ( /obj/structure/rack, -/obj/item/target/clown{ +/obj/item/target{ pixel_x = 9; pixel_y = 5 }, diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 5bf9e3add6ad..c5e0505487d2 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -140,8 +140,6 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list( #define ismegafauna(A) (istype(A, /mob/living/simple_animal/hostile/megafauna)) -#define isclown(A) (istype(A, /mob/living/simple_animal/hostile/retaliate/clown)) - #define isborer(A) (istype(A, /mob/living/simple_animal/borer)) //Misc mobs diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index 3a046a9aa020..95398ee7504a 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -68,7 +68,7 @@ SUBSYSTEM_DEF(traumas) "clowns" = typecacheof(list( /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/grown/bananapeel, /obj/item/reagent_containers/food/snacks/cheesiehonkers, /obj/item/trash/cheesie)), "greytide" = typecacheof(list( diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 4d37127659cd..f02763fb0e73 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -133,10 +133,6 @@ desc = "A label on it reads: Warning: Activating this device will send a power draining device to your location." droptype = /obj/item/powersink -/obj/item/sbeacondrop/clownbomb - desc = "A label on it reads: Warning: Activating this device will send a silly explosive to your location." - droptype = /obj/machinery/syndicatebomb/badmin/clown - /obj/item/sbeacondrop/semiautoturret desc = "A label on it reads: Warning: Activating this device will send a semi-auto turret to your location." droptype = /obj/machinery/porta_turret/syndicate/pod diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 7df56b390f1b..eea0c58b4ba0 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -225,13 +225,6 @@ desc = "Oh god what is in this thing?" payload = /obj/item/bombcore/badmin/summon -/obj/machinery/syndicatebomb/badmin/clown - name = "clown bomb" - icon_state = "clown-bomb" - desc = "HONK." - payload = /obj/item/bombcore/badmin/summon/clown - beepsound = 'sound/items/bikehorn.ogg' - /obj/machinery/syndicatebomb/empty name = "bomb" icon_state = "base-bomb" @@ -347,14 +340,6 @@ qdel(B) qdel(src) -/obj/item/bombcore/badmin/summon/clown - summon_path = /mob/living/simple_animal/hostile/retaliate/clown - amt_summon = 50 - -/obj/item/bombcore/badmin/summon/clown/defuse() - playsound(src, 'sound/misc/sadtrombone.ogg', 50) - ..() - /obj/item/bombcore/large name = "large bomb payload" range_heavy = 5 diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index 1227ff3847b3..547998701310 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -270,11 +270,6 @@ desc = "A old poster urging people to join the ACLF for not only the right cause, but to explore the galaxy. This is probably outdated." icon_state = "poster_aclf_enlistment" -/obj/structure/sign/poster/contraband/clown - name = "Clown" - desc = "A poster making fun of the 'clown planet incident' You almost cut yourself on the edge of this poster." - icon_state = "poster_honk" - /obj/structure/sign/poster/contraband/smoke name = "Smoke" desc = "A poster advertising some brand of cigarettes." diff --git a/code/game/objects/items/devices/PDA/PDA_types.dm b/code/game/objects/items/devices/PDA/PDA_types.dm index 4a7817c5eb60..9816ad7eadd6 100644 --- a/code/game/objects/items/devices/PDA/PDA_types.dm +++ b/code/game/objects/items/devices/PDA/PDA_types.dm @@ -1,48 +1,3 @@ -//Clown PDA is slippery. -/obj/item/pda/clown - name = "clown PDA" - default_cartridge = /obj/item/cartridge/virus/clown - inserted_item = /obj/item/toy/crayon/rainbow - icon_state = "pda-clown" - desc = "A portable microcomputer by Thinktronic Systems, LTD. The surface is coated with polytetrafluoroethylene and banana drippings." - ttone = "honk" - var/slipvictims = list() //Track slipped people - -/obj/item/pda/clown/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/sitcomlaughter, CALLBACK(src, PROC_REF(after_sitcom_laugh))) - -/obj/item/pda/clown/proc/AfterSlip(mob/living/carbon/human/M) - if (istype(M) && (M.real_name != owner)) - slipvictims |= M - var/obj/item/cartridge/virus/clown/cart = cartridge - if(istype(cart) && cart.charges < 5) - cart.charges++ - -/obj/item/pda/clown/proc/after_sitcom_laugh(mob/victim) - victim.visible_message("[src] lets out a burst of laughter!") - -//Mime PDA sends "silent" messages. -/obj/item/pda/mime - name = "mime PDA" - default_cartridge = /obj/item/cartridge/virus/mime - inserted_item = /obj/item/toy/crayon/mime - icon_state = "pda-mime" - desc = "A portable microcomputer by Thinktronic Systems, LTD. The hardware has been modified for compliance with the vows of silence." - allow_emojis = TRUE - silent = TRUE - ttone = "silence" - -/obj/item/pda/mime/msg_input(mob/living/U = usr) - if(emped || toff) - return - var/emojis = emoji_sanitize(stripped_input(U, "Please enter emojis", name)) - if(!emojis) - return - if(!U.canUseTopic(src, BE_CLOSE)) - return - return emojis - // Special AI/pAI PDAs that cannot explode. /obj/item/pda/ai icon = null diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 2e5c9275d8df..5200e85878e2 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -444,7 +444,7 @@ /obj/item/book/granter/crafting_recipe/cooking_sweets_101 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." + desc = "A cook book that teaches you some more of the newest desserts. A best seller on Maxim." crafting_recipe_types = list( /datum/crafting_recipe/food/berrytart, /datum/crafting_recipe/food/cocolavatart, diff --git a/code/game/objects/items/grenades/spawnergrenade.dm b/code/game/objects/items/grenades/spawnergrenade.dm index 72f378c38907..098a3c57bff3 100644 --- a/code/game/objects/items/grenades/spawnergrenade.dm +++ b/code/game/objects/items/grenades/spawnergrenade.dm @@ -46,19 +46,3 @@ icon_state = "holy_grenade" spawner_type = /mob/living/simple_animal/hostile/poison/bees/toxin deliveryamt = 10 - -/obj/item/grenade/spawnergrenade/clown - name = "C.L.U.W.N.E." - desc = "A sleek device often given to clowns on their 10th birthdays for protection. You can hear faint scratching coming from within." - icon_state = "clown_ball" - item_state = "clown_ball" - spawner_type = list(/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) - deliveryamt = 1 - -/obj/item/grenade/spawnergrenade/clown_broken - name = "stuffed C.L.U.W.N.E." - desc = "A sleek device often given to clowns on their 10th birthdays for protection. While a typical C.L.U.W.N.E only holds one creature, sometimes foolish young clowns try to cram more in, often to disasterous effect." - icon_state = "clown_broken" - item_state = "clown_broken" - spawner_type = /mob/living/simple_animal/hostile/retaliate/clown/mutant - deliveryamt = 5 diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm index cd554f1b2512..11acbcd75704 100644 --- a/code/game/objects/items/shooting_range.dm +++ b/code/game/objects/items/shooting_range.dm @@ -33,18 +33,9 @@ /obj/item/target/alien/anchored anchored = TRUE -/obj/item/target/clown - icon_state = "target_c" - desc = "A shooting target that looks like a useless clown." - hp = 2000 - #define DECALTYPE_SCORCH 1 #define DECALTYPE_BULLET 2 -/obj/item/target/clown/bullet_act(obj/projectile/P) - . = ..() - playsound(src.loc, 'sound/items/bikehorn.ogg', 50, TRUE) - /obj/item/target/bullet_act(obj/projectile/P) if(istype(P, /obj/projectile/bullet/reusable)) // If it's a foam dart, don't bother with any of this other shit return P.on_hit(src, 0) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 3fcbd989206c..48d7a1c90823 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -667,7 +667,6 @@ STR.silent = TRUE /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/mask/gas/clown_hat(src) new /obj/item/bikehorn(src) diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index 4f5e7bc161c9..ae1ba2bae1a5 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -10,7 +10,6 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( /obj/machinery/nuclearbomb/syndicate, /obj/machinery/syndicatebomb, /obj/machinery/syndicatebomb/badmin, - /obj/machinery/syndicatebomb/badmin/clown, /obj/machinery/syndicatebomb/empty, /obj/machinery/syndicatebomb/self_destruct, /obj/machinery/syndicatebomb/training diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm index fc6af55b3b41..398f625c02fe 100644 --- a/code/modules/antagonists/wizard/equipment/artefact.dm +++ b/code/modules/antagonists/wizard/equipment/artefact.dm @@ -72,24 +72,6 @@ activate_descriptor = "hunger" rend_desc = "Reverberates with the sound of ten thousand moos." -/obj/item/veilrender/honkrender - name = "honk render" - desc = "A wicked curved blade of alien origin, recovered from the ruins of a vast circus." - spawn_type = /mob/living/simple_animal/hostile/retaliate/clown - spawn_amt = 10 - activate_descriptor = "depression" - rend_desc = "Gently wafting with the sounds of endless laughter." - icon_state = "clownrender" - -/obj/item/veilrender/honkrender/honkhulkrender - name = "superior honk render" - desc = "A wicked curved blade of alien origin, recovered from the ruins of a vast circus. This one gleams with a special light." - spawn_type = /mob/living/simple_animal/hostile/retaliate/clown/clownhulk - spawn_amt = 5 - activate_descriptor = "depression" - rend_desc = "Gently wafting with the sounds of mirthful grunting." - icon_state = "clownrender" - ////TEAR IN REALITY /obj/singularity/wizard diff --git a/code/modules/food_and_drinks/food/snacks_pie.dm b/code/modules/food_and_drinks/food/snacks_pie.dm index 1ac3b49c0112..3f1e5d2f9098 100644 --- a/code/modules/food_and_drinks/food/snacks_pie.dm +++ b/code/modules/food_and_drinks/food/snacks_pie.dm @@ -20,7 +20,7 @@ /obj/item/reagent_containers/food/snacks/pie/cream name = "banana cream pie" - desc = "Just like back home, on clown planet! HONK!" + desc = "Just like back home." icon_state = "pie" trash = /obj/item/trash/plate bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 2) diff --git a/code/modules/food_and_drinks/food/snacks_soup.dm b/code/modules/food_and_drinks/food/snacks_soup.dm index 5ec9408dc414..3d131fb5cecb 100644 --- a/code/modules/food_and_drinks/food/snacks_soup.dm +++ b/code/modules/food_and_drinks/food/snacks_soup.dm @@ -124,13 +124,13 @@ tastes = list("tomato" = 1, "mint" = 1) foodtype = VEGETABLES | MEAT -/obj/item/reagent_containers/food/snacks/soup/clownchili - name = "chili con carnival" - desc = "A delicious stew of meat, chiles, and salty, salty clown tears." +/obj/item/reagent_containers/food/snacks/soup/meatchili + name = "chili con carne" + desc = "A delicious stew of meat and chiles." icon_state = "clownchili" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/tomatojuice = 2, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/consumable/laughter = 1) - list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/capsaicin = 1, /datum/reagent/consumable/tomatojuice = 2, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/consumable/banana = 1) - tastes = list("tomato" = 1, "hot peppers" = 2, "clown feet" = 2, "kind of funny" = 2, "someone's parents" = 2) + bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/tomatojuice = 2, /datum/reagent/consumable/nutriment/vitamin = 2) + list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/capsaicin = 1, /datum/reagent/consumable/tomatojuice = 2, /datum/reagent/consumable/nutriment/vitamin = 2) + tastes = list("tomato" = 1, "hot peppers" = 2, "meat" = 2, "spice" = 2) foodtype = VEGETABLES | MEAT /obj/item/reagent_containers/food/snacks/soup/monkeysdelight 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 9352e1b371aa..a8b1772fd7c7 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm @@ -81,15 +81,15 @@ result = /obj/item/reagent_containers/food/snacks/soup/coldchili subcategory = CAT_SOUP -/datum/crafting_recipe/food/clownchili - name = "Chili con carnival" +/datum/crafting_recipe/food/meatchili + name = "Chili con carne" reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /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, ) - result = /obj/item/reagent_containers/food/snacks/soup/clownchili + result = /obj/item/reagent_containers/food/snacks/soup/meatchili subcategory = CAT_SOUP /datum/crafting_recipe/food/tomatosoup diff --git a/code/modules/holiday/halloween.dm b/code/modules/holiday/halloween.dm index 4c2586b7dd4b..0461fe58a38d 100644 --- a/code/modules/holiday/halloween.dm +++ b/code/modules/holiday/halloween.dm @@ -97,12 +97,6 @@ trapped = 0 QDEL_IN(F, 120) - else if(trapped == INSANE_CLOWN) - visible_message("...") - playsound(loc, 'sound/spookoween/scary_clown_appear.ogg', 300, TRUE) - spawn_atom_to_turf(/mob/living/simple_animal/hostile/clown_insane, loc, 1, FALSE) - trapped = 0 - //don't spawn in crates /obj/structure/closet/crate/trigger_spooky_trap() return @@ -171,81 +165,6 @@ /mob/living/simple_animal/shade/howling_ghost/adjustHealth(amount, updating_health = TRUE, forced = FALSE) . = 0 -/////////////////////////// -//Spookoween Insane Clown// -/////////////////////////// - -///Insane clown mob. Basically a clown that haunts you. -/mob/living/simple_animal/hostile/clown_insane - name = "insane clown" - desc = "Some clowns do not manage to be accepted, and go insane. This is one of them." - icon = 'icons/mob/clown_mobs.dmi' - icon_state = "scary_clown" - icon_living = "scary_clown" - icon_dead = "scary_clown" - icon_gib = "scary_clown" - speak = list("...", ". . .") - maxHealth = 1e6 - health = 1e6 - emote_see = list("silently stares") - unsuitable_atmos_damage = 0 - var/timer - -/mob/living/simple_animal/hostile/clown_insane/Initialize() - . = ..() - status_flags |= GODMODE //Slightly easier to maintain. - -/mob/living/simple_animal/hostile/clown_insane/Destroy() - timer = null - return ..() - -/mob/living/simple_animal/hostile/clown_insane/ex_act() - return - -///Adds a timer to call stalk() on Aggro -/mob/living/simple_animal/hostile/clown_insane/Aggro() - . = ..() - timer = addtimer(CALLBACK(src, PROC_REF(stalk)), 30, TIMER_STOPPABLE|TIMER_UNIQUE) - -/mob/living/simple_animal/hostile/clown_insane/LoseAggro() - . = ..() - if(timer) - deltimer(timer) - timer = null - -///Plays scary noises and adds some timers. -/mob/living/simple_animal/hostile/clown_insane/proc/stalk() - var/mob/living/M = target - if(!istype(M)) - LoseAggro() - return - if(M.stat == DEAD) - playsound(M.loc, 'sound/spookoween/insane_low_laugh.ogg', 100, TRUE) - qdel(src) - return - playsound(M, pick('sound/spookoween/scary_horn.ogg','sound/spookoween/scary_horn2.ogg', 'sound/spookoween/scary_horn3.ogg'), 100, TRUE) - timer = addtimer(CALLBACK(src, PROC_REF(stalk)), 30, TIMER_STOPPABLE|TIMER_UNIQUE) - addtimer(CALLBACK(src, PROC_REF(teleport_to_target)), 12, TIMER_STOPPABLE|TIMER_UNIQUE) - -///Does what's in the name. Teleports to target.loc. Called from a timer. -/mob/living/simple_animal/hostile/clown_insane/proc/teleport_to_target() - if(target && isturf(target.loc)) //Hiding in lockers works to get rid of this thing. - forceMove(target.loc) - -/mob/living/simple_animal/hostile/clown_insane/MoveToTarget() - return - -/mob/living/simple_animal/hostile/clown_insane/AttackingTarget() - return - -/mob/living/simple_animal/hostile/clown_insane/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - . = 0 - if(prob(5)) - playsound(loc, 'sound/spookoween/insane_low_laugh.ogg', 300, TRUE) - -/mob/living/simple_animal/hostile/clown_insane/handle_temperature_damage() - return - ///////////////////////// // Spooky Uplink Items // ///////////////////////// diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index 5efb1ff899b0..cda0c0970b8c 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -19,7 +19,6 @@ job_icon = "clown" jobtype = /datum/job/clown - 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 diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm index 3ce35edd7df4..776d69a26293 100644 --- a/code/modules/jobs/job_types/mime.dm +++ b/code/modules/jobs/job_types/mime.dm @@ -18,7 +18,6 @@ job_icon = "mime" jobtype = /datum/job/mime - belt = /obj/item/pda/mime ears = /obj/item/radio/headset/headset_srv uniform = /obj/item/clothing/under/rank/civilian/mime alt_uniform = /obj/item/clothing/under/rank/civilian/mime/sexy //WS Edit - Alt Uniforms diff --git a/code/modules/mob/living/simple_animal/hostile/clown.dm b/code/modules/mob/living/simple_animal/hostile/clown.dm deleted file mode 100644 index a5883ce91efa..000000000000 --- a/code/modules/mob/living/simple_animal/hostile/clown.dm +++ /dev/null @@ -1,335 +0,0 @@ -/mob/living/simple_animal/hostile/clown - name = "Clown" - desc = "A denizen of clown planet." - icon = 'icons/mob/clown_mobs.dmi' - icon_state = "clown" - icon_living = "clown" - icon_dead = "clown_dead" - icon_gib = "clown_gib" - health_doll_icon = "clown" //if >32x32, it will use this generic. for all the huge clown mobs that subtype from this - mob_biotypes = MOB_ORGANIC|MOB_HUMANOID - turns_per_move = 5 - response_disarm_continuous = "gently pushes aside" - response_disarm_simple = "gently push aside" - response_harm_continuous = "robusts" - response_harm_simple = "robust" - speak = list("HONK", "Honk!", "Welcome to clown planet!") - emote_see = list("honks", "squeaks") - speak_chance = 1 - a_intent = INTENT_HARM - maxHealth = 75 - health = 75 - speed = 1 - harm_intent_damage = 8 - melee_damage_lower = 10 - melee_damage_upper = 10 - attack_sound = 'sound/items/bikehorn.ogg' - obj_damage = 0 - environment_smash = ENVIRONMENT_SMASH_NONE - del_on_death = 1 - loot = list(/obj/effect/mob_spawn/human/clown/corpse) - - minbodytemp = 270 - maxbodytemp = 370 - unsuitable_atmos_damage = 10 - footstep_type = FOOTSTEP_MOB_SHOE - var/banana_time = 0 // If there's no time set it won't spawn. - var/banana_type = /obj/item/grown/bananapeel - var/attack_reagent - -/mob/living/simple_animal/hostile/clown/handle_temperature_damage() - if(bodytemperature < minbodytemp) - adjustBruteLoss(10) - throw_alert("temp", /atom/movable/screen/alert/cold, 2) - else if(bodytemperature > maxbodytemp) - adjustBruteLoss(15) - throw_alert("temp", /atom/movable/screen/alert/hot, 3) - else - clear_alert("temp") - -/mob/living/simple_animal/hostile/clown/attack_hand(mob/living/carbon/human/M) - ..() - playsound(src.loc, 'sound/items/bikehorn.ogg', 50, TRUE) - -/mob/living/simple_animal/hostile/clown/Life() - . = ..() - if(banana_time && banana_time < world.time) - var/turf/T = get_turf(src) - var/list/adjacent = T.get_atmos_adjacent_turfs() - new banana_type(pick(adjacent)) - banana_time = world.time + rand(30,60) - -/mob/living/simple_animal/hostile/clown/AttackingTarget() - . = ..() - if(attack_reagent && . && isliving(target)) - var/mob/living/L = target - if(L.reagents) - L.reagents.add_reagent(attack_reagent, rand(1,5)) - -/mob/living/simple_animal/hostile/clown/lube - name = "Living Lube" - desc = "A puddle of lube brought to life by the honkmother." - icon_state = "lube" - icon_living = "lube" - turns_per_move = 1 - response_help_continuous = "dips a finger into" - response_help_simple = "dip a finger into" - response_disarm_continuous = "gently scoops and pours aside" - response_disarm_simple = "gently scoop and pour aside" - emote_see = list("bubbles", "oozes") - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/particle_effect/foam) - -/mob/living/simple_animal/hostile/clown/lube/Initialize() - . = ..() - AddElement(/datum/element/snailcrawl) - -/mob/living/simple_animal/hostile/clown/banana - name = "Clownana" - desc = "A fusion of clown and banana DNA birthed from a botany experiment gone wrong." - icon_state = "banana tree" - icon_living = "banana tree" - response_disarm_continuous = "peels" - response_disarm_simple = "peel" - response_harm_continuous = "peels" - response_harm_simple = "peel" - turns_per_move = 1 - speak = list("HONK", "Honk!", "YA-HONK!!!") - emote_see = list("honks", "bites into the banana", "plucks a banana off its head", "photosynthesizes") - maxHealth = 120 - health = 120 - speed = -10 - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap, /obj/item/seeds/banana) - banana_time = 20 - -/mob/living/simple_animal/hostile/clown/honkling - name = "Honkling" - desc = "A divine being sent by the Honkmother to spread joy. It's not dangerous, but it's a bit of a nuisance." - icon_state = "honkling" - icon_living = "honkling" - turns_per_move = 1 - speed = -10 - harm_intent_damage = 1 - melee_damage_lower = 1 - melee_damage_upper = 1 - attack_verb_continuous = "cheers up" - attack_verb_simple = "cheer up" - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap, /obj/item/seeds/banana/bluespace) - banana_type = /obj/item/grown/bananapeel - attack_reagent = /datum/reagent/consumable/laughter - -/mob/living/simple_animal/hostile/clown/fleshclown - name = "Fleshclown" - desc = "A being forged out of the pure essence of pranking, cursed into existence by a cruel maker." - icon_state = "fleshclown" - icon_living = "fleshclown" - response_help_continuous = "reluctantly pokes" - response_help_simple = "reluctantly poke" - response_disarm_continuous = "sinks his hands into the spongy flesh of" - response_disarm_simple = "sink your hands into the spongy flesh of" - response_harm_continuous = "cleanses the world of" - response_harm_simple = "cleanse the world of" - speak = list("HONK", "Honk!", "I didn't ask for this", "I feel constant and horrible pain", "YA-HONK!!!", "this body is a merciless and unforgiving prison", "I was born out of mirthful pranking but I live in suffering") - emote_see = list("honks", "sweats", "jiggles", "contemplates its existence") - speak_chance = 5 - dextrous = TRUE - ventcrawler = VENTCRAWLER_ALWAYS - maxHealth = 140 - health = 140 - speed = -5 - melee_damage_upper = 15 - attack_verb_continuous = "limply slaps" - attack_verb_simple = "limply slap" - obj_damage = 5 - loot = list(/obj/item/clothing/suit/hooded/bloated_human, /obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) - -/mob/living/simple_animal/hostile/clown/longface - name = "Longface" - desc = "Often found walking into the bar." - icon_state = "long face" - icon_living = "long face" - move_resist = INFINITY - turns_per_move = 10 - response_help_continuous = "tries to awkwardly hug" - response_help_simple = "try to awkwardly hug" - response_disarm_continuous = "pushes the unwieldy frame of" - response_disarm_simple = "push the unwieldy frame of" - response_harm_continuous = "tries to shut up" - response_harm_simple = "try to shut up" - speak = list("YA-HONK!!!") - emote_see = list("honks", "squeaks") - speak_chance = 60 - maxHealth = 150 - health = 150 - pixel_x = -16 - speed = 10 - harm_intent_damage = 15 - melee_damage_lower = 15 - attack_verb_continuous = "YA-HONKs" - attack_verb_simple = "YA-HONK" - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) - -/mob/living/simple_animal/hostile/clown/clownhulk - name = "Honk Hulk" - desc = "A cruel and fearsome clown. Don't make him angry." - icon_state = "honkhulk" - icon_living = "honkhulk" - move_resist = INFINITY - response_help_continuous = "tries desperately to appease" - response_help_simple = "try desperately to appease" - response_disarm_continuous = "foolishly pushes" - response_disarm_simple = "foolishly push" - response_harm_continuous = "angers" - response_harm_simple = "anger" - speak = list("HONK", "Honk!", "HAUAUANK!!!", "GUUURRRRAAAHHH!!!") - emote_see = list("honks", "sweats", "grunts") - speak_chance = 5 - maxHealth = 250 - health = 250 - pixel_x = -16 - speed = 2 - harm_intent_damage = 15 - melee_damage_lower = 15 - melee_damage_upper = 20 - attack_verb_continuous = "pummels" - attack_verb_simple = "pummel" - obj_damage = 30 - environment_smash = ENVIRONMENT_SMASH_WALLS - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) - -/mob/living/simple_animal/hostile/clown/clownhulk/chlown - name = "Chlown" - desc = "A real lunkhead who somehow gets all the girls." - icon_state = "chlown" - icon_living = "chlown" - response_help_continuous = "submits to" - response_help_simple = "submit to" - response_disarm_continuous = "tries to assert dominance over" - response_disarm_simple = "try to assert dominance over" - response_harm_continuous = "makes a weak beta attack at" - response_harm_simple = "make a weak beta attack at" - speak = list("HONK", "Honk!", "Bruh", "cheeaaaahhh?") - emote_see = list("asserts his dominance", "emasculates everyone implicitly") - maxHealth = 500 - health = 500 - speed = -2 - armour_penetration = 20 - attack_verb_continuous = "steals the girlfriend of" - attack_verb_simple = "steal the girlfriend of" - attack_sound = 'sound/items/airhorn2.ogg' - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/effect/particle_effect/foam, /obj/item/soap) - -/mob/living/simple_animal/hostile/clown/clownhulk/honcmunculus - name = "Honkmunculus" - desc = "A slender wiry figure of alchemical origin." - icon_state = "honkmunculus" - icon_living = "honkmunculus" - response_help_continuous = "skeptically pokes" - response_help_simple = "skeptically poke" - response_disarm_continuous = "pushes the unwieldy frame of" - response_disarm_simple = "push the unwieldy frame of" - speak = list("honk") - emote_see = list("squirms", "writhes") - speak_chance = 1 - maxHealth = 200 - health = 200 - speed = -5 - harm_intent_damage = 15 - melee_damage_lower = 15 - melee_damage_upper = 15 - attack_verb_continuous = "ferociously mauls" - attack_verb_simple = "ferociously maul" - environment_smash = ENVIRONMENT_SMASH_WALLS - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/effect/particle_effect/foam, /obj/item/soap) - attack_reagent = /datum/reagent/peaceborg/confuse - -/mob/living/simple_animal/hostile/clown/clownhulk/destroyer - name = "The Destroyer" - desc = "An ancient being born of arcane honking." - icon_state = "destroyer" - icon_living = "destroyer" - response_disarm_continuous = "bounces off of" - response_harm_continuous = "bounces off of" - speak = list("HONK!!!", "The Honkmother is merciful, so I must act out her wrath.", "parce mihi ad beatus honkmother placet mihi ut peccata committere,", "DIE!!!") - maxHealth = 400 - health = 400 - speed = 5 - harm_intent_damage = 30 - melee_damage_lower = 20 - melee_damage_upper = 40 - armour_penetration = 30 - stat_attack = HARD_CRIT - attack_verb_continuous = "acts out divine vengeance on" - attack_verb_simple = "act out divine vengeance on" - obj_damage = 50 - environment_smash = ENVIRONMENT_SMASH_RWALLS - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/effect/particle_effect/foam, /obj/item/soap) - -/mob/living/simple_animal/hostile/clown/mutant - name = "Unknown" - desc = "Kill it for its own sake." - icon_state = "mutant" - icon_living = "mutant" - move_resist = INFINITY - turns_per_move = 10 - response_help_continuous = "reluctantly sinks a finger into" - response_help_simple = "reluctantly sink a finger into" - response_disarm_continuous = "squishes into" - response_disarm_simple = "squish into" - response_harm_continuous = "squishes into" - response_harm_simple = "squish into" - speak = list("aaaaaahhhhuuhhhuhhhaaaaa", "AAAaaauuuaaAAAaauuhhh", "huuuuuh... hhhhuuuooooonnnnkk", "HuaUAAAnKKKK") - emote_see = list("squirms", "writhes", "pulsates", "froths", "oozes") - speak_chance = 10 - maxHealth = 130 - health = 130 - pixel_x = -16 - speed = -5 - harm_intent_damage = 10 - melee_damage_lower = 10 - melee_damage_upper = 20 - attack_verb_continuous = "awkwardly flails at" - attack_verb_simple = "awkwardly flail at" - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/item/soap, /obj/effect/gibspawner/generic, /obj/effect/gibspawner/generic/animal, /obj/effect/gibspawner/human/bodypartless, /obj/effect/gibspawner/human) - -/mob/living/simple_animal/hostile/clown/mutant/blob - name = "Something that was once a clown" - desc = "A grotesque bulging figure far mutated from it's original state. You should probably start running. Now." - icon_state = "blob" - icon_living = "blob" - speak = list("hey, buddy", "HONK!!!", "H-h-h-H-HOOOOONK!!!!", "HONKHONKHONK!!!", "HEY, BUCKO, GET BACK HERE!!!", "HOOOOOOOONK!!!", "WHAT'S SO FUNNY!!!") - emote_see = list("jiggles", "wobbles") - health = 300 - mob_size = MOB_SIZE_LARGE - speed = 10 - attack_verb_continuous = "bounces off of" - attack_verb_simple = "bounce off of" - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/effect/particle_effect/foam, /obj/item/soap, /obj/effect/gibspawner/generic, /obj/effect/gibspawner/generic/animal, /obj/effect/gibspawner/human/bodypartless, /obj/effect/gibspawner/human) - attack_reagent = /datum/reagent/toxin/mindbreaker - melee_damage_lower = 20 - melee_damage_upper = 20 - armour_penetration = 30 - environment_smash = ENVIRONMENT_SMASH_WALLS//no escape - -/mob/living/simple_animal/hostile/clown/stacked - name = "Clownmind" - desc = "You can hear them humming circus music in perfect chorus." - icon_state = "clowns" - icon_living = "clowns" - turns_per_move = 1 - speed = 1 - speak_chance = 10 - speak_emote = list("collectively squeaks") - maxHealth = 125 - health = 125 - deathmessage = "collapses into a heap of inanimate clown dolls!" - speak = list("honkhonkhonkhonkhonk", "join the fun!join the fun!join the fun!join in the fun!", "joinus!joinus!joinus!joinus!") - emote_see = list("does a circus trick.", "forms a hoop and jumps through it.", "vibrates ominously.") - harm_intent_damage = 20 - melee_damage_lower = 20 - melee_damage_upper = 24 - attack_verb_continuous = "collectively strikes" - attack_verb_simple = "collectively strike" - response_harm_continuous = "swats away one of" - response_harm_simple = "swat away one of" - pixel_x = -20 - loot = list(/obj/item/toy/figure/clown = 5) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm deleted file mode 100644 index 220f4dab979f..000000000000 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm +++ /dev/null @@ -1,310 +0,0 @@ -/mob/living/simple_animal/hostile/retaliate/clown - name = "Clown" - desc = "A denizen of clown planet." - icon = 'icons/mob/clown_mobs.dmi' - icon_state = "clown" - icon_living = "clown" - icon_dead = "clown_dead" - icon_gib = "clown_gib" - health_doll_icon = "clown" //if >32x32, it will use this generic. for all the huge clown mobs that subtype from this - mob_biotypes = MOB_ORGANIC|MOB_HUMANOID - turns_per_move = 5 - response_disarm_continuous = "gently pushes aside" - response_disarm_simple = "gently push aside" - response_harm_continuous = "robusts" - response_harm_simple = "robust" - speak = list("HONK", "Honk!", "Welcome to clown planet!") - emote_see = list("honks", "squeaks") - speak_chance = 1 - a_intent = INTENT_HARM - maxHealth = 75 - health = 75 - speed = 1 - harm_intent_damage = 8 - melee_damage_lower = 10 - melee_damage_upper = 10 - attack_sound = 'sound/items/bikehorn.ogg' - obj_damage = 0 - environment_smash = ENVIRONMENT_SMASH_NONE - del_on_death = 1 - loot = list(/obj/effect/mob_spawn/human/clown/corpse) - - minbodytemp = 270 - maxbodytemp = 370 - unsuitable_atmos_damage = 10 - footstep_type = FOOTSTEP_MOB_SHOE - var/banana_time = 0 // If there's no time set it won't spawn. - var/banana_type = /obj/item/grown/bananapeel - var/attack_reagent - -/mob/living/simple_animal/hostile/retaliate/clown/handle_temperature_damage() - if(bodytemperature < minbodytemp) - adjustBruteLoss(10) - throw_alert("temp", /atom/movable/screen/alert/cold, 2) - else if(bodytemperature > maxbodytemp) - adjustBruteLoss(15) - throw_alert("temp", /atom/movable/screen/alert/hot, 3) - else - clear_alert("temp") - -/mob/living/simple_animal/hostile/retaliate/clown/attack_hand(mob/living/carbon/human/M) - ..() - playsound(src.loc, 'sound/items/bikehorn.ogg', 50, TRUE) - -/mob/living/simple_animal/hostile/retaliate/clown/Life() - . = ..() - if(banana_time && banana_time < world.time) - var/turf/T = get_turf(src) - var/list/adjacent = T.get_atmos_adjacent_turfs() - new banana_type(pick(adjacent)) - banana_time = world.time + rand(30,60) - -/mob/living/simple_animal/hostile/retaliate/clown/AttackingTarget() - . = ..() - if(attack_reagent && . && isliving(target)) - var/mob/living/L = target - if(L.reagents) - L.reagents.add_reagent(attack_reagent, rand(1,5)) - -/mob/living/simple_animal/hostile/retaliate/clown/lube - name = "Living Lube" - desc = "A puddle of lube brought to life by the honkmother." - icon_state = "lube" - icon_living = "lube" - turns_per_move = 1 - response_help_continuous = "dips a finger into" - response_help_simple = "dip a finger into" - response_disarm_continuous = "gently scoops and pours aside" - response_disarm_simple = "gently scoop and pour aside" - emote_see = list("bubbles", "oozes") - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/particle_effect/foam) - -/mob/living/simple_animal/hostile/retaliate/clown/lube/Initialize() - . = ..() - AddElement(/datum/element/snailcrawl) - -/mob/living/simple_animal/hostile/retaliate/clown/banana - name = "Clownana" - desc = "A fusion of clown and banana DNA birthed from a botany experiment gone wrong." - icon_state = "banana tree" - icon_living = "banana tree" - response_disarm_continuous = "peels" - response_disarm_simple = "peel" - response_harm_continuous = "peels" - response_harm_simple = "peel" - turns_per_move = 1 - speak = list("HONK", "Honk!", "YA-HONK!!!") - emote_see = list("honks", "bites into the banana", "plucks a banana off its head", "photosynthesizes") - maxHealth = 120 - health = 120 - speed = -10 - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap, /obj/item/seeds/banana) - banana_time = 20 - -/mob/living/simple_animal/hostile/retaliate/clown/honkling - name = "Honkling" - desc = "A divine being sent by the Honkmother to spread joy. It's not dangerous, but it's a bit of a nuisance." - icon_state = "honkling" - icon_living = "honkling" - turns_per_move = 1 - speed = -10 - harm_intent_damage = 1 - melee_damage_lower = 1 - melee_damage_upper = 1 - attack_verb_continuous = "cheers up" - attack_verb_simple = "cheer up" - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap, /obj/item/seeds/banana/bluespace) - banana_type = /obj/item/grown/bananapeel - attack_reagent = /datum/reagent/consumable/laughter - -/mob/living/simple_animal/hostile/retaliate/clown/fleshclown - name = "Fleshclown" - desc = "A being forged out of the pure essence of pranking, cursed into existence by a cruel maker." - icon_state = "fleshclown" - icon_living = "fleshclown" - response_help_continuous = "reluctantly pokes" - response_help_simple = "reluctantly poke" - response_disarm_continuous = "sinks his hands into the spongy flesh of" - response_disarm_simple = "sink your hands into the spongy flesh of" - response_harm_continuous = "cleanses the world of" - response_harm_simple = "cleanse the world of" - speak = list("HONK", "Honk!", "I didn't ask for this", "I feel constant and horrible pain", "YA-HONK!!!", "this body is a merciless and unforgiving prison", "I was born out of mirthful pranking but I live in suffering") - emote_see = list("honks", "sweats", "jiggles", "contemplates its existence") - speak_chance = 5 - dextrous = TRUE - ventcrawler = VENTCRAWLER_ALWAYS - maxHealth = 140 - health = 140 - speed = -5 - melee_damage_upper = 15 - attack_verb_continuous = "limply slaps" - attack_verb_simple = "limply slap" - obj_damage = 5 - loot = list(/obj/item/clothing/suit/hooded/bloated_human, /obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) - -/mob/living/simple_animal/hostile/retaliate/clown/longface - name = "Longface" - desc = "Often found walking into the bar." - icon_state = "long face" - icon_living = "long face" - move_resist = INFINITY - turns_per_move = 10 - response_help_continuous = "tries to awkwardly hug" - response_help_simple = "try to awkwardly hug" - response_disarm_continuous = "pushes the unwieldy frame of" - response_disarm_simple = "push the unwieldy frame of" - response_harm_continuous = "tries to shut up" - response_harm_simple = "try to shut up" - speak = list("YA-HONK!!!") - emote_see = list("honks", "squeaks") - speak_chance = 60 - maxHealth = 150 - health = 150 - pixel_x = -16 - base_pixel_x = -16 - speed = 10 - harm_intent_damage = 5 - melee_damage_lower = 5 - attack_verb_continuous = "YA-HONKs" - attack_verb_simple = "YA-HONK" - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) - -/mob/living/simple_animal/hostile/retaliate/clown/clownhulk - name = "Honk Hulk" - desc = "A cruel and fearsome clown. Don't make him angry." - icon_state = "honkhulk" - icon_living = "honkhulk" - move_resist = INFINITY - response_help_continuous = "tries desperately to appease" - response_help_simple = "try desperately to appease" - response_disarm_continuous = "foolishly pushes" - response_disarm_simple = "foolishly push" - response_harm_continuous = "angers" - response_harm_simple = "anger" - speak = list("HONK", "Honk!", "HAUAUANK!!!", "GUUURRRRAAAHHH!!!") - emote_see = list("honks", "sweats", "grunts") - speak_chance = 5 - maxHealth = 400 - health = 400 - pixel_x = -16 - base_pixel_x = -16 - speed = 2 - harm_intent_damage = 15 - melee_damage_lower = 15 - melee_damage_upper = 20 - attack_verb_continuous = "pummels" - attack_verb_simple = "pummel" - obj_damage = 30 - environment_smash = ENVIRONMENT_SMASH_WALLS - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) - -/mob/living/simple_animal/hostile/retaliate/clown/clownhulk/chlown - name = "Chlown" - desc = "A real lunkhead who somehow gets all the girls." - icon_state = "chlown" - icon_living = "chlown" - response_help_continuous = "submits to" - response_help_simple = "submit to" - response_disarm_continuous = "tries to assert dominance over" - response_disarm_simple = "try to assert dominance over" - response_harm_continuous = "makes a weak beta attack at" - response_harm_simple = "make a weak beta attack at" - speak = list("HONK", "Honk!", "Bruh", "cheeaaaahhh?") - emote_see = list("asserts his dominance", "emasculates everyone implicitly") - maxHealth = 500 - health = 500 - speed = -2 - armour_penetration = 20 - attack_verb_continuous = "steals the girlfriend of" - attack_verb_simple = "steal the girlfriend of" - attack_sound = 'sound/items/airhorn2.ogg' - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/effect/particle_effect/foam, /obj/item/soap) - -/mob/living/simple_animal/hostile/retaliate/clown/clownhulk/honcmunculus - name = "Honkmunculus" - desc = "A slender wiry figure of alchemical origin." - icon_state = "honkmunculus" - icon_living = "honkmunculus" - response_help_continuous = "skeptically pokes" - response_help_simple = "skeptically poke" - response_disarm_continuous = "pushes the unwieldy frame of" - response_disarm_simple = "push the unwieldy frame of" - speak = list("honk") - emote_see = list("squirms", "writhes") - speak_chance = 1 - maxHealth = 200 - health = 200 - speed = -5 - harm_intent_damage = 5 - melee_damage_lower = 5 - melee_damage_upper = 10 - attack_verb_continuous = "ferociously mauls" - attack_verb_simple = "ferociously maul" - environment_smash = ENVIRONMENT_SMASH_NONE - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/effect/particle_effect/foam, /obj/item/soap) - attack_reagent = /datum/reagent/peaceborg/confuse - -/mob/living/simple_animal/hostile/retaliate/clown/clownhulk/destroyer - name = "The Destroyer" - desc = "An ancient being born of arcane honking." - icon_state = "destroyer" - icon_living = "destroyer" - response_disarm_continuous = "bounces off of" - response_harm_continuous = "bounces off of" - speak = list("HONK!!!", "The Honkmother is merciful, so I must act out her wrath.", "parce mihi ad beatus honkmother placet mihi ut peccata committere,", "DIE!!!") - maxHealth = 400 - health = 400 - speed = 5 - harm_intent_damage = 30 - melee_damage_lower = 20 - melee_damage_upper = 40 - armour_penetration = 30 - stat_attack = HARD_CRIT - attack_verb_continuous = "acts out divine vengeance on" - attack_verb_simple = "act out divine vengeance on" - obj_damage = 50 - environment_smash = ENVIRONMENT_SMASH_RWALLS - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/effect/particle_effect/foam, /obj/item/soap) - -/mob/living/simple_animal/hostile/retaliate/clown/mutant - name = "Unknown" - desc = "Kill it for its own sake." - icon_state = "mutant" - icon_living = "mutant" - move_resist = INFINITY - turns_per_move = 10 - response_help_continuous = "reluctantly sinks a finger into" - response_help_simple = "reluctantly sink a finger into" - response_disarm_continuous = "squishes into" - response_disarm_simple = "squish into" - response_harm_continuous = "squishes into" - response_harm_simple = "squish into" - speak = list("aaaaaahhhhuuhhhuhhhaaaaa", "AAAaaauuuaaAAAaauuhhh", "huuuuuh... hhhhuuuooooonnnnkk", "HuaUAAAnKKKK") - emote_see = list("squirms", "writhes", "pulsates", "froths", "oozes") - speak_chance = 10 - maxHealth = 130 - health = 130 - pixel_x = -16 - base_pixel_x = -16 - speed = -5 - harm_intent_damage = 10 - melee_damage_lower = 10 - melee_damage_upper = 20 - attack_verb_continuous = "awkwardly flails at" - attack_verb_simple = "awkwardly flail at" - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/item/soap, /obj/effect/gibspawner/generic, /obj/effect/gibspawner/generic/animal, /obj/effect/gibspawner/human/bodypartless, /obj/effect/gibspawner/human) - -/mob/living/simple_animal/hostile/retaliate/clown/mutant/blob - name = "Something that was once a clown" - desc = "A grotesque bulging figure far mutated from it's original state." - icon_state = "blob" - icon_living = "blob" - speak = list("hey, buddy", "HONK!!!", "H-h-h-H-HOOOOONK!!!!", "HONKHONKHONK!!!", "HEY, BUCKO, GET BACK HERE!!!", "HOOOOOOOONK!!!") - emote_see = list("jiggles", "wobbles") - health = 130 - mob_size = MOB_SIZE_LARGE - speed = 20 - attack_verb_continuous = "bounces off of" - attack_verb_simple = "bounce off of" - loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/effect/particle_effect/foam, /obj/item/soap, /obj/effect/gibspawner/generic, /obj/effect/gibspawner/generic/animal, /obj/effect/gibspawner/human/bodypartless, /obj/effect/gibspawner/human) - attack_reagent = /datum/reagent/toxin/mindbreaker diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 91c96289c6d9..e8fd6371356c 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -963,18 +963,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 4 // cant_discount = TRUE -/datum/uplink_item/explosives/clown_bomb_clownops - name = "Clown Bomb" - desc = "The Clown bomb is a hilarious device capable of massive pranks. It has an adjustable timer, \ - with a minimum of 60 seconds, and can be bolted to the floor with a wrench to prevent \ - movement. The bomb is bulky and cannot be moved; upon ordering this item, a smaller beacon will be \ - transported to you that will teleport the actual bomb to it upon activation. Note that this bomb can \ - be defused, and some crew may attempt to do so." - item = /obj/item/sbeacondrop/clownbomb - cost = 15 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - /datum/uplink_item/explosives/detomatix name = "Detomatix PDA Cartridge" desc = "When inserted into a personal digital assistant, this cartridge gives you four opportunities to \ @@ -1705,17 +1693,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) restricted_roles = list("Medical Doctor", "Chief Medical Officer", "Roboticist") cost = 5 -/datum/uplink_item/role_restricted/clown_bomb - name = "Clown Bomb" - desc = "The Clown bomb is a hilarious device capable of massive pranks. It has an adjustable timer, \ - with a minimum of 60 seconds, and can be bolted to the floor with a wrench to prevent \ - movement. The bomb is bulky and cannot be moved; upon ordering this item, a smaller beacon will be \ - transported to you that will teleport the actual bomb to it upon activation. Note that this bomb can \ - be defused, and some crew may attempt to do so." - item = /obj/item/sbeacondrop/clownbomb - cost = 15 - restricted_roles = list("Clown") - /datum/uplink_item/role_restricted/clumsinessinjector //clown ops can buy this too, but it's in the pointless badassery section for them name = "Clumsiness Injector" desc = "Inject yourself with this to become as clumsy as a clown... or inject someone ELSE with it to make THEM as clumsy as a clown. Useful for clowns who wish to reconnect with their former clownish nature or for clowns who wish to torment and play with their prey before killing them." diff --git a/shiptest.dme b/shiptest.dme index c9bd6c943a39..43247d1052ac 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -2755,7 +2755,6 @@ #include "code\modules\mob\living\simple_animal\hostile\bear.dm" #include "code\modules\mob\living\simple_animal\hostile\bees.dm" #include "code\modules\mob\living\simple_animal\hostile\carp.dm" -#include "code\modules\mob\living\simple_animal\hostile\clown.dm" #include "code\modules\mob\living\simple_animal\hostile\cockroach.dm" #include "code\modules\mob\living\simple_animal\hostile\eyeballs.dm" #include "code\modules\mob\living\simple_animal\hostile\faithless.dm" @@ -2824,7 +2823,6 @@ #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\legionnaire.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\pandora.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\bat.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\frog.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\ghost.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" From 397aae481c2ef4f7630f56c9e6aae70d5f931a87 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 18:11:53 -0600 Subject: [PATCH 228/330] Automatic changelog generation for PR #4121 [ci skip] --- html/changelogs/AutoChangeLog-pr-4121.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4121.yml diff --git a/html/changelogs/AutoChangeLog-pr-4121.yml b/html/changelogs/AutoChangeLog-pr-4121.yml new file mode 100644 index 000000000000..8312dd5fd70d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4121.yml @@ -0,0 +1,11 @@ +author: firebudgy +changes: + - {rscdel: clown.dm (hostile and hostile/retaliate)} + - {rscdel: clown spawner grenades} + - {rscdel: some clown references in halloween code} + - {rscdel: clown simplemobs on singulolab} + - {rscdel: clown and mime PDAs} + - {rscdel: clown/mime masks in the few places they appeared} + - {rscdel: clown poster} + - {rscdel: clown shooting targets from everywhere they appear} +delete-after: true From 2fef8fc82414a737b367f129f71638c8abe387a0 Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Fri, 7 Feb 2025 01:01:20 +0100 Subject: [PATCH 229/330] Loadout jumpsuits tweak. (#4115) ## About The Pull Request Replaced the selection of 16 jumpsuits with a single re-skinnable one. Added a re-skinnable jumpskirt too. ## Why It's Good For The Game Less "bloated" loadout. Easier to scroll through, as the jumpsuit category was kind of really long. ## Changelog :cl: tweak: Replaced the selection of 16 jumpsuits in the loadout with a single re-skinnable one. add: Added a re-skinnable jumpskirt to the loadout too. /:cl: --- .../modules/client/loadout/loadout_uniform.dm | 37 +++--------------- code/modules/clothing/under/color.dm | 39 +++++++++++++++++++ 2 files changed, 44 insertions(+), 32 deletions(-) diff --git a/code/modules/client/loadout/loadout_uniform.dm b/code/modules/client/loadout/loadout_uniform.dm index a042ab353070..ae3d9b7f9ede 100644 --- a/code/modules/client/loadout/loadout_uniform.dm +++ b/code/modules/client/loadout/loadout_uniform.dm @@ -19,39 +19,12 @@ //Colored jumpsuits /datum/gear/uniform/color - subtype_path = /datum/gear/uniform/color + display_name = "jumpsuit, recolorable" + path = /obj/item/clothing/under/color -/datum/gear/uniform/color/red - display_name = "jumpsuit, red" - path = /obj/item/clothing/under/color/red - -/datum/gear/uniform/color/green - display_name = "jumpsuit, green" - path = /obj/item/clothing/under/color/green - -/datum/gear/uniform/color/blue - display_name = "jumpsuit, blue" - path = /obj/item/clothing/under/color/blue - -/datum/gear/uniform/color/yellow - display_name = "jumpsuit, yellow" - path = /obj/item/clothing/under/color/yellow - -/datum/gear/uniform/color/pink - display_name = "jumpsuit, pink" - path = /obj/item/clothing/under/color/pink - -/datum/gear/uniform/color/black - display_name = "jumpsuit, black" - path = /obj/item/clothing/under/color/black - -/datum/gear/uniform/color/white - display_name = "jumpsuit, white" - path = /obj/item/clothing/under/color/white - -/datum/gear/uniform/color/random - display_name = "jumpsuit, random" - path = /obj/item/clothing/under/color/random //literally useless if grey assistants is off +/datum/gear/uniform/color_skirt + display_name = "jumpskirt, recolorable" + path = /obj/item/clothing/under/color/jumpskirt //Shorts diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 7ac32c9c1295..b104fe0d60b8 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -1,13 +1,52 @@ /obj/item/clothing/under/color + name = "jumpsuit" desc = "A standard issue colored jumpsuit. Variety is the spice of life!" dying_key = DYE_REGISTRY_UNDER icon = 'icons/obj/clothing/under/color.dmi' mob_overlay_icon = 'icons/mob/clothing/under/color.dmi' supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION + icon_state = "black" + item_state = "bl_suit" + unique_reskin = list("black jumpsuit" = "black", + "grey jumpsuit" = "grey", + "blue jumpsuit" = "blue", + "green jumpsuit" = "green", + "orange jumpsuit" = "orange", + "pink jumpsuit" = "pink", + "red jumpsuit" = "red", + "white jumpsuit" = "white", + "yellow jumpsuit" = "yellow", + "dark blue jumpsuit" = "darkblue", + "teal jumpsuit" = "teal", + "light purple jumpsuit" = "lightpurple", + "dark green jumpsuit" = "darkgreen", + "light brown jumpsuit" = "lightbrown", + "brown jumpsuit" = "brown", + "maroon jumpsuit" = "maroon" + ) /obj/item/clothing/under/color/jumpskirt + name = "jumpskirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = TRUE + icon_state = "black_skirt" + unique_reskin = list("black jumpskirt" = "black_skirt", + "grey jumpskirt" = "grey_skirt", + "blue jumpskirt" = "blue_skirt", + "green jumpskirt" = "green_skirt", + "orange jumpskirt" = "orange_skirt", + "pink jumpskirt" = "pink_skirt", + "red jumpskirt" = "red_skirt", + "white jumpskirt" = "white_skirt", + "yellow jumpskirt" = "yellow_skirt", + "dark blue jumpskirt" = "darkblue_skirt", + "teal jumpskirt" = "teal_skirt", + "light purple jumpskirt" = "lightpurple_skirt", + "dark green jumpskirt" = "darkgreen_skirt", + "light brown jumpskirt" = "lightbrown_skirt", + "brown jumpskirt" = "brown_skirt", + "maroon jumpskirt" = "maroon_skirt" + ) /obj/item/clothing/under/color/random icon_state = "random_jumpsuit" From d5337ab453558de20601b4a5e55ec4b03ff28a71 Mon Sep 17 00:00:00 2001 From: MemeSnorfer <116136632+MemeSnorfer@users.noreply.github.com> Date: Thu, 6 Feb 2025 16:01:31 -0800 Subject: [PATCH 230/330] Colorable Caps, Softcaps, & Windbreakers (#4114) ## About The Pull Request Resprites softcaps based off @Imaginos16's cap sprites, adds colorable flapcaps based off @thgvr's sprites, and adds colorable windbreakers. Adds all of these clothes to the loadout for players to customize their blorbos with. ![image](https://github.com/user-attachments/assets/42117b03-b1fc-469d-8b6b-9fd770a237ed) All spritework credited to Moffball. Major coding help from @Erikafox. ## Why It's Good For The Game Decrusts softcaps. Fashionable clothes for casual wear is also good (particularly for indies). ## Changelog :cl:Moffball, MemeSnorfer, and Erikafox add: Colorable Windbreakers! add: Colorable Flapcaps! imageadd: Resprites Softcaps, and makes them Colorable! /:cl: --- _maps/shuttles/pirate/pirate_tortuga.dmm | 2 +- .../items/stacks/sheets/sheet_types.dm | 2 +- code/game/objects/objs.dm | 4 +- .../crates_lockers/closets/job_closets.dm | 2 +- .../crates_lockers/closets/wardrobe.dm | 2 +- code/modules/client/loadout/loadout_hat.dm | 27 +-- code/modules/client/loadout/loadout_suit.dm | 4 + .../modules/clothing/factions/frontiersmen.dm | 3 +- code/modules/clothing/head/flaphat.dm | 104 +++++++++ code/modules/clothing/head/soft_caps.dm | 218 +++++++++++------- .../modules/clothing/outfits/ert/indie_ert.dm | 2 +- code/modules/clothing/suits/toggles.dm | 5 +- code/modules/clothing/suits/windbreakers.dm | 169 ++++++++++++++ code/modules/vending/wardrobes.dm | 2 +- icons/mob/clothing/head.dmi | Bin 86099 -> 89285 bytes icons/mob/clothing/suits/toggle.dmi | Bin 40961 -> 49237 bytes icons/obj/clothing/hats.dmi | Bin 44826 -> 47885 bytes icons/obj/clothing/suits/toggle.dmi | Bin 14300 -> 18197 bytes shiptest.dme | 2 + 19 files changed, 437 insertions(+), 111 deletions(-) create mode 100644 code/modules/clothing/head/flaphat.dm create mode 100644 code/modules/clothing/suits/windbreakers.dm diff --git a/_maps/shuttles/pirate/pirate_tortuga.dmm b/_maps/shuttles/pirate/pirate_tortuga.dmm index 227d239257c1..a0562e80bc13 100644 --- a/_maps/shuttles/pirate/pirate_tortuga.dmm +++ b/_maps/shuttles/pirate/pirate_tortuga.dmm @@ -4113,7 +4113,7 @@ pixel_y = 8; pixel_x = 5 }, -/obj/item/clothing/head/soft/mime, +/obj/item/clothing/head/soft, /turf/open/floor/plasteel/white, /area/ship/crew/canteen) "ZC" = ( diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index daa7f529d84f..8f7a3c49a5e1 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -251,7 +251,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ null, \ new/datum/stack_recipe("fingerless gloves", /obj/item/clothing/gloves/fingerless, 1), \ new/datum/stack_recipe("white gloves", /obj/item/clothing/gloves/color/white, 3), \ - new/datum/stack_recipe("white softcap", /obj/item/clothing/head/soft/mime, 2), \ + new/datum/stack_recipe("white softcap", /obj/item/clothing/head/soft, 2), \ new/datum/stack_recipe("white beanie", /obj/item/clothing/head/beanie, 2), \ null, \ new/datum/stack_recipe("blindfold", /obj/item/clothing/glasses/blindfold, 2), \ diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index aa63701ce0e9..4a7c7681bec4 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -358,7 +358,7 @@ * * M The mob choosing a reskin option */ -/obj/proc/reskin_obj(mob/M) +/obj/proc/reskin_obj(mob/M, change_name=FALSE) if(!LAZYLEN(unique_reskin)) return @@ -376,6 +376,8 @@ if(!allow_post_reskins) current_skin = pick icon_state = unique_reskin[pick] + if(change_name) + name = pick to_chat(M, "[src] is now skinned as '[pick].'") update_appearance() 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 6e7de98b21de..6ac81fd41d08 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -36,7 +36,7 @@ /obj/item/radio/headset/headset_srv = 2, /obj/item/clothing/accessory/waistcoat = 2, /obj/item/clothing/suit/apron/chef = 3, - /obj/item/clothing/head/soft/mime = 2, + /obj/item/clothing/head/soft = 2, /obj/item/storage/box/mousetraps = 2, /obj/item/circuitboard/machine/dish_drive = 1, /obj/item/clothing/suit/toggle/chef = 1, diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index e3a8339dce46..1b9762013c17 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -109,7 +109,7 @@ for(var/i in 1 to 3) new /obj/item/clothing/shoes/sneakers/white(src) for(var/i in 1 to 3) - new /obj/item/clothing/head/soft/mime(src) + new /obj/item/clothing/head//mime(src) return /obj/structure/closet/wardrobe/pjs diff --git a/code/modules/client/loadout/loadout_hat.dm b/code/modules/client/loadout/loadout_hat.dm index a393ec451c30..c83f7a737e27 100644 --- a/code/modules/client/loadout/loadout_hat.dm +++ b/code/modules/client/loadout/loadout_hat.dm @@ -81,27 +81,8 @@ //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 + display_name = "cap, recolorable" + path = /obj/item/clothing/head/soft /datum/gear/hat/utility_black display_name = "utility cover, black" @@ -186,3 +167,7 @@ /datum/gear/hat/flowers display_name = "plastic flower, pickable" path = /obj/item/clothing/head/plastic_flower + +/datum/gear/hat/flap + display_name = "flap cap, recolorable" + path = /obj/item/clothing/head/flap diff --git a/code/modules/client/loadout/loadout_suit.dm b/code/modules/client/loadout/loadout_suit.dm index 1edeed63530a..9f44092652f6 100644 --- a/code/modules/client/loadout/loadout_suit.dm +++ b/code/modules/client/loadout/loadout_suit.dm @@ -87,6 +87,10 @@ display_name = "hazard jacket" path = /obj/item/clothing/suit/toggle/hazard +/datum/gear/suit/jacket/windbreaker + display_name = "windbreaker, colorable" + path = /obj/item/clothing/suit/toggle/windbreaker + //Suspenders /datum/gear/suit/suspenders subtype_path = /datum/gear/suit/suspenders diff --git a/code/modules/clothing/factions/frontiersmen.dm b/code/modules/clothing/factions/frontiersmen.dm index 7c4857823260..06d8609a9838 100644 --- a/code/modules/clothing/factions/frontiersmen.dm +++ b/code/modules/clothing/factions/frontiersmen.dm @@ -130,9 +130,10 @@ 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 = "frontier" + current_skin = "frontiersoft" icon = 'icons/obj/clothing/faction/frontiersmen/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/head.dmi' + unique_reskin = null /obj/item/clothing/head/beret/sec/frontier name = "\improper Frontiersmen beret" diff --git a/code/modules/clothing/head/flaphat.dm b/code/modules/clothing/head/flaphat.dm new file mode 100644 index 000000000000..5b0768753264 --- /dev/null +++ b/code/modules/clothing/head/flaphat.dm @@ -0,0 +1,104 @@ +//Civilian Flap Caps +/obj/item/clothing/head/flap + name = "Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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 = "flapwhite" + cuttable = TRUE + clothamnt = 2 + unique_reskin = list("white Betzu-il cap" = "flapwhite", + "grey Betzu-il cap" = "flapgrey", + "black Betzu-il cap" = "flapblack", + "red Betzu-il cap" = "flapred", + "maroon Betzu-il cap" = "flapmaroon", + "orange Betzu-il cap" = "flaporange", + "yellow Betzu-il cap" = "flapyellow", + "green Betzu-il cap" = "flapgreen", + "dark green Betzu-il cap" = "flapdarkgreen", + "teal Betzu-il cap" = "flapteal", + "blue Betzu-il cap" = "flapblue", + "dark Betzu-il cap" = "flapdarkblue", + "purple Betzu-il cap" = "flappurple", + "pink Betzu-il cap" = "flappink", + "brown Betzu-il cap" = "flapbrown", + "light brown Betzu-il cap" = "flaplightbrown" + ) + +/obj/item/clothing/head/flap/white + name = "white Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is white." + icon_state = "flapwhite" + +/obj/item/clothing/head/flap/grey + name = "grey Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is grey." + icon_state = "flapgrey" + +/obj/item/clothing/head/flap/black + name = "black Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is black." + icon_state = "flapblack" + +/obj/item/clothing/head/flap/red + name = "red Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is red." + icon_state = "flapred" + +/obj/item/clothing/head/flap/maroon + name = "maroon Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is maroon." + icon_state = "flapmaroon" + +/obj/item/clothing/head/flap/orange + name = "orange Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is orange." + icon_state = "flaporange" + +/obj/item/clothing/head/flap/yellow + name = "yellow Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is yellow." + icon_state = "flapyellow" + +/obj/item/clothing/head/flap/green + name = "green Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is green." + icon_state = "flapgreen" + +/obj/item/clothing/head/flap/darkgreen + name = "dark green Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is dark green." + icon_state = "flapdarkgreen" + +/obj/item/clothing/head/flap/teal + name = "teal Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is teal." + icon_state = "flapteal" + +/obj/item/clothing/head/flap/blue + name = "blue Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is blue." + icon_state = "flapblue" + +/obj/item/clothing/head/flap/darkblue + name = "dark blue Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is dark blue." + icon_state = "flapdarkblue" + +/obj/item/clothing/head/flap/purple + name = "purple Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is purple." + icon_state = "flappurple" + +/obj/item/clothing/head/flap/pink + name = "pink Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is pink." + icon_state = "flappink" + +/obj/item/clothing/head/flap/brown + name = "brown Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is brown." + icon_state = "flapbrown" + +/obj/item/clothing/head/flap/lightbrown + name = "light brown Betzu-il cap" + desc = "A common cap popular among Kalixcian travellers. “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. This one is light brown." + icon_state = "flaplightbrown" diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 307106409f18..afa26405bfc9 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -1,18 +1,47 @@ /obj/item/clothing/head/soft - name = "cargo cap" - desc = "It's a baseball hat in a tasteless yellow colour." - icon_state = "cargosoft" + name = "cap" + desc = "It's a baseball cap." + icon_state = "whitesoft" item_state = "helmet" cuttable = TRUE clothamnt = 2 - var/soft_type = "cargo" + unique_reskin = list("white cap" = "whitesoft", + "grey cap" = "greysoft", + "black cap" = "blacksoft", + "red cap" = "redsoft", + "maroon cap" = "maroonsoft", + "orange cap" = "orangesoft", + "yellow cap" = "yellowsoft", + "green cap" = "greensoft", + "dark green cap" = "darkgreensoft", + "teal cap" = "tealsoft", + "blue cap" = "bluesoft", + "dark blue cap" = "darkbluesoft", + "purple cap" = "purplesoft", + "pink cap" = "pinksoft", + "brown cap" = "brownsoft", + "light brown cap" = "lightbrownsoft" + ) + var/flipped = 0 + //we can't use initial for procs because we need to account for unique_reskin, so this stores the skin of the hat we use. + var/hat_icon - dog_fashion = /datum/dog_fashion/head/cargo_tech +/obj/item/clothing/head/soft/Initialize() + . = ..() + hat_icon = icon_state - var/flipped = 0 +/obj/item/clothing/head/soft/examine(mob/user) + . = ..() + if(unique_reskin && !current_skin) + . += "You can Alt-Click [src] to apply a new skin to it." + +/obj/item/clothing/head/soft/reskin_obj(mob/M, change_name) + . = ..() + hat_icon = icon_state + return /obj/item/clothing/head/soft/dropped() - icon_state = "[soft_type]soft" + icon_state = hat_icon flipped=0 ..() @@ -24,103 +53,132 @@ /obj/item/clothing/head/soft/AltClick(mob/user) - ..() - if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user))) - return + if(unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY)) + reskin_obj(user, TRUE) + return TRUE else - flip(user) - + if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + return FALSE + else + flip(user) + return TRUE /obj/item/clothing/head/soft/proc/flip(mob/user) if(!user.incapacitated()) flipped = !flipped if(src.flipped) - icon_state = "[soft_type]soft_flipped" - to_chat(user, "You flip the hat backwards.") + icon_state = "[icon_state]_flipped" + to_chat(user, span_notice("You flip the hat backwards.")) else - icon_state = "[soft_type]soft" - to_chat(user, "You flip the hat back in normal position.") + icon_state = hat_icon + to_chat(user, span_notice("You flip the hat back in normal position.")) usr.update_inv_head() //so our mob-overlays update /obj/item/clothing/head/soft/examine(mob/user) . = ..() - . += "Alt-click the cap to flip it [flipped ? "forwards" : "backwards"]." + . += span_notice("Alt-click the cap to flip it [flipped ? "forwards" : "backwards"].") + +/obj/item/clothing/head/soft/white + name = "white cap" + desc = "It's a baseball hat in a tasteful white colour." + icon_state = "whitesoft" + current_skin = "whitesoft" + +/obj/item/clothing/head/soft/grey + name = "grey cap" + desc = "It's a baseball hat in a tasteful grey colour." + icon_state = "greysoft" + current_skin = "greysoft" + +/obj/item/clothing/head/soft/black + name = "black cap" + desc = "It's a baseball hat in a tasteful black colour." + icon_state = "blacksoft" + current_skin = "blacksoft" /obj/item/clothing/head/soft/red name = "red cap" - desc = "It's a baseball hat in a tasteless red colour." + desc = "It's a baseball hat in a tasteful red colour." icon_state = "redsoft" - soft_type = "red" - dog_fashion = null + current_skin = "redsoft" -/obj/item/clothing/head/soft/blue - name = "blue cap" - desc = "It's a baseball hat in a tasteless blue colour." - icon_state = "bluesoft" - soft_type = "blue" - dog_fashion = null +/obj/item/clothing/head/soft/maroon + name = "maroon cap" + desc = "It's a baseball hat in a tasteful maroon colour." + icon_state = "maroonsoft" + current_skin = "maroonsoft" -/obj/item/clothing/head/soft/green - name = "green cap" - desc = "It's a baseball hat in a tasteless green colour." - icon_state = "greensoft" - soft_type = "green" - dog_fashion = null +/obj/item/clothing/head/soft/orange + name = "orange cap" + desc = "It's a baseball hat in a tasteful orange colour." + icon_state = "orangesoft" + current_skin = "orangesoft" /obj/item/clothing/head/soft/yellow name = "yellow cap" - desc = "It's a baseball hat in a tasteless yellow colour." + desc = "It's a baseball hat in a tasteful yellow colour." icon_state = "yellowsoft" - soft_type = "yellow" - dog_fashion = null + current_skin = "yellowsoft" -/obj/item/clothing/head/soft/grey - name = "grey cap" - desc = "It's a baseball hat in a tasteful grey colour." - icon_state = "greysoft" - soft_type = "grey" - dog_fashion = null +/obj/item/clothing/head/soft/green + name = "green cap" + desc = "It's a baseball hat in a tasteful green colour." + icon_state = "greensoft" + current_skin = "greensoft" -/obj/item/clothing/head/soft/orange - name = "orange cap" - desc = "It's a baseball hat in a tasteless orange colour." - icon_state = "orangesoft" - soft_type = "orange" - dog_fashion = null +/obj/item/clothing/head/soft/darkgreen + name = "dark green cap" + desc = "It's a baseball hat in a tasteful dark green colour." + icon_state = "darkgreensoft" + current_skin = "darkgreensoft" -/obj/item/clothing/head/soft/mime - name = "white cap" - desc = "It's a baseball hat in a tasteless white colour." - icon_state = "mimesoft" - soft_type = "mime" - dog_fashion = null +/obj/item/clothing/head/soft/teal + name = "teal cap" + desc = "It's a baseball hat in a tasteful teal colour." + icon_state = "tealsoft" + current_skin = "tealsoft" + +/obj/item/clothing/head/soft/blue + name = "blue cap" + desc = "It's a baseball hat in a tasteful blue colour." + icon_state = "bluesoft" + current_skin = "bluesoft" + +/obj/item/clothing/head/soft/darkblue + name = "dark blue cap" + desc = "It's a baseball hat in a tasteful dark blue colour." + icon_state = "darkbluesoft" + current_skin = "darkbluesoft" /obj/item/clothing/head/soft/purple name = "purple cap" - desc = "It's a baseball hat in a tasteless purple colour." + desc = "It's a baseball hat in a tasteful purple colour." icon_state = "purplesoft" - soft_type = "purple" - dog_fashion = null - -/obj/item/clothing/head/soft/black - name = "black cap" - desc = "It's a baseball hat in a tasteless black colour." - icon_state = "blacksoft" - soft_type = "black" - dog_fashion = null - -/obj/item/clothing/head/soft/rainbow - name = "rainbow cap" - desc = "It's a baseball hat in a bright rainbow of colors." - icon_state = "rainbowsoft" - soft_type = "rainbow" - dog_fashion = null + current_skin = "purplesoft" + +/obj/item/clothing/head/soft/pink + name = "pink cap" + desc = "It's a baseball hat in a tasteful pink colour." + icon_state = "pinksoft" + current_skin = "pinksoft" + +/obj/item/clothing/head/soft/brown + name = "brown cap" + desc = "It's a baseball hat in a tasteful brown colour." + icon_state = "brownsoft" + current_skin = "brownsoft" + +/obj/item/clothing/head/soft/lightbrown + name = "light brown cap" + desc = "It's a baseball hat in a tasteful light brown colour." + icon_state = "lightbrownsoft" + current_skin = "lightbrownsoft" /obj/item/clothing/head/soft/sec name = "security cap" desc = "It's a robust baseball hat in tasteful red colour." icon_state = "secsoft" - soft_type = "sec" + unique_reskin = null dog_fashion = null /obj/item/clothing/head/soft/sec/brig_phys @@ -131,62 +189,62 @@ name = "paramedic cap" desc = "It's a baseball hat with a dark turquoise color and a reflective cross on the top." icon_state = "paramedicsoft" - soft_type = "paramedic" + unique_reskin = null dog_fashion = null /obj/item/clothing/head/soft/cybersun name = "cybersun agent cap" desc = "A black baseball hat emblazoned with a reflective Cybersun patch." icon_state = "agentsoft" - soft_type = "agent" + unique_reskin = null dog_fashion = null /obj/item/clothing/head/soft/cybersun/medical name = "cybersun medic cap" desc = "A turquoise baseball hat emblazoned with a reflective cross. Typical of Cybersun Industries field medics." icon_state = "cybersunsoft" - soft_type = "cybersun" + unique_reskin = null dog_fashion = null /obj/item/clothing/head/soft/inteq name = "inteq utility cover" desc = "A rich brown utility cover with the golden shield of the IRMG on it." icon_state = "inteqsoft" - soft_type = "inteq" + unique_reskin = null dog_fashion = null /obj/item/clothing/head/soft/inteq/corpsman name = "inteq corpsman utility cover" desc = "A sterile white utility cover with a green cross emblazoned on it. Worn by the IRMG's support division Corpsmen." icon_state = "inteqmedsoft" - soft_type = "inteqmed" + unique_reskin = null 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" + unique_reskin = null 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" + unique_reskin = null 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" + unique_reskin = null 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" + unique_reskin = null dog_fashion = null //recompile icons comment!!!!! diff --git a/code/modules/clothing/outfits/ert/indie_ert.dm b/code/modules/clothing/outfits/ert/indie_ert.dm index 57d737ba0f8a..6c0d0a5dfa37 100644 --- a/code/modules/clothing/outfits/ert/indie_ert.dm +++ b/code/modules/clothing/outfits/ert/indie_ert.dm @@ -119,7 +119,7 @@ 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 + head = /obj/item/clothing/head/soft suit = null ears = null belt = null diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index 8166af12d301..14114be97b3c 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -113,11 +113,12 @@ strip_delay = EQUIP_DELAY_COAT * 1.5 /obj/item/clothing/suit/toggle/AltClick(mob/user) - ..() - if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + if(unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY)) + reskin_obj(user, TRUE) return else suit_toggle(user) + ..() /obj/item/clothing/suit/toggle/ui_action_click() suit_toggle() diff --git a/code/modules/clothing/suits/windbreakers.dm b/code/modules/clothing/suits/windbreakers.dm new file mode 100644 index 000000000000..c09ae4f322da --- /dev/null +++ b/code/modules/clothing/suits/windbreakers.dm @@ -0,0 +1,169 @@ +// Windbreakers + +/obj/item/clothing/suit/toggle/windbreaker + name = "windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you." + icon = 'icons/obj/clothing/suits/toggle.dmi' + mob_overlay_icon = 'icons/mob/clothing/suits/toggle.dmi' + icon_state = "jacketwhite" + item_state = "jacketwhite" + body_parts_covered = CHEST|GROIN|ARMS + cold_protection = CHEST|GROIN|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/toy, + /obj/item/storage/fancy/cigarettes, + /obj/item/lighter, + /obj/item/radio, + /obj/item/storage/pill_bottle + ) + unique_reskin = list("white windbreaker" = "jacketwhite", + "grey windbreaker" = "jacketgrey", + "black windbreaker" = "jacketblack", + "red windbreaker" = "jacketred", + "maroon windbreaker" = "jacketmaroon", + "orange windbreaker" = "jacketorange", + "yellow windbreaker" = "jacketyellow", + "green windbreaker" = "jacketgreen", + "dark green windbreaker" = "jacketdarkgreen", + "teal windbreaker" = "jacketteal", + "blue windbreaker" = "jacketblue", + "dark blue windbreaker" = "jacketdarkblue", + "purple windbreaker" = "jacketpurple", + "pink windbreaker" = "jacketpink", + "brown windbreaker" = "jacketbrown", + "light brown windbreaker" = "jacketlightbrown" + ) + var/jacket_icon + +/obj/item/clothing/suit/toggle/windbreaker/Initialize() + . = ..() + jacket_icon = icon_state + +/obj/item/clothing/suit/toggle/windbreaker/examine(mob/user) + . = ..() + if(unique_reskin && !current_skin) + . += "You can Alt-Click [src] to apply a new skin to it." + +/obj/item/clothing/suit/toggle/windbreaker/reskin_obj(mob/M, change_name) + . = ..() + item_state = icon_state + jacket_icon = icon_state + return + +/obj/item/clothing/suit/toggle/windbreaker/suit_toggle() + set src in usr + + if(!can_use(usr)) + return 0 + + to_chat(usr, span_notice("You toggle [src]'s [togglename].")) + if(src.suittoggled) + src.icon_state = "[jacket_icon]" + src.suittoggled = FALSE + else if(!src.suittoggled) + src.icon_state = "[jacket_icon]_t" + src.suittoggled = TRUE + usr.update_inv_wear_suit() + for(var/X in actions) + var/datum/action/A = X + A.UpdateButtonIcon() + +/obj/item/clothing/suit/toggle/windbreaker/white + name = "white windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is white." + icon_state = "jacketwhite" + current_skin = "jacketwhite" + +/obj/item/clothing/suit/toggle/windbreaker/grey + name = "grey windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is grey." + icon_state = "jacketgrey" + current_skin = "jacketgrey" + +/obj/item/clothing/suit/toggle/windbreaker/black + name = "black windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is black." + icon_state = "jacketblack" + current_skin = "jacketblack" + +/obj/item/clothing/suit/toggle/windbreaker/red + name = "red windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is red." + icon_state = "jacketred" + current_skin = "jacketred" + +/obj/item/clothing/suit/toggle/windbreaker/maroon + name = "maroon windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is maroon." + icon_state = "jacketmaroon" + current_skin = "jacketmaroon" + +/obj/item/clothing/suit/toggle/windbreaker/orange + name = "orange windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is orange." + icon_state = "jacketorange" + current_skin = "jacketorange" + +/obj/item/clothing/suit/toggle/windbreaker/yellow + name = "yellow windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is yellow." + icon_state = "jacketyellow" + current_skin = "jacketyellow" + +/obj/item/clothing/suit/toggle/windbreaker/green + name = "green windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is green." + icon_state = "jacketgreen" + current_skin = "jacketgreen" + +/obj/item/clothing/suit/toggle/windbreaker/darkgreen + name = "dark green windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is dark green." + icon_state = "jacketdarkgreen" + current_skin = "jacketdarkgreen" + +/obj/item/clothing/suit/toggle/windbreaker/teal + name = "teal windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is teal." + icon_state = "jacketteal" + current_skin = "jacketteal" + +/obj/item/clothing/suit/toggle/windbreaker/blue + name = "blue windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is blue." + icon_state = "jacketblue" + current_skin = "jacketblue" + +/obj/item/clothing/suit/toggle/windbreaker/darkblue + name = "dark blue windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is dark blue." + icon_state = "jacketdarkblue" + current_skin = "jacketdarkblue" + +/obj/item/clothing/suit/toggle/windbreaker/purple + name = "purple windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is purple." + icon_state = "jacketpurple" + current_skin = "jacketpurple" + +/obj/item/clothing/suit/toggle/windbreaker/pink + name = "pink windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is pink." + icon_state = "jacketpink" + current_skin = "jacketpink" + +/obj/item/clothing/suit/toggle/windbreaker/brown + name = "brown windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is brown." + icon_state = "jacketbrown" + current_skin = "jacketbrown" + +/obj/item/clothing/suit/toggle/windbreaker/lightbrown + name = "light brown windbreaker" + desc = "Sometimes called a windcheater, this is a simple jacket made of synthetic materials. Good for keeping the chilly wind off of you. This one is light brown." + icon_state = "jacketlightbrown" + current_skin = "jacketlightbrown" diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index ac4286799eb6..be056a1d242c 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -284,7 +284,7 @@ /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, + /obj/item/clothing/head/soft = 2, /obj/item/storage/box/mousetraps = 2, /obj/item/circuitboard/machine/dish_drive = 1, /obj/item/clothing/suit/toggle/chef = 1, diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index 638398b7b649ed2ca950ad7b3d45893698f3479f..792be214ad03b21931c66a4ed8a620c34f7d9fe7 100644 GIT binary patch literal 89285 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 z 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

IK3AfWI@!4UW0ds& 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 E11(^)umAu6 literal 44826 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 P2JfYel60li+o1mk#07)E literal 14300 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%0AoU(~nX`cdL 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 Date: Thu, 6 Feb 2025 18:32:37 -0600 Subject: [PATCH 231/330] Automatic changelog generation for PR #4115 [ci skip] --- html/changelogs/AutoChangeLog-pr-4115.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4115.yml diff --git a/html/changelogs/AutoChangeLog-pr-4115.yml b/html/changelogs/AutoChangeLog-pr-4115.yml new file mode 100644 index 000000000000..67924071cd44 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4115.yml @@ -0,0 +1,6 @@ +author: Sadhorizon +changes: + - {tweak: Replaced the selection of 16 jumpsuits in the loadout with a single re-skinnable + one.} + - {rscadd: Added a re-skinnable jumpskirt to the loadout too.} +delete-after: true From 82916f94c7dd98a58dbed97ae4fcb101df96990c Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 18:33:27 -0600 Subject: [PATCH 232/330] Automatic changelog generation for PR #4114 [ci skip] --- html/changelogs/AutoChangeLog-pr-4114.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4114.yml diff --git a/html/changelogs/AutoChangeLog-pr-4114.yml b/html/changelogs/AutoChangeLog-pr-4114.yml new file mode 100644 index 000000000000..62ac15a43c1a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4114.yml @@ -0,0 +1,6 @@ +author: Moffball, MemeSnorfer, and Erikafox +changes: + - {rscadd: Colorable Windbreakers!} + - {rscadd: Colorable Flapcaps!} + - {imageadd: 'Resprites Softcaps, and makes them Colorable!'} +delete-after: true From d8444f805361c5f51423cba965621900ae283dd6 Mon Sep 17 00:00:00 2001 From: Jedi-Toothpaste <53096233+Jedi-Toothpaste@users.noreply.github.com> Date: Fri, 7 Feb 2025 00:02:00 +0000 Subject: [PATCH 233/330] Reskin Ammo Cans (#4111) ## About The Pull Request Allows you to change the printed ammo-can from the autolathe to a different skin to help differentiate your calibers. ![image](https://github.com/user-attachments/assets/15917783-5f7e-4273-a950-b01ec4b18735) ![image](https://github.com/user-attachments/assets/c706aa0b-5964-4507-a25d-55e4962a4e74) (PR OFF DRAFT, THANK YOU CLOUDBREAK (@firebudgy) FOR THE SPRITES!!!!!!!!!!!) ## Why It's Good For The Game Easier to tell what you've got, plus it's a bit of fun going through and labelling all your cans correctly. ## Changelog :cl: add: allows you to reskin ammo cans /:cl: --------- Co-authored-by: firebudgy <153147550+firebudgy@users.noreply.github.com> --- code/game/objects/items/storage/ammo_can.dm | 99 ++++++++++++++++++++ icons/obj/storage.dmi | Bin 57959 -> 53904 bytes 2 files changed, 99 insertions(+) diff --git a/code/game/objects/items/storage/ammo_can.dm b/code/game/objects/items/storage/ammo_can.dm index e16ef5de4825..63ac672b1cd1 100644 --- a/code/game/objects/items/storage/ammo_can.dm +++ b/code/game/objects/items/storage/ammo_can.dm @@ -6,6 +6,7 @@ item_state = "ammobox" drop_sound = 'sound/items/handling/ammobox_drop.ogg' pickup_sound = 'sound/items/handling/ammobox_pickup.ogg' + supports_variations = null material_flags = NONE has_latches = FALSE w_class = WEIGHT_CLASS_BULKY @@ -26,6 +27,32 @@ /obj/item/grenade, /obj/item/stock_parts/cell/gun )) + unique_reskin = list( + "EXPLOSIVE" = "ammobox_expl", + "12ga Buckshot" = "ammobox_12ga", + ".9mm" = "ammobox_9mm", + "10mm" = "ammobox_10mm", + ".45" = "ammobox_45", + ".38" = "ammobox_38", + ".22lr" = "ammobox_22", + "5.7x39mm" = "ammobox_57", + "5.56x42mm CLIP" = "ammobox_556", + "7.62x40mm CLIP" = "ammobox_762", + ".44 Roumain" = "ammobox_44", + "8x50mmR" = "ammobox_850", + ".308" = "ammobox_308", + "12ga Slug" = "ammobox_slug", + "6.5mm CLIP" = "ammobox_65", + ".300" = "ammobox_300", + ".357" = "ammobox_357", + ".299 Eoehoma" = "ammobox_299", + ".45-70" = "ammobox_4570", + "Cell" = "ammobox_cell", + "PLT" = "ammobox_plt", + ".50BMG" = "ammobox_50", + "Lance" = "ammobox_lance", + "None" = "ammobox", + ) /obj/item/storage/toolbox/ammo/a850r/PopulateContents() name = "ammo can (8x50mmR)" @@ -63,6 +90,78 @@ for (var/i in 1 to 4) new /obj/item/storage/box/ammo/c10mm(src) +/obj/item/storage/toolbox/ammo/c38/PopulateContents() + name = "ammo can (.38)" + icon_state = "ammobox_38" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c38(src) + +/obj/item/storage/toolbox/ammo/a44roum/PopulateContents() + name = "ammo can (.44 Roumain)" + icon_state = "ammobox_44" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a44roum(src) + +/obj/item/storage/toolbox/ammo/c556/PopulateContents() + name = "ammo can (5.56x42mm CLIP)" + icon_state = "ammobox_556" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a556_42(src) + +/obj/item/storage/toolbox/ammo/c556hitp/PopulateContents() + name = "ammo can (5.56 HITP)" + icon_state = "ammobox_556" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c556mm(src) + +/obj/item/storage/toolbox/ammo/c57/PopulateContents() + name = "ammo can (5.7x39mm)" + icon_state = "ammobox_57" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c57x39(src) + +/obj/item/storage/toolbox/ammo/c46/PopulateContents() + name = "ammo can (4.6x30mm)" + icon_state = "ammobox_46" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c46x30mm(src) + +/obj/item/storage/toolbox/ammo/c65/PopulateContents() + name = "ammo can (6.5mm CLIP)" + icon_state = "ammobox_65" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a65clip(src) + +/obj/item/storage/toolbox/ammo/c300/PopulateContents() + name = "ammo can (.300)" + icon_state = "ammobox_300" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a300(src) + +/obj/item/storage/toolbox/ammo/c357/PopulateContents() + name = "ammo can (.357)" + icon_state = "ammobox_357" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a357(src) + +/obj/item/storage/toolbox/ammo/c22lr/PopulateContents() + name = "ammo can (.22LR)" + icon_state = "ammobox_22" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c22lr(src) + +/obj/item/storage/toolbox/ammo/c299/PopulateContents() + name = "ammo can (.299 Eoehoma)" + icon_state = "ammobox_299" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c299(src) + +/obj/item/storage/toolbox/ammo/c4570/PopulateContents() + name = "ammo can (.45-70)" + icon_state = "ammobox_4570" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a4570(src) + /obj/item/storage/toolbox/ammo/shotgun/PopulateContents() name = "ammo can (12ga)" icon_state = "ammobox_12ga" diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index d9c488a1fe856b622c75cae7d33d6fefc723d2bf..8f38b5f80022ef5987bdbf5ca0e8b5e239bd6d5d 100644 GIT binary patch literal 53904 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�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 From e4913e996e4d8c585e77dac5dab5dedc11728183 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 7 Feb 2025 01:13:37 +0000 Subject: [PATCH 234/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3462.yml | 6 ------ html/changelogs/AutoChangeLog-pr-4114.yml | 6 ------ html/changelogs/AutoChangeLog-pr-4115.yml | 6 ------ html/changelogs/AutoChangeLog-pr-4121.yml | 11 ----------- html/changelogs/AutoChangeLog-pr-4125.yml | 4 ---- html/changelogs/archive/2025-02.yml | 24 +++++++++++++++++++++++ 6 files changed, 24 insertions(+), 33 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3462.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4114.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4115.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4121.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4125.yml diff --git a/html/changelogs/AutoChangeLog-pr-3462.yml b/html/changelogs/AutoChangeLog-pr-3462.yml deleted file mode 100644 index e1b110418fb0..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3462.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: FalloutFalcon, Fikou, a hood by Viro -changes: - - {refactor: 'Humanoid mobs automatically generate their sprites, they no longer - will be outdated.'} - - {refactor: Ports some tg overlay improvments.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4114.yml b/html/changelogs/AutoChangeLog-pr-4114.yml deleted file mode 100644 index 62ac15a43c1a..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4114.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Moffball, MemeSnorfer, and Erikafox -changes: - - {rscadd: Colorable Windbreakers!} - - {rscadd: Colorable Flapcaps!} - - {imageadd: 'Resprites Softcaps, and makes them Colorable!'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4115.yml b/html/changelogs/AutoChangeLog-pr-4115.yml deleted file mode 100644 index 67924071cd44..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4115.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Sadhorizon -changes: - - {tweak: Replaced the selection of 16 jumpsuits in the loadout with a single re-skinnable - one.} - - {rscadd: Added a re-skinnable jumpskirt to the loadout too.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4121.yml b/html/changelogs/AutoChangeLog-pr-4121.yml deleted file mode 100644 index 8312dd5fd70d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4121.yml +++ /dev/null @@ -1,11 +0,0 @@ -author: firebudgy -changes: - - {rscdel: clown.dm (hostile and hostile/retaliate)} - - {rscdel: clown spawner grenades} - - {rscdel: some clown references in halloween code} - - {rscdel: clown simplemobs on singulolab} - - {rscdel: clown and mime PDAs} - - {rscdel: clown/mime masks in the few places they appeared} - - {rscdel: clown poster} - - {rscdel: clown shooting targets from everywhere they appear} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4125.yml b/html/changelogs/AutoChangeLog-pr-4125.yml deleted file mode 100644 index c0fb78265f56..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4125.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {bugfix: indie space is no longer missing numbers on the 56x40 hangar} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index d91fd9049f9e..c7dad0b48006 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -24,3 +24,27 @@ - tweak: Replaced HOP's stamp with FO's stamp. - code_imp: Repathed chaplain's stamp into roumain stamp - no other changes though. - rscdel: Removed law, clown and mime stamps. +2025-02-07: + Erikafox: + - bugfix: indie space is no longer missing numbers on the 56x40 hangar + FalloutFalcon, Fikou, a hood by Viro: + - refactor: Humanoid mobs automatically generate their sprites, they no longer will + be outdated. + - refactor: Ports some tg overlay improvments. + Moffball, MemeSnorfer, and Erikafox: + - rscadd: Colorable Windbreakers! + - rscadd: Colorable Flapcaps! + - imageadd: Resprites Softcaps, and makes them Colorable! + Sadhorizon: + - tweak: Replaced the selection of 16 jumpsuits in the loadout with a single re-skinnable + one. + - rscadd: Added a re-skinnable jumpskirt to the loadout too. + firebudgy: + - rscdel: clown.dm (hostile and hostile/retaliate) + - rscdel: clown spawner grenades + - rscdel: some clown references in halloween code + - rscdel: clown simplemobs on singulolab + - rscdel: clown and mime PDAs + - rscdel: clown/mime masks in the few places they appeared + - rscdel: clown poster + - rscdel: clown shooting targets from everywhere they appear From 31c5e96f7f1bc5efe7b58a459f861c3b210fefad Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 19:15:48 -0600 Subject: [PATCH 235/330] Automatic changelog generation for PR #4111 [ci skip] --- html/changelogs/AutoChangeLog-pr-4111.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4111.yml diff --git a/html/changelogs/AutoChangeLog-pr-4111.yml b/html/changelogs/AutoChangeLog-pr-4111.yml new file mode 100644 index 000000000000..5226e807c6d5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4111.yml @@ -0,0 +1,4 @@ +author: Jedi-Toothpaste +changes: + - {rscadd: allows you to reskin ammo cans} +delete-after: true From 48e6887b94358f00874dd33b6fe5b8427af9cc56 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Thu, 6 Feb 2025 16:06:41 -0800 Subject: [PATCH 236/330] Fixes a minor cargo error (#4142) ## About The Pull Request Clarifies and removes an extra Etherbor cell listing. ## Why It's Good For The Game Working cargo ## Changelog :cl: fix: Extra cargo listing /:cl: --------- Signed-off-by: firebudgy <153147550+firebudgy@users.noreply.github.com> Co-authored-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> --- code/modules/cargo/packs/magazines.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/cargo/packs/magazines.dm b/code/modules/cargo/packs/magazines.dm index b2ec08e1d191..d7a34c778703 100644 --- a/code/modules/cargo/packs/magazines.dm +++ b/code/modules/cargo/packs/magazines.dm @@ -368,15 +368,15 @@ /* etherbor */ -/datum/supply_pack/magazine/guncell/kalix +/datum/supply_pack/magazine/kalixcell 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" +/datum/supply_pack/magazine/pgfcell + name = "Military-Grade 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 From 88795c5383de958ecc2620cf75e1ae537e4f8f85 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 19:46:19 -0600 Subject: [PATCH 237/330] Automatic changelog generation for PR #4142 [ci skip] --- html/changelogs/AutoChangeLog-pr-4142.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4142.yml diff --git a/html/changelogs/AutoChangeLog-pr-4142.yml b/html/changelogs/AutoChangeLog-pr-4142.yml new file mode 100644 index 000000000000..a9344fb59ea2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4142.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {bugfix: Extra cargo listing} +delete-after: true From ff52b0a10d3d27780c8b3387b1c0b22b9b4c8399 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Thu, 6 Feb 2025 19:07:20 -0500 Subject: [PATCH 238/330] headset fixes (#4131) ## About The Pull Request refactors headset code a lil clip bowmans now have the proper sprite pgf headsets are now soundproofed ## Why It's Good For The Game you, the viewer decide. ## Changelog :cl: fix: CLIP bowman sprites, PGF bowman sound protection. /:cl: --- .../objects/items/devices/radio/headset.dm | 77 +++++-------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index cc091b4edbce..70a6f7890173 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -28,6 +28,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( var/obj/item/encryptionkey/keyslot2 = null dog_fashion = null supports_variations = VOX_VARIATION + var/hearing_protection = FALSE /obj/item/radio/headset/examine(mob/user) . = ..() @@ -54,6 +55,11 @@ GLOBAL_LIST_INIT(channel_tokens, list( . = ..() recalculateChannels() +/obj/item/radio/headset/ComponentInitialize() + . = ..() + if(hearing_protection) + AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) + /obj/item/radio/headset/Destroy() QDEL_NULL(keyslot2) return ..() @@ -80,10 +86,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( name = "bowman headset" desc = "An updated, modular intercom that fits over the head. Protects ears from flashbangs." icon_state = "headset_alt" - -/obj/item/radio/headset/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) + hearing_protection = TRUE //syndicate /obj/item/radio/headset/syndicate @@ -102,6 +105,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( name = "syndicate bowman headset" desc = "A headset worn by members of the various Syndicate splinters on the frontier. Protects ears from flashbangs." icon_state = "syndie_headset_alt" + hearing_protection = TRUE /obj/item/radio/headset/syndicate/alt/captain name = "syndicate leader bowman headset" @@ -109,10 +113,6 @@ GLOBAL_LIST_INIT(channel_tokens, list( command = TRUE keyslot2 = new /obj/item/encryptionkey/heads/captain -/obj/item/radio/headset/syndicate/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) - /obj/item/radio/headset/syndicate/alt/leader name = "team leader headset" command = TRUE @@ -154,6 +154,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( name = "nanotrasen bowman headset" desc = "Worn proudly by the battered remnants of Nanotrasen's frontier holdings. Protects ears from flashbangs." icon_state = "nanotrasen_headset_alt" + hearing_protection = TRUE /obj/item/radio/headset/nanotrasen/alt/captain name = "nanotrasen captain's bowman headset" @@ -161,10 +162,6 @@ GLOBAL_LIST_INIT(channel_tokens, list( keyslot2 = new /obj/item/encryptionkey/heads/captain command = TRUE -/obj/item/radio/headset/nanotrasen/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) - //clip /obj/item/radio/headset/clip name = "minutemen radio headset" @@ -181,7 +178,9 @@ GLOBAL_LIST_INIT(channel_tokens, list( /obj/item/radio/headset/clip/alt name = "minutemen bowman headset" desc = "Used by militias flying the five stars of the Colonial Minutemen. Protects ears from flashbangs." + icon_state = "clip_headset_alt" mob_overlay_state = "cmm_headset_alt" + hearing_protection = TRUE /obj/item/radio/headset/clip/alt/captain name = "minuteman officer bowman headset" @@ -189,10 +188,6 @@ GLOBAL_LIST_INIT(channel_tokens, list( keyslot2 = new /obj/item/encryptionkey/heads/captain command = TRUE -/obj/item/radio/headset/clip/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) - //inteq /obj/item/radio/headset/inteq name = "inteq radio headset" @@ -210,10 +205,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( name = "inteq bowman headset" 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)) + hearing_protection = TRUE /obj/item/radio/headset/inteq/alt/captain name = "vanguard bowman headset" @@ -221,10 +213,6 @@ GLOBAL_LIST_INIT(channel_tokens, list( keyslot2 = new /obj/item/encryptionkey/heads/captain command = TRUE -/obj/item/radio/headset/inteq/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) - //pirate /obj/item/radio/headset/pirate name = "pirate radio headset" @@ -242,6 +230,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( name = "pirate bowman headset" desc = "Used to sing shanties across the vast emptiness of space, and complain about Minuteman patrols. Protects ears from flashbangs." icon_state = "pirate_headset_alt" + hearing_protection = TRUE /obj/item/radio/headset/pirate/alt/captain name = "pirate captain bowman headset" @@ -249,10 +238,6 @@ GLOBAL_LIST_INIT(channel_tokens, list( keyslot2 = new /obj/item/encryptionkey/heads/captain command = TRUE -/obj/item/radio/headset/pirate/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) - //PGF /obj/item/radio/headset/pgf name = "\improper PGF headset" @@ -269,6 +254,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( name = "\improper PGF bowman headset" desc = "A headset often worn by members of the PGFN and PGFMC. Protects ears from flashbangs." icon_state = "solgov_headset_alt" + hearing_protection = TRUE /obj/item/radio/headset/pgf/alt/captain name = "\improper PGF official bowman headset" @@ -293,6 +279,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( name = "\improper SolGov bowman headset" desc = "Worn by bureaucrats and, occasionally, Sonnensoldneren. Protects ears from flashbangs." icon_state = "solgov_headset_alt" + hearing_protection = TRUE /obj/item/radio/headset/solgov/alt/captain name = "\improper SolGov official bowman headset" @@ -300,10 +287,6 @@ GLOBAL_LIST_INIT(channel_tokens, list( keyslot2 = new /obj/item/encryptionkey/heads/captain command = TRUE -/obj/item/radio/headset/solgov/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) - //independent /obj/item/radio/headset/headset_com name = "command radio headset" @@ -315,10 +298,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( name = "command bowman headset" desc = "An officer's headset. Protects ears from flashbangs." icon_state = "headset_alt" - -/obj/item/radio/headset/headset_com/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) + hearing_protection = TRUE /obj/item/radio/headset/heads command = TRUE @@ -334,10 +314,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( name = "captain's bowman headset" desc = "Dresses the ears of independent ship captains across the frontier. Protects ears from flashbangs." icon_state = "headset_alt" - -/obj/item/radio/headset/heads/captain/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) + hearing_protection = TRUE //special headsets /obj/item/radio/headset/binary @@ -366,10 +343,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( desc = "A headset especially for emergency response personnel. Protects ears from flashbangs." icon_state = "cent_headset_alt" keyslot = null - -/obj/item/radio/headset/headset_cent/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) + hearing_protection = TRUE /obj/item/radio/headset/silicon/pai name = "\proper mini Integrated Subspace Transceiver " @@ -392,10 +366,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( name = "security bowman headset" desc = "This is used by your elite security force. Protects ears from flashbangs." icon_state = "sec_headset_alt" - -/obj/item/radio/headset/headset_sec/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) + hearing_protection = TRUE /obj/item/radio/headset/headset_medsec name = "medical-security radio headset" @@ -406,10 +377,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( name = "medical-security bowman headset" desc = "Used to hear how many security officers need to be stiched back together. Protects ears from flashbangs." icon_state = "medsec_headset_alt" - -/obj/item/radio/headset/headset_medsec/alt/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) + hearing_protection = TRUE /obj/item/radio/headset/headset_eng name = "engineering radio headset" @@ -460,10 +428,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( 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 = "headset_alt" - -/obj/item/radio/headset/heads/hos/ComponentInitialize() - . = ..() - AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) + hearing_protection = TRUE /obj/item/radio/headset/heads/ce name = "\proper the chief engineer's headset" From 4d53299f7494540a9bb259115546eea6bc84c4f0 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 20:05:02 -0600 Subject: [PATCH 239/330] Automatic changelog generation for PR #4131 [ci skip] --- html/changelogs/AutoChangeLog-pr-4131.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4131.yml diff --git a/html/changelogs/AutoChangeLog-pr-4131.yml b/html/changelogs/AutoChangeLog-pr-4131.yml new file mode 100644 index 000000000000..49f510fcd15b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4131.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {bugfix: 'CLIP bowman sprites, PGF bowman sound protection.'} +delete-after: true From f57581f4881f778828fa167c0fa9f777d6511b7c Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Fri, 7 Feb 2025 01:07:46 +0100 Subject: [PATCH 240/330] Removes a broken DB from the Kilo. (#4124) ## About The Pull Request Captain's DB wasn't properly replaced in some previous PR, and the old one wasn't deleted. The fact that Kilo had a DB too much aside, it was broken and unusable anyways, due to having default ammo set to null. ## Changelog :cl: fix: Removed a broken Double Barrel from the Kilo. /:cl: --- _maps/shuttles/independent/independent_kilo.dmm | 3 --- 1 file changed, 3 deletions(-) diff --git a/_maps/shuttles/independent/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm index 8fdc4422e933..1a9670b4d6ee 100644 --- a/_maps/shuttles/independent/independent_kilo.dmm +++ b/_maps/shuttles/independent/independent_kilo.dmm @@ -674,9 +674,6 @@ dir = 8 }, /obj/item/storage/box/ammo/a12g_buckshot, -/obj/item/gun/ballistic/shotgun/doublebarrel/presawn{ - default_ammo_type = 0 - }, /obj/structure/cable/pink{ icon_state = "4-10" }, From 27843784203c347dbdcc7618b81db19d079d1788 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Thu, 6 Feb 2025 16:12:41 -0800 Subject: [PATCH 241/330] Halves Space Basilisk and Dwarf Legion Health (#4112) ## About The Pull Request Lowers Space Basilisk Health from 175 to 90. Lowers Dwarf Legion Health from 150 to 75. ## Why It's Good For The Game These spawn as "mook" mobs from drills done in space, rapid fire freezing bolts and move at decently high speeds while soaking *repeated* automatic gunfire. This should make them easier to handle when four of them pop out of the drill at once. Dwarf legions would run across your screen and spam skulls at you while taking more bullets than a goliath on average. ## Changelog :cl: balance: Space Basilisks and Dwarf Legions are decently weaker. /:cl: --- .../mob/living/simple_animal/hostile/mining_mobs/basilisk.dm | 4 ++-- .../mob/living/simple_animal/hostile/mining_mobs/hivelord.dm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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 ca1e4bd0b77b..730522ccfb1a 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 @@ -18,8 +18,8 @@ throw_message = "does nothing against the hard shell of" vision_range = 2 speed = 3 - maxHealth = 175 - health = 175 + maxHealth = 90 + health = 90 harm_intent_damage = 5 obj_damage = 60 melee_damage_lower = 7 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 601c87498b61..e8e7080a07e8 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 @@ -152,8 +152,8 @@ icon_aggro = "dwarf_legion" icon_dead = "dwarf_legion" //mob_trophy = /obj/item/mob_trophy/dwarf_skull - maxHealth = 150 - health = 150 + maxHealth = 75 + health = 75 move_to_delay = 2 speed = 1 //much faster! dwarf_mob = TRUE From ed342177d4aa1b0208a43b68164d3a2b64d5fd12 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 20:22:29 -0600 Subject: [PATCH 242/330] Automatic changelog generation for PR #4112 [ci skip] --- html/changelogs/AutoChangeLog-pr-4112.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4112.yml diff --git a/html/changelogs/AutoChangeLog-pr-4112.yml b/html/changelogs/AutoChangeLog-pr-4112.yml new file mode 100644 index 000000000000..502e746b919f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4112.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {balance: Space Basilisks and Dwarf Legions are decently weaker.} +delete-after: true From 9b40a6131e78504365c543241f6ce12e497fd5c2 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Thu, 6 Feb 2025 19:33:10 -0500 Subject: [PATCH 243/330] Fix railing corners blocking movement && makes thin/thick railings craftable (#4141) ## Changelog :cl: add: you can now craft thick/thin railings fix: railing corners should no longer block movement /:cl: --- code/game/objects/items/stacks/rods.dm | 4 ++++ code/game/objects/structures/railings.dm | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index b5f78d46e951..f8ca6036bb66 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -8,6 +8,10 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ new/datum/stack_recipe("modern railing", /obj/structure/railing/modern, 3, time = 18, window_checks = TRUE), \ new/datum/stack_recipe("modern railing corner", /obj/structure/railing/modern/corner, 1, time = 10, window_checks = TRUE), \ new/datum/stack_recipe("modern railing end", /obj/structure/railing/modern/end, 3, time = 18, window_checks = TRUE), \ + new/datum/stack_recipe("thin railing", /obj/structure/railing/thin, 3, time = 18, window_checks = TRUE), \ + new/datum/stack_recipe("thin railing corner", /obj/structure/railing/thin/corner, 1, time = 10, window_checks = TRUE), \ + new/datum/stack_recipe("thick railing", /obj/structure/railing/thick, 3, time = 18, window_checks = TRUE), \ + new/datum/stack_recipe("thick railing corner", /obj/structure/railing/thick/corner, 1, time = 10, window_checks = TRUE), \ new/datum/stack_recipe("ladder", /obj/structure/ladder/crafted, 15, time = 150, one_per_turf = TRUE, on_floor = FALSE), \ new/datum/stack_recipe("handrail", /obj/structure/chair/handrail, 4, time = 15, one_per_turf = TRUE), \ )) diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index b4bf99f17469..a99830600833 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -210,9 +210,15 @@ /obj/structure/railing/thick/corner icon_state = "railing_thick_corner" + density = FALSE + climbable = FALSE + buildstackamount = 1 /obj/structure/railing/thin icon_state = "railing_thin" /obj/structure/railing/thin/corner icon_state = "railing_thin_corner" + density = FALSE + climbable = FALSE + buildstackamount = 1 From 01ad81f4ef466c10939a18b4b61b8274adc70107 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Thu, 6 Feb 2025 20:05:02 -0500 Subject: [PATCH 244/330] dynamic mob gunfire spread (#4143) ## About The Pull Request dynamic mobs now take the gun they're holding and apply its spread to bullets. cleans some code ## Changelog :cl: add: dynamic simplemobs now add their spread to bullets. balance: frontiersmen officers now shoot faster and shoot more balance: frontiersmen shotgunners shoot pb. we cqc in this bitch. /:cl: --- .../mob/living/simple_animal/corpse.dm | 119 ------------------ .../corpse_spawners/frontiersman.dm | 115 +++++++++++++++++ .../living/simple_animal/hostile/hostile.dm | 6 +- .../hostile/human/frontiersman.dm | 5 +- .../simple_animal/hostile/human/human.dm | 7 ++ shiptest.dme | 1 + 6 files changed, 132 insertions(+), 121 deletions(-) create mode 100644 code/modules/mob/living/simple_animal/corpse_spawners/frontiersman.dm diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index e76be5bcf59a..39faff1add2c 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -116,125 +116,6 @@ suit = /obj/item/clothing/suit/pirate head = /obj/item/clothing/head/pirate - -/obj/effect/mob_spawn/human/corpse/frontier - name = "Frontiersman" - outfit = /datum/outfit/frontier - hairstyle = "Bald" - facial_hairstyle = "Shaved" - -/obj/effect/mob_spawn/human/corpse/frontier/internals - outfit = /datum/outfit/frontier/internals - -/datum/outfit/frontier - name = "Frontiersman Corpse" - uniform = /obj/item/clothing/under/frontiersmen - 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 - -/datum/outfit/frontier/internals - name = "Frontiersman Corpse Internals" - mask = /obj/item/clothing/mask/gas/sechailer - l_pocket = /obj/item/tank/internals/emergency_oxygen/engi - -/obj/effect/mob_spawn/human/corpse/frontier/ranged - outfit = /datum/outfit/frontier - -/obj/effect/mob_spawn/human/corpse/frontier/ranged/internals - outfit = /datum/outfit/frontier/internals - -/obj/effect/mob_spawn/human/corpse/frontier/surgeon - outfit = /datum/outfit/job/frontiersmen/doctor/corpse - -/obj/effect/mob_spawn/human/corpse/frontier/surgeon/internals - outfit = /datum/outfit/job/frontiersmen/doctor/corpse/internals - -/datum/outfit/job/frontiersmen/doctor/corpse - name = "Frontiersmen Surgeon Corpse" - r_pocket = null - -/datum/outfit/job/frontiersmen/doctor/corpse/internals - name = "Frontiersmen Surgeon Corpse Internals" - mask = /obj/item/clothing/mask/breath - l_pocket = /obj/item/tank/internals/emergency_oxygen/engi - -/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper - outfit = /datum/outfit/frontier/trooper - -/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/internals - outfit = /datum/outfit/frontier/trooper/internals - -/datum/outfit/frontier/trooper - name = "Frontiersman Armored Corpse" - 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 - head = /obj/item/clothing/head/helmet/bulletproof/x11/frontier - -/datum/outfit/frontier/trooper/internals - name = "Frontiersman Armored Corpse Internals" - mask = /obj/item/clothing/mask/gas/sechailer - l_pocket = /obj/item/tank/internals/emergency_oxygen/engi - -/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer - name = "Frontiersman Officer" - outfit = /datum/outfit/frontier/officer - -/datum/outfit/frontier/officer - name = "Frontiersman Officer Corpse" - uniform = /obj/item/clothing/under/frontiersmen/officer - suit = /obj/item/clothing/suit/armor/frontier - shoes = /obj/item/clothing/shoes/combat - ears = /obj/item/radio/headset - head = /obj/item/clothing/head/frontier/peaked - -/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer/internals - name = "Frontiersman Officer Corpse Internals" - outfit = /datum/outfit/frontier/officer/internals - -/datum/outfit/frontier/officer/internals - name = "Frontiersman Officer Corpse Internals" - mask = /obj/item/clothing/mask/gas/sechailer - l_pocket = /obj/item/tank/internals/emergency_oxygen/engi - -/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy - outfit = /datum/outfit/frontier/trooper/heavy - -/datum/outfit/frontier/trooper/heavy - name = "Frontiersman Heavy Corpse" - suit = /obj/item/clothing/suit/space/hardsuit/security/independent/frontier - head = /obj/item/clothing/head/beret/sec/frontier/officer - back = /obj/item/minigunpack - -/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/internals - outfit = /datum/outfit/frontier/trooper/heavy/internals - -/datum/outfit/frontier/trooper/heavy/internals - name = "Frontiersman Heavy Corpse Internals" - mask = /obj/item/clothing/mask/gas - l_pocket = /obj/item/tank/internals/emergency_oxygen/engi - -/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 - /obj/effect/mob_spawn/human/corpse/wizard name = "Space Wizard Corpse" outfit = /datum/outfit/wizardcorpse diff --git a/code/modules/mob/living/simple_animal/corpse_spawners/frontiersman.dm b/code/modules/mob/living/simple_animal/corpse_spawners/frontiersman.dm new file mode 100644 index 000000000000..cb99e06df32a --- /dev/null +++ b/code/modules/mob/living/simple_animal/corpse_spawners/frontiersman.dm @@ -0,0 +1,115 @@ +/obj/effect/mob_spawn/human/corpse/frontier + name = "Frontiersman" + outfit = /datum/outfit/frontier + +/obj/effect/mob_spawn/human/corpse/frontier/internals + outfit = /datum/outfit/frontier/internals + +/datum/outfit/frontier + name = "Frontiersman Corpse" + uniform = /obj/item/clothing/under/frontiersmen + 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 + +/datum/outfit/frontier/internals + name = "Frontiersman Corpse Internals" + mask = /obj/item/clothing/mask/gas/sechailer + l_pocket = /obj/item/tank/internals/emergency_oxygen/engi + +/obj/effect/mob_spawn/human/corpse/frontier/ranged + outfit = /datum/outfit/frontier + +/obj/effect/mob_spawn/human/corpse/frontier/ranged/internals + outfit = /datum/outfit/frontier/internals + +/obj/effect/mob_spawn/human/corpse/frontier/surgeon + outfit = /datum/outfit/job/frontiersmen/doctor/corpse + +/obj/effect/mob_spawn/human/corpse/frontier/surgeon/internals + outfit = /datum/outfit/job/frontiersmen/doctor/corpse/internals + +/datum/outfit/job/frontiersmen/doctor/corpse + name = "Frontiersmen Surgeon Corpse" + r_pocket = null + +/datum/outfit/job/frontiersmen/doctor/corpse/internals + name = "Frontiersmen Surgeon Corpse Internals" + mask = /obj/item/clothing/mask/breath + l_pocket = /obj/item/tank/internals/emergency_oxygen/engi + +/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper + outfit = /datum/outfit/frontier/trooper + +/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/internals + outfit = /datum/outfit/frontier/trooper/internals + +/datum/outfit/frontier/trooper + name = "Frontiersman Armored Corpse" + 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 + head = /obj/item/clothing/head/helmet/bulletproof/x11/frontier + +/datum/outfit/frontier/trooper/internals + name = "Frontiersman Armored Corpse Internals" + mask = /obj/item/clothing/mask/gas/frontiersmen + l_pocket = /obj/item/tank/internals/emergency_oxygen/engi + +/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer + name = "Frontiersman Officer" + outfit = /datum/outfit/frontier/officer + +/datum/outfit/frontier/officer + name = "Frontiersman Officer Corpse" + uniform = /obj/item/clothing/under/frontiersmen/officer + suit = /obj/item/clothing/suit/armor/frontier + shoes = /obj/item/clothing/shoes/combat + ears = /obj/item/radio/headset + head = /obj/item/clothing/head/frontier/peaked + +/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer/internals + name = "Frontiersman Officer Corpse Internals" + outfit = /datum/outfit/frontier/officer/internals + +/datum/outfit/frontier/officer/internals + name = "Frontiersman Officer Corpse Internals" + mask = /obj/item/clothing/mask/gas/frontiersmen + l_pocket = /obj/item/tank/internals/emergency_oxygen/engi + +/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy + outfit = /datum/outfit/frontier/trooper/heavy + +/datum/outfit/frontier/trooper/heavy + name = "Frontiersman Heavy Corpse" + suit = /obj/item/clothing/suit/space/hardsuit/security/independent/frontier + head = /obj/item/clothing/head/beret/sec/frontier/officer + back = /obj/item/minigunpack + +/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/internals + outfit = /datum/outfit/frontier/trooper/heavy/internals + +/datum/outfit/frontier/trooper/heavy/internals + name = "Frontiersman Heavy Corpse Internals" + mask = /obj/item/clothing/mask/gas/frontiersmen + l_pocket = /obj/item/tank/internals/emergency_oxygen/engi + +/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 diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index e12e86e47b00..2cd32b99927f 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -18,6 +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 + + //spread, set on humans during init by checking what gun they're holding. + var/spread = 0 + ///delay for the automated movement. var/move_to_delay = 3 var/list/friends = list() @@ -438,7 +442,7 @@ if(casingtype) var/obj/item/ammo_casing/casing = new casingtype(startloc) playsound(src, projectilesound, 100, TRUE) - casing.fire_casing(targeted_atom, src, null, null, null, ran_zone(), 0, src) + casing.fire_casing(targeted_atom, src, null, null, null, ran_zone(), rand(-spread, spread), src) else if(projectiletype) var/obj/projectile/P = new projectiletype(startloc) playsound(src, projectilesound, 100, TRUE) 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 0cfb1c429a3b..f7c3099a48ce 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm @@ -97,6 +97,7 @@ icon_state = "frontiersmanrangedelite" maxHealth = 170 health = 170 + shoot_point_blank = TRUE projectilesound = 'sound/weapons/gun/shotgun/shot.ogg' casingtype = /obj/item/ammo_casing/shotgun/buckshot mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper @@ -218,7 +219,9 @@ icon_state = "frontiersmanofficer" maxHealth = 65 health = 65 - rapid = 4 + rapid = 6 + rapid_fire_delay = 1 + shoot_point_blank = TRUE projectilesound = 'sound/weapons/gun/pistol/mauler.ogg' casingtype = /obj/item/ammo_casing/c9mm mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/officer 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 e6a06df89c0b..be8fa6b005df 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/human.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/human.dm @@ -56,6 +56,13 @@ . = ..() if(mob_spawner) apply_dynamic_human_appearance(src, mob_spawn_path = mob_spawner, r_hand = r_hand, l_hand = l_hand) + if(ispath(r_hand,/obj/item/gun)) + var/obj/item/gun/our_gun = r_hand + spread = our_gun.spread + else if(ispath(l_hand, /obj/item/gun)) + var/obj/item/gun/our_gun = l_hand + spread = our_gun.spread + 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() diff --git a/shiptest.dme b/shiptest.dme index 235623ab02ac..0d2e04c4ecd6 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -2726,6 +2726,7 @@ #include "code\modules\mob\living\simple_animal\bot\secbot.dm" #include "code\modules\mob\living\simple_animal\bot\SuperBeepsky.dm" #include "code\modules\mob\living\simple_animal\bot\vibebot.dm" +#include "code\modules\mob\living\simple_animal\corpse_spawners\frontiersman.dm" #include "code\modules\mob\living\simple_animal\friendly\beachcarp.dm" #include "code\modules\mob\living\simple_animal\friendly\butterfly.dm" #include "code\modules\mob\living\simple_animal\friendly\capybara.dm" From cad7ea45586f554e3be8a5fe67677aabaca0b790 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 20:44:26 -0600 Subject: [PATCH 245/330] Automatic changelog generation for PR #4143 [ci skip] --- html/changelogs/AutoChangeLog-pr-4143.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4143.yml diff --git a/html/changelogs/AutoChangeLog-pr-4143.yml b/html/changelogs/AutoChangeLog-pr-4143.yml new file mode 100644 index 000000000000..b25b677a12b9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4143.yml @@ -0,0 +1,6 @@ +author: Erikafox +changes: + - {rscadd: dynamic simplemobs now add their spread to bullets.} + - {balance: frontiersmen officers now shoot faster and shoot more} + - {balance: frontiersmen shotgunners shoot pb. we cqc in this bitch.} +delete-after: true From 44e89968c9260121a10440e67b44b8f435f15c58 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Thu, 6 Feb 2025 17:11:22 -0800 Subject: [PATCH 246/330] Nerfs the health of basic giant spiders (#4107) ## About The Pull Request Nerfs the health of basic giant spiders from 200 to 60. All other health thresholds are untouched. ## Why It's Good For The Game They had more health than the supposedly "tanky" Tarantulas, and oftentimes took more rounds to down than a goliath. All other spiders had around 40 health so I believe this was likely an oversight, but as the basic spiders were incredibly fast with this health it made them very hard to fight and very punishing being that they poison people. ## Changelog :cl: balance: Basic spiders no longer take more bullets than your average frontiersman. /:cl: --- code/modules/mob/living/simple_animal/hostile/giant_spider.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 fa15c57249e9..becde9bfdb1d 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -36,8 +36,8 @@ response_help_simple = "pet" response_disarm_continuous = "gently pushes aside" response_disarm_simple = "gently push aside" - maxHealth = 200 - health = 200 + maxHealth = 60 + health = 60 obj_damage = 60 melee_damage_lower = 15 melee_damage_upper = 20 From 0f7e353374d2075450a431dc8eba9fc969b163a7 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Thu, 6 Feb 2025 20:11:49 -0500 Subject: [PATCH 247/330] Increases the projectile speed of sharplite laser bolts (#4092) ## About The Pull Request This PR modifies the projectile speeds of Sharplite-made laser weaponry so that the bolts travel much faster. Only weapons that fire a single bolt were affected, so laser shotguns and accelerator projectile speeds have remained unchanged. Sharplite laser turrets have also been brought in line with this projectile speed, aside from the heavy laser variant. Below is a video of an eoehoma weapon, which has not had its projectile speeds changed: https://github.com/user-attachments/assets/561989ca-5a6c-49d8-8b9a-5cd7d1dc3efc Below this is an example of a Sharplite weapon after the projectile speed change: https://github.com/user-attachments/assets/d20ea439-37db-4282-9bd5-2530c74c561a ## Why It's Good For The Game Laser weapon changes are in the works right now, and these changes are intended to help enhance laser weapon manufacturer identity, from what I understand. This PR works towards that goal and brings Sharplite weapons closer in line by making their projectiles much faster. ## Changelog :cl: balance: increased the projectile speed of sharplite weaponry /:cl: --- .../projectiles/ammunition/energy/laser.dm | 28 ++++++++++++++++++- .../projectiles/ammunition/energy/stun.dm | 14 +++++++++- .../projectiles/guns/energy/energy_gun.dm | 12 ++++---- code/modules/projectiles/guns/energy/laser.dm | 4 +-- code/modules/projectiles/projectile/beams.dm | 25 +++++++++++++++-- 5 files changed, 71 insertions(+), 12 deletions(-) diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index eb08fe0f8d23..9f9fb17d09c9 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -2,6 +2,10 @@ projectile_type = /obj/projectile/beam/laser select_name = "kill" +/obj/item/ammo_casing/energy/laser/sharplite + projectile_type = /obj/projectile/beam/laser/sharplite + select_name = "kill" + /obj/item/ammo_casing/energy/laser/underbarrel projectile_type = /obj/projectile/beam/laser e_cost = 1250 @@ -25,6 +29,12 @@ delay = 2 e_cost = 666 //30 per upgraded cell +/obj/item/ammo_casing/energy/laser/assault/sharplite + projectile_type = /obj/projectile/beam/laser/assault/sharplite + fire_sound = 'sound/weapons/gun/laser/e40_las.ogg' + delay = 2 + e_cost = 666 //30 per upgraded cell + /obj/item/ammo_casing/energy/laser/eoehoma/e50 projectile_type = /obj/projectile/beam/emitter/hitscan fire_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' @@ -36,6 +46,11 @@ e_cost = 830 select_name = "kill" +/obj/item/ammo_casing/energy/lasergun/sharplite + projectile_type = /obj/projectile/beam/laser/sharplite + e_cost = 830 + select_name = "kill" + /obj/item/ammo_casing/energy/lasergun/eoehoma projectile_type = /obj/projectile/beam/laser/eoehoma fire_sound = 'sound/weapons/gun/laser/e-fire.ogg' @@ -46,12 +61,18 @@ select_name = "kill" delay = 0.13 SECONDS +/obj/item/ammo_casing/energy/laser/sharplite/smg + projectile_type = /obj/projectile/beam/weak/sharplite + e_cost = 799 //12 shots with a normal power cell, 25 with an upgraded + select_name = "kill" + delay = 0.13 SECONDS + /obj/item/ammo_casing/energy/lasergun/old projectile_type = /obj/projectile/beam/laser e_cost = 2000 select_name = "kill" -/obj/item/ammo_casing/energy/laser/hos +/obj/item/ammo_casing/energy/laser/sharplite/hos e_cost = 1200 /obj/item/ammo_casing/energy/laser/practice @@ -59,6 +80,11 @@ select_name = "practice" harmful = FALSE +/obj/item/ammo_casing/energy/laser/practice/sharplite + projectile_type = /obj/projectile/beam/practice/sharplite + select_name = "practice" + harmful = FALSE + /obj/item/ammo_casing/energy/laser/scatter projectile_type = /obj/projectile/beam/scatter pellets = 10 diff --git a/code/modules/projectiles/ammunition/energy/stun.dm b/code/modules/projectiles/ammunition/energy/stun.dm index 658a1b41affe..41119357686c 100644 --- a/code/modules/projectiles/ammunition/energy/stun.dm +++ b/code/modules/projectiles/ammunition/energy/stun.dm @@ -25,10 +25,17 @@ fire_sound = 'sound/weapons/taser2.ogg' harmful = FALSE +/obj/item/ammo_casing/energy/disabler/sharplite + projectile_type = /obj/projectile/beam/disabler/sharplite + select_name = "disable" + e_cost = 500 + fire_sound = 'sound/weapons/taser2.ogg' + harmful = FALSE + /obj/item/ammo_casing/energy/disabler/underbarrel e_cost = 625 -/obj/item/ammo_casing/energy/disabler/hos +/obj/item/ammo_casing/energy/disabler/sharplite/hos e_cost = 600 /obj/item/ammo_casing/energy/disabler/scatter //WS edit, scatter repathing @@ -50,3 +57,8 @@ projectile_type = /obj/projectile/beam/disabler/weak/negative_ap e_cost = 330 delay = 0.13 SECONDS + +/obj/item/ammo_casing/energy/disabler/sharplite/smg + projectile_type = /obj/projectile/beam/disabler/weak/negative_ap/sharplite + e_cost = 330 + delay = 0.13 SECONDS diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 0e7af1fcb26d..6650fe308ae5 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -7,7 +7,7 @@ mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' 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) + ammo_type = list(/obj/item/ammo_casing/energy/disabler/sharplite, /obj/item/ammo_casing/energy/laser/sharplite) modifystate = TRUE ammo_x_offset = 2 dual_wield_spread = 60 @@ -46,7 +46,7 @@ icon_state = "energytac" ammo_x_offset = 2 charge_sections = 5 - ammo_type = list(/obj/item/ammo_casing/energy/laser/assault, /obj/item/ammo_casing/energy/disabler) + ammo_type = list(/obj/item/ammo_casing/energy/laser/assault/sharplite, /obj/item/ammo_casing/energy/disabler/sharplite) default_ammo_type = /obj/item/stock_parts/cell/gun/upgraded weapon_weight = WEAPON_MEDIUM @@ -67,7 +67,7 @@ desc = "NT-P:01 Prototype Energy Gun. Early stage development of a unique laser rifle that has a multifaceted energy lens, allowing the gun to alter the form of projectile it fires on command. The project was a dud, and Nanotrasen later acquired Sharplite to suit its laser weapon needs." icon_state = "protolaser" ammo_x_offset = 2 - ammo_type = list(/obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/electrode/old) + ammo_type = list(/obj/item/ammo_casing/energy/laser/sharplite, /obj/item/ammo_casing/energy/electrode/old) manufacturer = MANUFACTURER_NANOTRASEN_OLD /obj/item/gun/energy/e_gun/hos @@ -76,7 +76,7 @@ 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) + ammo_type = list(/obj/item/ammo_casing/energy/disabler/sharplite/hos, /obj/item/ammo_casing/energy/laser/sharplite/hos, /obj/item/ammo_casing/energy/ion/hos, /obj/item/ammo_casing/energy/electrode/hos) shaded_charge = TRUE resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF manufacturer = MANUFACTURER_SHARPLITE_NEW @@ -218,7 +218,7 @@ icon_state = "bsgun" item_state = "gun" force = 7 - ammo_type = list(/obj/item/ammo_casing/energy/disabler/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/trap) + ammo_type = list(/obj/item/ammo_casing/energy/disabler/sharplite/hos, /obj/item/ammo_casing/energy/laser/sharplite/hos, /obj/item/ammo_casing/energy/trap) ammo_x_offset = 1 shaded_charge = TRUE @@ -226,7 +226,7 @@ name = "\improper E-TAR SMG" desc = "A dual-mode energy gun capable of discharging weaker shots at a much faster rate than the standard energy gun." icon_state = "esmg" - ammo_type = list(/obj/item/ammo_casing/energy/disabler/smg, /obj/item/ammo_casing/energy/laser/smg) + ammo_type = list(/obj/item/ammo_casing/energy/disabler/sharplite/smg, /obj/item/ammo_casing/energy/laser/sharplite/smg) ammo_x_offset = 2 charge_sections = 3 weapon_weight = WEAPON_LIGHT diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 1da484f5de96..a38cb8e1818c 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -6,7 +6,7 @@ item_state = "laser" w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=2000) - ammo_type = list(/obj/item/ammo_casing/energy/lasergun) + ammo_type = list(/obj/item/ammo_casing/energy/lasergun/sharplite) ammo_x_offset = 1 shaded_charge = TRUE supports_variations = VOX_VARIATION @@ -21,7 +21,7 @@ /obj/item/gun/energy/laser/practice name = "practice laser gun" desc = "A modified version of the L-204 laser gun, this one fires less concentrated energy bolts designed for target practice." - ammo_type = list(/obj/item/ammo_casing/energy/laser/practice) + ammo_type = list(/obj/item/ammo_casing/energy/laser/practice/sharplite) item_flags = NONE /obj/item/gun/energy/laser/retro diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 9faee78eeb06..32967d34d158 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -40,7 +40,7 @@ impact_type = /obj/effect/projectile/impact/laser /obj/projectile/beam/laser/sharplite - speed = 0.4 + speed = 0.25 /obj/projectile/beam/laser/light damage = 15 @@ -57,6 +57,12 @@ damage = 25 armour_penetration = 20 +/obj/projectile/beam/laser/assault/sharplite + icon_state = "heavylaser" + damage = 25 + armour_penetration = 20 + speed = 0.25 + /obj/projectile/beam/laser/heavylaser name = "heavy laser" icon_state = "heavylaser" @@ -82,6 +88,10 @@ /obj/projectile/beam/weak damage = 15 +/obj/projectile/beam/weak/sharplite + damage = 15 + speed = 0.25 + /obj/projectile/beam/weaker damage = 10 @@ -105,6 +115,12 @@ damage = 0 nodamage = TRUE +/obj/projectile/beam/practice/sharplite + name = "practice laser" + damage = 0 + nodamage = TRUE + speed = 0.25 + /obj/projectile/beam/laser/slug name = "laser slug" icon_state = "heavylaser" @@ -148,7 +164,7 @@ impact_type = /obj/effect/projectile/impact/disabler /obj/projectile/beam/disabler/sharplite - speed = 0.4 + speed = 0.25 /obj/projectile/beam/disabler/weak damage = 15 @@ -160,6 +176,11 @@ armour_penetration = -30 range = 9 +/obj/projectile/beam/disabler/weak/negative_ap/sharplite + armour_penetration = -30 + range = 9 + speed = 0.25 + /obj/projectile/beam/disabler/weak/negative_ap/low_range range = 6 From 39efaa1fd904de44f031590a78ed29a49ad19be2 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 20:58:15 -0600 Subject: [PATCH 248/330] Automatic changelog generation for PR #4092 [ci skip] --- html/changelogs/AutoChangeLog-pr-4092.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4092.yml diff --git a/html/changelogs/AutoChangeLog-pr-4092.yml b/html/changelogs/AutoChangeLog-pr-4092.yml new file mode 100644 index 000000000000..976c2bbd11dd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4092.yml @@ -0,0 +1,4 @@ +author: zimon9 +changes: + - {balance: increased the projectile speed of sharplite weaponry} +delete-after: true From 9889b4f4d4893fc0ac3e1ed105fb685379911fc7 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Thu, 6 Feb 2025 17:22:13 -0800 Subject: [PATCH 249/330] .45-70 Ammo Can Be Stacked to 6 Rounds (#4145) ## About The Pull Request .45-70 comes in stacks of 6 rounds in a box. It can only be manually stacked to 5. This fixes that. ## Why It's Good For The Game Consistency ## Changelog :cl: fix: .45-70 stack size /:cl: --- code/modules/projectiles/ammunition/ballistic/revolver.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/ammunition/ballistic/revolver.dm b/code/modules/projectiles/ammunition/ballistic/revolver.dm index 60c3722b934a..3f9f1cc5e920 100644 --- a/code/modules/projectiles/ammunition/ballistic/revolver.dm +++ b/code/modules/projectiles/ammunition/ballistic/revolver.dm @@ -28,7 +28,7 @@ caliber = ".45-70" icon_state = "magnum-brass" projectile_type = /obj/projectile/bullet/a4570 - stack_size = 5 + stack_size = 6 /obj/item/ammo_casing/a4570/match name = ".45-70 match bullet casing" From 634ea8220a9cdbeceff9b0a943659dcae7dc2161 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 7 Feb 2025 00:31:50 -0500 Subject: [PATCH 250/330] reduce sauna temp (#4140) ![image](https://github.com/user-attachments/assets/c921114f-bc70-4047-bdb2-80def07c4807) ![image](https://github.com/user-attachments/assets/f34ed573-da27-43fa-baa7-44c2e923f8f0) ## Changelog :cl: fix: saunas are no longer burning hot /:cl: --- code/game/objects/structures/sauna.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/sauna.dm b/code/game/objects/structures/sauna.dm index ef0478a0ccd5..8db0ecb41e2b 100644 --- a/code/game/objects/structures/sauna.dm +++ b/code/game/objects/structures/sauna.dm @@ -1,4 +1,4 @@ -#define SAUNA_H2O_TEMP T20C + 60 +#define SAUNA_H2O_TEMP T20C + 30 #define SAUNA_LOG_FUEL 150 #define SAUNA_MAXIMUM_FUEL 3000 #define SAUNA_WATER_PER_WATER_UNIT 5 From cafc9164983e792a5a8cfcc0516e1bc7ef8d9145 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 23:42:21 -0600 Subject: [PATCH 251/330] Automatic changelog generation for PR #4140 [ci skip] --- html/changelogs/AutoChangeLog-pr-4140.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4140.yml diff --git a/html/changelogs/AutoChangeLog-pr-4140.yml b/html/changelogs/AutoChangeLog-pr-4140.yml new file mode 100644 index 000000000000..068e6335ec71 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4140.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {bugfix: saunas are no longer burning hot} +delete-after: true From d2a9fcf8781fc7c61675faca00927a3291190f0b Mon Sep 17 00:00:00 2001 From: MemeSnorfer <116136632+MemeSnorfer@users.noreply.github.com> Date: Thu, 6 Feb 2025 21:46:21 -0800 Subject: [PATCH 252/330] Cheaper Vipers (#4105) ## About The Pull Request Lowers the price of the civilian Viper revolver to 1500cr (from 2500cr) and the military Viper revolver to 1750cr (from 3000cr). ## Why It's Good For The Game These guns were way overpriced for their actual worth. Similarly priced guns such as the Rattlesnake (2500cr) and Cobra (3000cr) *severely* outperforms the Viper in nearly any combat scenario. ## Changelog :cl: balance: Lowers the price of the civilian Viper revolver to 1500cr (from 2500cr) and the military Viper revolver to 1750cr (from 3000cr). /:cl: --- code/modules/cargo/packs/gun.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 75757f2eee43..fe5dd87de7cb 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -146,7 +146,7 @@ /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 + cost = 1500 contains = list(/obj/item/storage/guncase/pistol/viper) faction = /datum/faction/syndicate/scarborough_arms faction_discount = 5 @@ -154,7 +154,7 @@ /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 + cost = 1750 contains = list(/obj/item/storage/guncase/pistol/a357) faction = /datum/faction/syndicate/scarborough_arms faction_discount = 0 From c2ea7a9a09e65265ba963670b9e197f1c88e052b Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 6 Feb 2025 23:57:26 -0600 Subject: [PATCH 253/330] Automatic changelog generation for PR #4105 [ci skip] --- html/changelogs/AutoChangeLog-pr-4105.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4105.yml diff --git a/html/changelogs/AutoChangeLog-pr-4105.yml b/html/changelogs/AutoChangeLog-pr-4105.yml new file mode 100644 index 000000000000..63c69c6999b7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4105.yml @@ -0,0 +1,5 @@ +author: MemeSnorfer +changes: + - {balance: Lowers the price of the civilian Viper revolver to 1500cr (from 2500cr) + and the military Viper revolver to 1750cr (from 3000cr).} +delete-after: true From e00378d186f5df5deb25e859bc3cbccc8da8703e Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 7 Feb 2025 10:46:48 -0500 Subject: [PATCH 254/330] Update indie_space.dmm (#4132) ## Changelog :cl: fix: some decal layering and grilles on indie_space have been fixed. /:cl: --- _maps/outpost/indie_space.dmm | 55 ++++++++++++++++------------------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/_maps/outpost/indie_space.dmm b/_maps/outpost/indie_space.dmm index b06d006927b6..6b014fb29f95 100644 --- a/_maps/outpost/indie_space.dmm +++ b/_maps/outpost/indie_space.dmm @@ -336,15 +336,15 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ - dir = 4 - }, /obj/structure/cable/yellow{ icon_state = "0-2" }, -/obj/effect/turf_decal/steeldecal/steel_decals_central6, /obj/machinery/power/apc/auto_name/directional/west, /obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) "bS" = ( @@ -1259,11 +1259,11 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "gY" = ( +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ dir = 4 }, -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) "hb" = ( @@ -1404,7 +1404,7 @@ /obj/structure/cable/yellow{ icon_state = "0-2" }, -/obj/structure/grille/indestructable, +/obj/structure/grille, /turf/open/floor/plating, /area/outpost/maintenance/fore) "hD" = ( @@ -1901,10 +1901,10 @@ icon_state = "0-8" }, /obj/structure/cable/yellow, -/obj/structure/grille/indestructable, /obj/effect/turf_decal/corner_techfloor_gray/full{ dir = 4 }, +/obj/structure/grille, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/starboard) "jR" = ( @@ -1936,8 +1936,8 @@ /turf/open/floor/wood, /area/outpost/crew/library) "jV" = ( -/obj/structure/grille/indestructable, /obj/effect/decal/cleanable/dirt, +/obj/structure/grille, /turf/open/floor/plating/rust, /area/outpost/maintenance/central) "jW" = ( @@ -2317,11 +2317,6 @@ /obj/structure/railing/thin, /turf/open/floor/plasteel/patterned/grid, /area/outpost/cargo) -"lz" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/grille/indestructable, -/turf/open/floor/plating, -/area/outpost/maintenance/starboard) "lD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -2749,7 +2744,7 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "np" = ( -/obj/structure/grille/indestructable, +/obj/structure/grille, /turf/open/floor/plating, /area/outpost/maintenance/central) "nr" = ( @@ -2827,8 +2822,8 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "nN" = ( -/obj/structure/grille/indestructable, /obj/structure/cable/yellow, +/obj/structure/grille, /turf/open/floor/plating, /area/outpost/maintenance/starboard) "nO" = ( @@ -3512,12 +3507,12 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "qX" = ( -/obj/structure/grille/indestructable, /obj/structure/cable/yellow{ icon_state = "0-2" }, /obj/structure/cable/yellow, /obj/structure/disposalpipe/segment, +/obj/structure/grille, /turf/open/floor/plating, /area/outpost/maintenance/fore) "qY" = ( @@ -3794,10 +3789,10 @@ /obj/structure/cable/yellow{ icon_state = "0-2" }, -/obj/structure/grille/indestructable, /obj/effect/turf_decal/corner_techfloor_gray{ dir = 6 }, +/obj/structure/grille, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/starboard) "sM" = ( @@ -4631,10 +4626,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) "wR" = ( @@ -5264,10 +5259,10 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, -/obj/structure/grille/indestructable, /obj/effect/turf_decal/corner_techfloor_gray{ dir = 10 }, +/obj/structure/grille, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/starboard) "Ao" = ( @@ -5524,7 +5519,7 @@ /area/outpost/crew/bar) "Br" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/grille/indestructable, +/obj/structure/grille, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Bs" = ( @@ -5621,13 +5616,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ dir = 1 }, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) "BU" = ( @@ -5735,7 +5730,6 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "Ct" = ( -/obj/structure/grille/indestructable, /obj/structure/cable/yellow{ icon_state = "0-4" }, @@ -5751,6 +5745,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/obj/structure/grille, /turf/open/floor/plating, /area/outpost/maintenance/central) "Cx" = ( @@ -6255,10 +6250,10 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/outpost/vacant_rooms) "Fo" = ( @@ -6658,7 +6653,7 @@ /turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms/office) "Hv" = ( -/obj/structure/grille/indestructable, +/obj/structure/grille, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Hw" = ( @@ -8188,7 +8183,6 @@ /turf/open/floor/carpet/royalblack, /area/outpost/crew/bar) "PF" = ( -/obj/structure/grille/indestructable, /obj/structure/cable/yellow{ icon_state = "0-4" }, @@ -8201,6 +8195,7 @@ }, /obj/effect/turf_decal/industrial/warning/dust, /obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/grille, /turf/open/floor/plating, /area/outpost/maintenance/fore) "PH" = ( @@ -8264,11 +8259,11 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "PT" = ( -/obj/structure/grille/indestructable, /obj/structure/cable/yellow, /obj/structure/cable/yellow{ icon_state = "0-4" }, +/obj/structure/grille, /turf/open/floor/plating, /area/outpost/maintenance/fore) "PW" = ( @@ -9454,10 +9449,10 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "VP" = ( -/obj/structure/grille/indestructable, /obj/structure/cable/yellow{ icon_state = "0-8" }, +/obj/structure/grille, /turf/open/floor/plating, /area/outpost/maintenance/fore) "VT" = ( @@ -9545,7 +9540,6 @@ /turf/open/floor/plasteel/patterned, /area/outpost/hallway/central) "Wl" = ( -/obj/structure/grille/indestructable, /obj/structure/cable/yellow{ icon_state = "0-8" }, @@ -9554,6 +9548,7 @@ }, /obj/effect/turf_decal/industrial/warning/dust, /obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/grille, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Wo" = ( @@ -19425,7 +19420,7 @@ GC hy iB nN -lz +ri xl lG uK From 2c2e844e90c7e9977704dff6f2ebd6ccd7d5a254 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 7 Feb 2025 09:58:36 -0600 Subject: [PATCH 255/330] Automatic changelog generation for PR #4132 [ci skip] --- html/changelogs/AutoChangeLog-pr-4132.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4132.yml diff --git a/html/changelogs/AutoChangeLog-pr-4132.yml b/html/changelogs/AutoChangeLog-pr-4132.yml new file mode 100644 index 000000000000..9b1c602360a8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4132.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {bugfix: some decal layering and grilles on indie_space have been fixed.} +delete-after: true From 7f3cec6f809fb4f5fca7e5f85759984c94345fae Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 7 Feb 2025 10:48:43 -0500 Subject: [PATCH 256/330] satched/backpack storage size buff (#4138) ## About The Pull Request increase both of them by 1 size multiplier thingy ## Why It's Good For The Game satchels still feel very restrictive backpacks should remain competitive. ## Changelog :cl: balance:satchel / backpack have marginally more storage space /:cl: --- code/__DEFINES/storage.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/storage.dm b/code/__DEFINES/storage.dm index ac23c09538e6..1548038c9b13 100644 --- a/code/__DEFINES/storage.dm +++ b/code/__DEFINES/storage.dm @@ -82,9 +82,9 @@ GLOBAL_LIST_INIT(default_weight_class_to_volume, list( // max_volume for storages #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) //3 bulky items -#define STORAGE_VOLUME_DUFFLEBAG (DEFAULT_VOLUME_NORMAL * 10) //~1.4X backpack, 5 bulky items +#define STORAGE_VOLUME_SATCHEL (DEFAULT_VOLUME_NORMAL * 5) //5 normal items +#define STORAGE_VOLUME_BACKPACK (DEFAULT_VOLUME_NORMAL * 7) //3 bulky items, 1 normal item +#define STORAGE_VOLUME_DUFFLEBAG (DEFAULT_VOLUME_NORMAL * 10) //~1.25X backpack, 5 bulky items #define STORAGE_VOLUME_BAG_OF_HOLDING (DEFAULT_VOLUME_NORMAL * 10) //Whitelist for the suit storage slot on medical suits From 2cf2af9eaf8da2fe2e9ea82784b27e94f48c59bf Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 7 Feb 2025 17:39:45 -0500 Subject: [PATCH 257/330] Remasters Bombed Airbase (#3973) ## About The Pull Request Remaps Bombed Airbase to be closer to modern mapping standards. It was old and crusty. ![StrongDMM-2025-01-07 17 27 47](https://github.com/user-attachments/assets/89039c3a-c6d6-4988-869e-5c4e177dad44) ![StrongDMM-2025-01-07 17 27 49](https://github.com/user-attachments/assets/504194ac-e1fe-45b5-936b-f9f49557ef5a) ![image](https://github.com/user-attachments/assets/0c4604a5-a7fe-4767-8230-35298ae889f7) ## Why It's Good For The Game This ruin is old and crusty and should be way better (it is now) ## Changelog :cl: add: Bombed Airbase has been remapped. /:cl: --- .../JungleRuins/jungle_bombed_starport.dmm | 30755 +++++++++------- code/datums/ruins/jungle.dm | 6 +- code/game/area/areas/ruins/jungle.dm | 44 +- .../porta_turret/portable_turret_types.dm | 4 + code/game/turfs/closed/wall/reinf_walls.dm | 5 - code/game/turfs/open/floor/plating/jungle.dm | 67 + .../simple_animal/hostile/giant_spider.dm | 7 - .../ruins/jungleplanet_ruin_code/airbase.dm | 36 + shiptest.dme | 1 + 9 files changed, 18074 insertions(+), 12851 deletions(-) create mode 100644 code/modules/ruins/jungleplanet_ruin_code/airbase.dm diff --git a/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm b/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm index 1afed51826aa..96a2252a839e 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm @@ -1,455 +1,719 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ab" = ( -/obj/structure/chair{ +"aa" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, +/obj/structure/railing/thin, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, /area/overmap_encounter/planetoid/jungle/explored) -"ac" = ( -/obj/structure/spacevine, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +"ab" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer2, +/obj/machinery/door/airlock/grunge, +/obj/structure/cable{ + icon_state = "1-2" }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"ac" = ( +/obj/item/rack_parts, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"ae" = ( +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "ag" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"aj" = ( -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam2" +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 + }, +/obj/structure/chair{ + dir = 1 }, -/area/ruin/jungle/starport) -"an" = ( -/obj/structure/door_assembly, /obj/structure/spider/stickyweb, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"as" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/girder/displaced, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"ah" = ( +/obj/structure/flora/tree/jungle{ + icon_state = "tree8" }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"av" = ( +"ai" = ( +/obj/structure/platform/military/corner{ + dir = 4 + }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"aj" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden, /obj/structure/spider/stickyweb, -/turf/open/floor/wood{ - icon_state = "wood-broken4" +/obj/structure/cable{ + icon_state = "1-2" }, -/area/ruin/jungle/starport) -"az" = ( -/obj/structure/railing, -/turf/open/floor/plasteel/stairs{ +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ak" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, +/obj/effect/turf_decal/road/stripes{ + dir = 4 + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"aD" = ( +"al" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"an" = ( /obj/structure/spacevine, -/obj/effect/turf_decal/weather/dirt{ - dir = 5 +/obj/structure/spacevine, +/obj/structure/platform/military{ + dir = 8 }, -/turf/open/water/jungle, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"aF" = ( -/obj/structure/girder, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +"as" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/concrete, +/area/ruin/jungle/airbase/engineering) +"av" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"ay" = ( +/obj/structure/spacevine, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"aB" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"aC" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 }, -/area/ruin/jungle/starport) -"aH" = ( /obj/structure/spider/stickyweb, -/obj/machinery/light/broken/directional/east, +/obj/structure/spider/cocoon, /turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"aF" = ( +/obj/item/reagent_containers/food/snacks/spidereggs{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"aJ" = ( -/obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/mineral/plastitanium, +"aI" = ( +/obj/structure/platform/military, +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "aK" = ( -/obj/structure/spacevine, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"aL" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"aO" = ( +/obj/item/ammo_casing/spent/pistol_brass, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"aP" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-2" - }, +"aM" = ( /obj/structure/cable{ - icon_state = "1-8" + icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/door/airlock/grunge{ + name = "Hangar Bay"; + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"aN" = ( +/obj/structure/spacevine, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"aO" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1 }, -/turf/open/floor/plating, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "aQ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/cable{ + icon_state = "4-8" }, -/area/overmap_encounter/planetoid/jungle/explored) +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"aS" = ( +/turf/closed/wall, +/area/ruin/jungle/airbase) "aT" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, +/obj/structure/spider/stickyweb, +/obj/item/stack/sheet/cotton/cloth, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"aY" = ( -/obj/structure/railing{ +"ba" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/shed) +"bb" = ( +/obj/item/stack/ore/salvage/scrapplasma/five, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"bc" = ( +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-10" }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"aZ" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/vault, -/area/ruin/jungle/starport) "bd" = ( +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"be" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase) +"bf" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/spacevine/dense, /turf/open/floor/plasteel/stairs{ - dir = 8 + dir = 2; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) -"bf" = ( -/obj/structure/railing{ +"bg" = ( +/obj/structure/filingcabinet/double/grey{ dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/reinforced, -/obj/item/storage/fancy/donut_box, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"bh" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/item/folder, +/obj/item/folder, +/obj/item/folder, +/obj/item/clipboard, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/obj/item/pen/fountain, +/obj/item/pen/blue, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) "bi" = ( -/obj/machinery/door/airlock/hatch, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"bm" = ( -/obj/structure/railing{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/tower) +"bj" = ( +/obj/structure/cable{ + icon_state = "2-5" }, -/obj/structure/spacevine/dense, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/structure/cable{ + icon_state = "1-2" }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) +"bk" = ( +/obj/item/stack/sheet/cotton/cloth, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"bl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/grunge{ + name = "Engineering" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/engineering) "bn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/spacevine, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"bo" = ( +/obj/item/stack/ore/salvage/scrapplasma/five, /obj/structure/spider/stickyweb, -/obj/structure/spider/cocoon, -/turf/open/floor/plating/rust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) +"bp" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/ruin/jungle/airbase/turrets) +"bq" = ( +/obj/structure/chair{ + dir = 8; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) "bs" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8 +/obj/effect/turf_decal/industrial/stand_clear/white{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 4 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/plasma) +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) "bt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/chair/stool{ + dir = 1 + }, /obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"bv" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"bu" = ( -/obj/structure/flora/rock/pile, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/dorms) +"bw" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" - }, +/turf/closed/wall, /area/overmap_encounter/planetoid/jungle/explored) -"by" = ( -/obj/structure/spacevine, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"bz" = ( +/obj/effect/turf_decal/corner/opaque/orange/three_quarters, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"bC" = ( +/obj/machinery/light/directional/south, +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"bD" = ( +/obj/structure/toilet{ + pixel_x = -8; + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"bA" = ( -/obj/structure/railing{ - dir = 10 +/obj/structure/mirror{ + pixel_y = 28; + pixel_x = 8 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/sink{ + pixel_y = 17; + pixel_x = 9 }, -/area/overmap_encounter/planetoid/jungle/explored) -"bD" = ( -/obj/structure/railing, -/turf/open/floor/plasteel/stairs/old{ - dir = 8 +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/dorms) +"bF" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/grunge{ + name = "Armory" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/armory) +"bG" = ( +/obj/structure/spacevine, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"bF" = ( -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"bH" = ( -/obj/item/chair, -/turf/open/floor/plasteel, +"bI" = ( +/obj/structure/flora/junglebush/large, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"bK" = ( -/obj/structure/flora/rock/jungle, +"bL" = ( /obj/structure/spider/stickyweb, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +/mob/living/simple_animal/hostile/poison/giant_spider, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"bL" = ( -/obj/effect/turf_decal/arrows{ +"bM" = ( +/obj/structure/window/reinforced{ dir = 8 }, -/obj/structure/spacevine, -/turf/open/floor/plating/rust, +/obj/effect/spawner/random/trash/crushed_can, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"bN" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"bM" = ( -/obj/effect/decal/cleanable/blood/drip, +"bQ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg{ + wander = 0 + }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"bN" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"bP" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"bT" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"bR" = ( +/obj/structure/closet/firecloset/full, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) "bU" = ( -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland1" +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/platform/military{ + dir = 1 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) "bX" = ( -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/platform/military/corner{ + dir = 8 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"bY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "bZ" = ( -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 }, +/obj/effect/turf_decal/weather/dirt/corner, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"ce" = ( -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"ca" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/dorms) +"cb" = ( +/obj/machinery/suit_storage_unit/industrial/atmos_firesuit, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"cc" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/decal/cleanable/food/salt, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"cd" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"cn" = ( -/obj/structure/spacevine, -/obj/structure/spider/stickyweb, -/obj/structure/flora/grass/jungle, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"cg" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/green/hidden, +/obj/structure/cable{ + icon_state = "1-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"cp" = ( -/obj/structure/spacevine, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +/obj/structure/cable{ + icon_state = "1-4" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"cq" = ( +"cj" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/dorms) +"ck" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"cm" = ( +/obj/structure/spider/stickyweb, +/obj/item/reagent_containers/food/snacks/meat/slab/human{ + pixel_x = 7; + pixel_y = -5 + }, +/obj/structure/spider/cocoon, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"co" = ( /obj/structure/flora/grass/jungle, /obj/structure/flora/junglebush/b, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"cu" = ( -/obj/structure/railing{ - dir = 8 +"cp" = ( +/obj/structure/railing/thin{ + dir = 9 }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/filingcabinet/double/grey, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"cr" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 2 }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/shed) +"cs" = ( +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_x = 6; + pixel_y = -6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) "cv" = ( /obj/effect/turf_decal/weather/dirt{ dir = 6 }, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"cy" = ( -/obj/effect/decal/cleanable/vomit/old, -/obj/effect/decal/remains/human, -/obj/effect/decal/cleanable/blood/old{ - icon_state = "floor5-old" - }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"cw" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine{ + pixel_x = -32 }, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "cz" = ( -/obj/structure/sign/syndicate{ - pixel_x = 32 +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"cA" = ( +/obj/structure/spacevine, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 1 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"cB" = ( +/obj/structure/platform/military{ + dir = 8 }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"cE" = ( -/obj/effect/decal/cleanable/shreds, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "panelscorched" +"cC" = ( +/obj/machinery/atmospherics/components/trinary/mixer/layer2, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/hangar) +"cD" = ( +/obj/machinery/door/poddoor{ + id = "bshy2"; + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "balls" + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) "cF" = ( -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"cH" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave, -/turf/open/floor/plasteel/dark, -/area/overmap_encounter/planetoid/jungle/explored) -"cO" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"cQ" = ( -/obj/machinery/shower{ - dir = 4; - desc = "An old shower. It looks rusted." - }, -/obj/structure/mirror{ - pixel_y = 30 +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi' }, -/obj/machinery/light/floor, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"cT" = ( -/mob/living/simple_animal/hostile/poison/giant_spider/nurse/midwife, -/turf/open/floor/plating{ - icon_state = "platingdmg1" +/area/ruin/jungle/airbase/engineering) +"cG" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 }, -/area/ruin/jungle/starport) -"cW" = ( -/obj/machinery/computer/security{ - dir = 4 +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"cX" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"cH" = ( +/obj/structure/platform/military{ + dir = 1 }, /obj/structure/spacevine/dense, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/spacevine{ + pixel_y = -32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"da" = ( -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland9" +"cI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"cL" = ( +/obj/effect/turf_decal/industrial/stand_clear/red{ + dir = 4 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"dc" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/plasteel/dark, +"cM" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"dd" = ( -/obj/structure/flora/rock/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"cP" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "radiation"; + pixel_y = 4 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"df" = ( +"cS" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/corner/transparent/syndiered/border, /obj/structure/spacevine, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"cX" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "radiation"; + pixel_x = -4; + pixel_y = 4 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"dg" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"da" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"dj" = ( -/obj/effect/turf_decal/borderfloor/corner{ +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/tower) +"dc" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/concrete, +/area/ruin/jungle/airbase/engineering) +"de" = ( +/obj/structure/window/reinforced{ dir = 4 }, -/obj/structure/spacevine, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"do" = ( -/obj/item/stack/sheet/mineral/plastitanium, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/closet/secure_closet/security{ + populate = 0; + icon_state = "syndicate"; + name = "operative's locker"; + opened = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"dr" = ( -/obj/effect/decal/cleanable/plastic, -/turf/open/floor/concrete{ - light_range = 2 +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"df" = ( +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"dg" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/effect/decal/cleanable/oil{ + icon_state = "streak3" }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"dt" = ( -/obj/structure/railing{ - dir = 8 +"di" = ( +/obj/item/radio/intercom/table{ + dir = 8; + pixel_x = -5; + pixel_y = 3 + }, +/obj/structure/table/reinforced, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"dj" = ( +/turf/open/floor/concrete, +/area/ruin/jungle/airbase/engineering) +"dk" = ( +/obj/structure/platform/military{ + dir = 6 }, -/obj/item/shard, -/turf/open/floor/plasteel/stairs/left, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) +"dm" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"dp" = ( +/obj/effect/decal/cleanable/chem_pile, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/jungle/airbase) +"dq" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/atmospherics/pipe/manifold4w/purple/hidden, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/engineering) +"ds" = ( +/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) "du" = ( /obj/structure/cable{ icon_state = "4-8" @@ -457,842 +721,1459 @@ /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 4 }, -/turf/open/floor/plasteel/stairs/mid{ - dir = 4 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) "dv" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/turf_decal/weather/dirt{ + dir = 9 }, +/obj/structure/spacevine, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"dw" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/ruin/jungle/starport) "dx" = ( -/turf/open/floor/plasteel/stairs, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" + }, /area/overmap_encounter/planetoid/jungle/explored) "dz" = ( -/obj/effect/decal/cleanable/oil, -/obj/structure/railing, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/machinery/modular_computer/console/preset/command{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) "dA" = ( -/obj/structure/spacevine, -/obj/effect/turf_decal/weather/dirt, -/turf/open/water/jungle, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/barricade/sandbags, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "dB" = ( -/obj/structure/table, -/obj/structure/spider/stickyweb, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"dC" = ( -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/obj/item/reagent_containers/food/snacks/spidereggs{ + pixel_x = 5; + pixel_y = 4 }, -/area/ruin/jungle/starport) +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"dC" = ( +/obj/effect/gibspawner/generic/animal, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"dE" = ( +/obj/structure/chair/comfy/shuttle{ + name = "grav couch"; + dir = 2; + pixel_y = 5; + desc = "A comfortable seat designed to keep the seated from slipping under while partaking in intense manuevers" + }, +/mob/living/simple_animal/hostile/human/syndicate/civilian, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/hangar) "dF" = ( -/obj/structure/spacevine, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/med) +"dH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "dI" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/stairs/mid{ - dir = 1 +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/spacevine/dense, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' + }, +/area/overmap_encounter/planetoid/jungle/explored) +"dJ" = ( +/obj/structure/spacevine, +/obj/structure/platform/military{ + dir = 6 + }, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"dM" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 }, +/obj/structure/spacevine/dense, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) "dO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/plating/rust, +/obj/structure/flora/tree/jungle, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "dP" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ruin/jungle/starport) -"dS" = ( -/obj/effect/decal/cleanable/insectguts, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/area/ruin/jungle/airbase/shed) +"dQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"dR" = ( +/obj/item/chair, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"dV" = ( -/obj/effect/decal/cleanable/glass, +"dS" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/corner/transparent/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase) +"dT" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/chair, +/mob/living/simple_animal/hostile/poison/giant_spider/nurse, /obj/structure/spider/stickyweb, -/obj/item/stack/cable_coil/cut/red, -/obj/machinery/light/broken/directional/west, +/obj/item/radio/intercom/directional/east, +/obj/item/ammo_box/magazine/m57_39_sidewinder{ + pixel_y = 9; + pixel_x = 3; + start_empty = 1 + }, /turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"dW" = ( -/obj/effect/turf_decal/arrows, -/obj/structure/spacevine, -/turf/open/floor/concrete{ - light_range = 2 +/area/ruin/jungle/airbase/dorms) +"dU" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"dZ" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/engineering, -/obj/machinery/light/small/broken/directional/west, -/turf/open/floor/wood, -/area/ruin/jungle/starport) -"eb" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"dV" = ( +/obj/structure/cable{ + icon_state = "1-8" }, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"dX" = ( +/obj/structure/platform/military, /obj/effect/turf_decal/industrial/warning{ - dir = 4 + dir = 8 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/plasma) -"ec" = ( -/obj/structure/railing/corner{ - dir = 1 +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/area/overmap_encounter/planetoid/jungle/explored) +"ea" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 4 }, +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) +"eb" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"ec" = ( +/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/grid, +/area/ruin/jungle/airbase/cargo) "ed" = ( -/turf/closed/wall, -/area/overmap_encounter/planetoid/jungle/explored) -"eh" = ( -/obj/structure/flora/junglebush/b, -/obj/structure/flora/junglebush/c, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg{ + wander = 0 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ei" = ( -/obj/structure/reagent_dispensers/water_cooler, +"ee" = ( /obj/structure/spider/stickyweb, -/obj/machinery/light/broken/directional/west, -/turf/open/floor/plasteel, +/obj/machinery/shower{ + pixel_y = 19 + }, +/turf/open/floor/plasteel/mono/dark/jungleplanet, /area/overmap_encounter/planetoid/jungle/explored) -"en" = ( -/obj/structure/railing, -/obj/structure/railing{ - dir = 1 +"ef" = ( +/obj/structure/railing/thin{ + dir = 6 }, -/turf/open/floor/plasteel/stairs{ +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ dir = 4 }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"eg" = ( +/obj/effect/turf_decal/road/stripes{ + dir = 8 + }, +/obj/effect/turf_decal/road{ + dir = 9 + }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) +"eh" = ( +/obj/structure/safe/floor, +/obj/item/spacecash/bundle/c1000, +/obj/item/spacecash/bundle/c1000, +/obj/item/gun/ballistic/automatic/pistol/himehabu, +/obj/item/ammo_box/magazine/m22lr_himehabu, +/obj/item/ammo_box/magazine/m22lr_himehabu, +/obj/item/storage/pill_bottle/stimulant, +/obj/item/storage/pill_bottle/stimulant, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) +"ek" = ( +/obj/structure/platform/military/corner, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"el" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 1 + }, +/obj/effect/spawner/random/trash/garbage, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) "ep" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/vault, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"et" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland1" +"er" = ( +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) +"es" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"et" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) "ev" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"ew" = ( -/obj/structure/spacevine, -/mob/living/simple_animal/hostile/poison/giant_spider/nurse, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/structure/spider/stickyweb, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) "ex" = ( -/obj/structure/curtain, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"eA" = ( -/obj/structure/flora/junglebush/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"eB" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ruin/jungle/starport) -"eC" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland7" +"ey" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/box/white, +/obj/machinery/light/broken/directional/west, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/med) +"ez" = ( +/obj/structure/platform/military{ + dir = 8 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"eG" = ( -/turf/closed/wall/mineral/plastitanium, +"eA" = ( +/obj/structure/flora/junglebush/b, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"eK" = ( -/obj/structure/window/plasma/reinforced{ - dir = 1 +"eE" = ( +/obj/structure/railing/thin{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' }, -/obj/structure/cable{ - icon_state = "1-2" +/area/ruin/jungle/airbase/hangar) +"eF" = ( +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"eG" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ruin/jungle/airbase) +"eH" = ( +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 8 }, -/turf/open/floor/plating, -/area/ruin/jungle/starport) +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"eJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/ruin, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"eM" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/med) "eO" = ( -/obj/structure/railing{ +/obj/structure/platform/military{ dir = 1 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) +"eP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) "eQ" = ( -/obj/structure/railing, -/obj/structure/spacevine/dense, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/industrial/caution, +/obj/item/analyzer, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"eS" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"eV" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 4 }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"eX" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/flora/junglebush/large, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"eR" = ( -/obj/structure/table, -/obj/item/toy/eightball, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"eU" = ( +"eZ" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/platform/military, /obj/structure/spacevine, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"fa" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, /obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"fc" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/floor/plating, +/area/ruin/jungle/airbase/tower) +"fd" = ( +/obj/structure/spacevine{ + pixel_x = -32 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"eV" = ( -/obj/effect/decal/cleanable/molten_object, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/radiation{ - rad_power = 66; - rad_range = 2 - }, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" +"fg" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/item/kirbyplants/random{ + pixel_x = 9 }, -/area/overmap_encounter/planetoid/jungle/explored) -"eZ" = ( -/obj/item/chair, /obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"fc" = ( -/obj/structure/railing{ +/area/ruin/jungle/airbase/dorms) +"fi" = ( +/obj/effect/turf_decal/techfloor{ dir = 10 }, -/obj/structure/railing{ +/obj/effect/turf_decal/techfloor/corner{ dir = 4 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/platform/military, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"fl" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/obj/machinery/button/door{ + pixel_y = 23; + pixel_x = 7; + name = "shutter control"; + id = "bsps" }, -/area/overmap_encounter/planetoid/jungle/explored) -"fd" = ( -/obj/structure/chair{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"fm" = ( +/obj/structure/platform/military/corner{ + dir = 1 }, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/rust, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"fg" = ( -/obj/structure/table/reinforced, -/turf/open/floor/plating/rust, +"fp" = ( +/obj/structure/platform/military, +/obj/structure/spacevine, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"fi" = ( -/obj/machinery/door/airlock{ - dir = 4 - }, -/obj/structure/barricade/wooden/crude, +"fq" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/green/hidden, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/jungle/starport) -"fl" = ( -/obj/structure/spacevine, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"fn" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"fp" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"fs" = ( +/obj/effect/turf_decal/industrial/caution, +/obj/structure/cable{ + icon_state = "4-8" }, -/area/overmap_encounter/planetoid/jungle/explored) +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) "ft" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 +/obj/structure/platform/military, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plasteel/stairs{ + dir = 4; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) "fv" = ( -/obj/machinery/computer/crew{ +/obj/effect/turf_decal/syndicateemblem/bottom/left{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"fx" = ( -/obj/item/geiger_counter, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/concrete{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"fw" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 16; + pixel_x = -6 + }, +/obj/item/door_seal{ + pixel_y = -1; + pixel_x = -8 }, +/obj/item/door_seal{ + pixel_y = 6; + pixel_x = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"fx" = ( +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) "fz" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"fA" = ( -/obj/structure/door_assembly, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"fB" = ( -/obj/machinery/atmospherics/components/binary/valve{ - dir = 1 +"fD" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"fE" = ( +/obj/structure/table, +/obj/structure/spider/stickyweb, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 11; + pixel_x = -8 + }, +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"fJ" = ( +/obj/effect/turf_decal/techfloor{ dir = 1 }, -/obj/structure/railing/corner{ +/obj/effect/turf_decal/techfloor/corner{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"fM" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 }, -/turf/open/floor/plating, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"fC" = ( -/obj/structure/railing{ - dir = 4 +"fN" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"fQ" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/obj/machinery/door/airlock{ + name = "Bunkhouse" }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/dorms) +"fR" = ( +/obj/structure/cable{ + icon_state = "2-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"fD" = ( -/obj/item/chair, -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"fE" = ( -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 5 }, -/area/overmap_encounter/planetoid/jungle/explored) -"fJ" = ( -/obj/structure/rack, -/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" = ( -/turf/open/floor/plasteel/stairs/left{ - dir = 1 +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"fS" = ( +/obj/effect/turf_decal/road{ + dir = 4 }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "fT" = ( -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"fU" = ( +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" }, -/turf/open/floor/plating/rust, +/area/ruin/jungle/airbase) +"fV" = ( +/obj/effect/turf_decal/road/stripes{ + dir = 1 + }, +/obj/effect/turf_decal/road{ + dir = 5 + }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "fW" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 }, -/obj/structure/sign/warning/gasmask{ - pixel_y = 32 - }, -/obj/machinery/button/door{ - id = "jbs3"; - name = "Fuel Stores"; - pixel_x = -24; - pixel_y = 22 +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plating, -/area/ruin/jungle/starport/plasma) +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) "fZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"gb" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "radiation"; + pixel_x = -2; + pixel_y = 5 + }, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"gc" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "platingdmg1" +/obj/structure/cable{ + icon_state = "1-2" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"gf" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 8 +"gd" = ( +/obj/structure/railing/thin{ + dir = 5 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"ge" = ( +/obj/structure/window/reinforced{ + dir = 1 }, -/turf/open/floor/plating/rust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"gf" = ( +/obj/effect/turf_decal/road, +/obj/structure/barricade/sandbags, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"gi" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ +"gg" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/right{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"gh" = ( +/obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, +/obj/effect/turf_decal/borderfloorblack{ dir = 8 }, -/turf/open/floor/concrete{ - light_range = 2 +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"gn" = ( -/obj/structure/spacevine, -/obj/structure/spacevine, -/turf/open/floor/concrete{ - light_range = 2 +"gl" = ( +/obj/structure/table, +/obj/item/clipboard{ + pixel_y = 2; + pixel_x = -3 }, -/area/overmap_encounter/planetoid/jungle/explored) -"gp" = ( -/obj/effect/turf_decal/industrial/warning{ +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"gm" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden{ dir = 4 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Air Conditioner" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/dorms) +"go" = ( +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"gq" = ( +/obj/effect/spawner/random/trash/mess, +/obj/effect/turf_decal/corner/opaque/syndiered/full, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"gs" = ( +/obj/structure/closet/secure_closet/engineering_welding{ + anchored = 1 }, +/obj/structure/platform/military, +/obj/structure/spacevine, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"gu" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "gv" = ( -/obj/structure/spacevine/dense, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"gz" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"gA" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 11; + pixel_x = -7 + }, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/spawner/random/trash/crushed_can, +/obj/item/blackbox{ + pixel_y = 4; + pixel_x = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"gB" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/armory) "gC" = ( /obj/effect/turf_decal/weather/dirt{ dir = 4 }, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"gG" = ( +"gE" = ( +/obj/effect/turf_decal/industrial/warning, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) -"gN" = ( +"gF" = ( /obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/nurse/midwife, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"gO" = ( -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"gH" = ( +/obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, +/obj/machinery/shower{ + dir = 4 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/overmap_encounter/planetoid/jungle/explored) +"gJ" = ( +/obj/structure/railing/thin{ + dir = 4 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"gL" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 }, -/obj/structure/rack, -/turf/open/floor/vault, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"gM" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "gP" = ( /obj/structure/fluff/fokoff_sign{ icon_state = "fokrads"; desc = "A crudely made sign with the universal radiation hazard symbol painted onto it." }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "gR" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) "gT" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/turf/open/floor/concrete{ - light_range = 2 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "gU" = ( -/obj/effect/decal/cleanable/shreds, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"gV" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland4" +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider/hunter, +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"gW" = ( -/turf/open/floor/plasteel/stairs/left, -/area/overmap_encounter/planetoid/jungle/explored) -"gX" = ( -/obj/effect/turf_decal/borderfloor{ +"gV" = ( +/obj/effect/turf_decal/syndicateemblem/middle/left{ dir = 4 }, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) "gY" = ( -/obj/structure/flora/rock, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland8" +/obj/structure/cable{ + icon_state = "4-8" }, +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"hb" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 +"gZ" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"ha" = ( +/obj/structure/table, +/obj/item/radio/intercom/table{ + dir = 1 }, -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/effect/turf_decal/industrial/warning{ +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase) +"hc" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ dir = 1 }, -/obj/machinery/light/directional/west, -/obj/item/wrench/combat, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/plasma) +/obj/machinery/telecomms/server{ + pixel_y = 4 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) +"hd" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush/c, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) "he" = ( -/obj/machinery/door/airlock/command{ - name = "Flight Control"; +/obj/structure/railing/thin{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ +/obj/structure/railing/thin{ dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"hf" = ( -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/rust, /area/overmap_encounter/planetoid/jungle/explored) -"hh" = ( -/obj/structure/spacevine, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"hj" = ( -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/structure/cable{ - icon_state = "1-10" +"hf" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/item/clothing/under/syndicate/cybersun/officer, +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "hos"; + name = "Cybersun Locker"; + req_access = list(150, 20); + populate = 0 + }, +/obj/item/clothing/suit/cybersun_suit, +/obj/item/clothing/head/soft/cybersun, +/obj/item/clothing/gloves/combat, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) +"hg" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/structure/closet/wall/directional/south, +/obj/item/clothing/shoes/jackboots, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"hj" = ( +/obj/structure/spider/stickyweb, +/obj/machinery/shower{ + dir = 1 }, +/turf/open/floor/plasteel/mono/dark/jungleplanet, /area/overmap_encounter/planetoid/jungle/explored) "hk" = ( -/obj/structure/spacevine, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/cargo) +"hl" = ( /obj/effect/turf_decal/weather/dirt{ dir = 4 }, +/obj/structure/spacevine, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"hp" = ( -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland1" +"hn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"hq" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"hs" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "ht" = ( -/obj/structure/toilet{ - dir = 8 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 }, -/obj/machinery/light/small/broken/directional/north, -/turf/open/floor/plasteel/patterned, -/area/ruin/jungle/starport) -"hy" = ( -/obj/effect/decal/remains/human, -/obj/structure/spider/stickyweb, -/turf/open/floor/mineral/plastitanium, -/area/overmap_encounter/planetoid/jungle/explored) -"hE" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-4" }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"hF" = ( -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/jungle/airbase/tower) +"hv" = ( +/obj/structure/platform/military{ + dir = 1 }, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) +"hw" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"hx" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ruin/jungle/airbase) +"hC" = ( +/obj/structure/chair/bench/orange/directional/west, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"hE" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"hG" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/engine/hydrogen_fuel, +/area/ruin/jungle/airbase/hangar) "hH" = ( -/obj/structure/spacevine, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/platform/military/corner{ + dir = 4 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "hI" = ( -/obj/effect/turf_decal/atmos/plasma, -/obj/structure/railing/corner{ +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"hJ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ dir = 1 }, -/turf/open/floor/plating, +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/machinery/telecomms/receiver{ + pixel_y = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) +"hK" = ( +/obj/structure/platform/military/corner{ + dir = 8 + }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"hJ" = ( -/obj/machinery/vending/games, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/plating, -/area/ruin/jungle/starport) "hL" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/road/stripes{ + dir = 4 + }, +/obj/effect/turf_decal/road{ + dir = 5 }, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/jungle/starport) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) "hM" = ( -/obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/tarantula, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/structure/platform/military{ + dir = 1 }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) "hN" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ruin/jungle/starport) +/obj/structure/reagent_dispensers/beerkeg, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/cargo) "hO" = ( /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) +"hP" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/closet/wall/directional/south, +/obj/item/clothing/under/syndicate/gorlex, +/obj/item/clothing/shoes/jackboots, +/obj/structure/spider/stickyweb, +/obj/machinery/light/broken/directional/west, +/obj/item/ammo_box/magazine/m57_39_sidewinder{ + pixel_y = -3; + pixel_x = -2; + start_empty = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) "hR" = ( -/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/platform/military{ + dir = 1 + }, /obj/structure/spacevine/dense, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating/rust, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"hS" = ( -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, +"hT" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"hU" = ( +/obj/structure/flora/junglebush/c, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = -32 + }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) +"hV" = ( +/obj/machinery/atmospherics/components/binary/valve/digital/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) "hW" = ( -/obj/machinery/computer/mech_bay_power_console{ - dir = 8 +/obj/structure/platform/military/corner{ + dir = 1 }, -/turf/open/floor/vault, -/area/ruin/jungle/starport) +/obj/structure/spacevine, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) "hZ" = ( -/obj/structure/spider/stickyweb, /obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/stairs/mid, -/area/overmap_encounter/planetoid/jungle/explored) -"ib" = ( -/obj/item/stack/sheet/metal, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"ic" = ( -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/structure/sign/warning/gasmask{ - pixel_y = 32 +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" }, -/obj/machinery/light/directional/north, -/turf/open/floor/plating, /area/overmap_encounter/planetoid/jungle/explored) +"ia" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"ib" = ( +/obj/machinery/light/directional/west, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/tower) +"ic" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) "id" = ( -/obj/structure/spacevine, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam5" +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 4 }, -/area/ruin/jungle/starport) -"if" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg2" +/mob/living/simple_animal/hostile/human/syndicate/melee, +/obj/machinery/light/directional/west, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + pixel_x = -9; + id = "bsh1" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"ie" = ( +/obj/structure/platform/military{ + dir = 8 }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ig" = ( -/obj/effect/decal/cleanable/vomit/old, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) "ih" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/fire, /turf/open/floor/engine/hull, -/area/ruin/jungle/starport) +/area/ruin/jungle/airbase) "ii" = ( -/obj/structure/spacevine, -/obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/platform/military{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) "il" = ( -/obj/effect/decal/cleanable/glass/plasma, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/machinery/atmospherics/pipe/manifold/green/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" }, +/obj/structure/spider/stickyweb, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"im" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/spacevine, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) +"in" = ( +/obj/effect/turf_decal/corner/transparent/syndiered/border{ + dir = 8 + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase) "io" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 1 + }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland7" +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"ir" = ( +/obj/structure/platform/military/corner{ + dir = 1 + }, +/obj/structure/flora/grass/jungle/b, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ip" = ( -/obj/structure/railing, -/obj/effect/turf_decal/industrial/warning{ +"it" = ( +/obj/structure/platform/military{ dir = 8 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, +/obj/item/chair, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ir" = ( -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"iu" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer4{ + dir = 6 }, +/obj/machinery/atmospherics/pipe/manifold/orange/visible/layer2{ + dir = 8 + }, +/obj/machinery/meter/atmos/layer4, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"iv" = ( +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/jungle/airbase/tower) +"iw" = ( +/obj/effect/turf_decal/road, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "iz" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) "iB" = ( -/obj/effect/decal/cleanable/molten_object/large, -/obj/effect/radiation{ - rad_power = 66; - rad_range = 2 +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/chair/office{ + dir = 1 }, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland_dug"; - light_color = "#a0ad20"; - light_range = 3 +/obj/structure/cable{ + icon_state = "1-2" }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) "iC" = ( -/obj/structure/railing{ +/obj/structure/window/reinforced{ dir = 8 }, -/obj/structure/spacevine, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/structure/closet/secure_closet/security{ + populate = 0; + icon_state = "syndicate"; + name = "operative's locker"; + opened = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"iM" = ( -/turf/open/floor/plasteel/stairs/left{ +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"iF" = ( +/obj/effect/turf_decal/road/stripes{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"je" = ( -/obj/structure/railing/corner, +"iH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"iL" = ( +/obj/item/clothing/head/helmet/syndie{ + pixel_y = 9 + }, +/obj/item/clothing/suit/armor/vest/syndie{ + pixel_y = -4 + }, +/obj/machinery/light/directional/west, +/obj/item/radio/intercom/directional/north, +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"iM" = ( /obj/structure/spacevine, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 5 + }, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"iN" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged{ + wander = 0 }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"jf" = ( +"iQ" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/layer2{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/hangar) +"iS" = ( +/obj/structure/railing/thin{ + dir = 4 + }, /obj/structure/table, -/obj/item/toy/clockwork_watch, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"jh" = ( -/obj/machinery/door/airlock{ +/obj/item/clipboard{ + pixel_y = -5; + pixel_x = 4 + }, +/obj/item/clipboard{ + pixel_y = -5; + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"iV" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/chair/plastic{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/jungle/starport) -"ji" = ( -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plating/rust, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"jj" = ( -/obj/effect/turf_decal/arrows, -/obj/structure/spacevine/dense, -/turf/open/floor/concrete{ - light_range = 2 +"iZ" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = -32 + }, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"jc" = ( +/obj/structure/table/wood, +/obj/item/book/manual/nuclear{ + pixel_x = 7; + pixel_y = 4 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/jungle/airbase/tower) +"je" = ( +/obj/effect/turf_decal/road/stripes{ + dir = 8 }, +/obj/effect/turf_decal/road, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "jk" = ( -/obj/structure/flora/junglebush, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/closed/wall, +/area/ruin/jungle/airbase/dorms) +"jl" = ( +/obj/effect/turf_decal/road{ + dir = 4 }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "jm" = ( -/obj/structure/frame/computer{ - dir = 4 +/obj/item/reagent_containers/food/snacks/spidereggs{ + pixel_y = 7; + pixel_x = 4 }, -/turf/open/floor/mineral/plastitanium, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"jr" = ( -/obj/effect/radiation{ - rad_power = 66; - rad_range = 2 +"jn" = ( +/obj/structure/flora/junglebush/c, +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = 32 }, -/obj/effect/decal/cleanable/molten_object/large, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland_dug" +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"jp" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/obj/structure/platform/military/corner{ + dir = 1 }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"jr" = ( +/obj/structure/platform/military, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "js" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/structure/spacevine, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/spacevine{ + pixel_y = -32 }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) "ju" = ( /obj/effect/turf_decal/weather/dirt{ @@ -1300,259 +2181,360 @@ }, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"jv" = ( -/obj/effect/decal/cleanable/ash/large, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" - }, -/area/overmap_encounter/planetoid/jungle/explored) "jx" = ( -/obj/structure/flora/junglebush/c, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/syndicateemblem/middle/middle{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"jy" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland1" - }, -/area/overmap_encounter/planetoid/jungle/explored) +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) "jz" = ( +/obj/structure/platform/military/corner, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs/right{ - dir = 4 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"jA" = ( -/obj/effect/decal/cleanable/glass, -/obj/structure/spider/stickyweb, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam4" - }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "jB" = ( -/obj/structure/railing{ +/obj/structure/railing/thin{ + dir = 5 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = -2 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"jD" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ dir = 4 }, -/obj/effect/turf_decal/borderfloor{ - dir = 5 +/obj/item/kirbyplants/random{ + pixel_x = -9 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"jJ" = ( -/obj/structure/spacevine/dense, -/obj/structure/cable{ - icon_state = "5-8" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"jE" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/jungle/airbase/hangar) +"jF" = ( +/obj/structure/spider/stickyweb, +/obj/item/reagent_containers/food/snacks/meat/slab/human{ + pixel_y = 8 }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"jG" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 }, -/area/overmap_encounter/planetoid/jungle/explored) -"jK" = ( -/obj/structure/chair/office{ +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"jH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"jM" = ( -/obj/effect/decal/cleanable/molten_object, -/obj/effect/radiation{ - rad_power = 66; - rad_range = 2 +/turf/open/floor/engine/hydrogen_fuel, +/area/ruin/jungle/airbase/hangar) +"jI" = ( +/obj/effect/turf_decal/syndicateemblem/middle/right{ + dir = 4 }, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"jJ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 6 }, -/area/overmap_encounter/planetoid/jungle/explored) -"jN" = ( -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"jK" = ( +/obj/structure/cable{ + icon_state = "1-6" }, +/obj/structure/floodlight_frame, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"jO" = ( +"jM" = ( +/obj/effect/turf_decal/weather/dirt, /obj/structure/spacevine, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"jR" = ( -/obj/structure/chair/office{ - dir = 8 +"jO" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 4 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"jT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"kf" = ( -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"kg" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland8" +"jQ" = ( +/obj/structure/filingcabinet/double/grey{ + dir = 4; + pixel_x = -9; + density = 0 }, -/area/overmap_encounter/planetoid/jungle/explored) -"kh" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 10 }, -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/plasma) -"ki" = ( -/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/light/broken/directional/west, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"jR" = ( +/obj/structure/girder, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"jS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/armory) +"jT" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/effect/turf_decal/box, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"jX" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-4" }, -/obj/structure/spacevine/dense, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"jY" = ( +/obj/structure/cable{ + icon_state = "6-8" }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"kj" = ( -/obj/structure/spider/stickyweb, -/obj/structure/spider/cocoon{ - icon_state = "cocoon3" +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"kd" = ( +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"kf" = ( +/obj/structure/cable{ + icon_state = "2-4" }, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"kh" = ( +/obj/effect/turf_decal/syndicateemblem/top/right{ + dir = 4 }, +/obj/structure/spacevine, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"ki" = ( +/obj/structure/rack, +/obj/item/stack/sheet/metal/ten, +/obj/item/stack/sheet/glass/twenty, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"kj" = ( +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) "kl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, /obj/structure/chair{ dir = 4 }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"km" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/orange/three_quarters, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"kn" = ( +/obj/structure/closet/crate/rations, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/freezer, +/area/ruin/jungle/airbase/dorms) +"kp" = ( /obj/structure/cable{ - icon_state = "2-9" - }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 + icon_state = "6-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"kn" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"kt" = ( -/obj/effect/decal/remains/human, /obj/structure/spider/stickyweb, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"kq" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"kv" = ( -/obj/structure/railing{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"ku" = ( +/obj/structure/chair/plastic{ + dir = 1 }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "kw" = ( -/obj/effect/decal/cleanable/ash/large, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland5" +/obj/structure/flora/grass/jungle, +/obj/structure/spider/stickyweb, +/obj/structure/spacevine{ + pixel_x = -32 }, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "kx" = ( /obj/structure/closet/firecloset/full{ anchored = 1 }, /obj/item/extinguisher/advanced, -/obj/effect/turf_decal/borderfloor{ +/obj/item/geiger_counter, +/obj/structure/platform/military{ dir = 1 }, -/obj/item/geiger_counter, -/turf/open/floor/plating, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"kz" = ( -/obj/structure/railing/corner, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"kA" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"kG" = ( -/obj/structure/spacevine, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/spacevine{ + pixel_y = -32 }, +/obj/structure/spacevine, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"kH" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" +"kD" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 5 }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"kE" = ( +/obj/structure/flora/junglebush/c, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"kK" = ( -/obj/structure/door_assembly, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating, +"kG" = ( +/obj/structure/railing/thin{ + dir = 1 + }, +/obj/structure/closet/secure_closet/engineering_electrical{ + populate = 0 + }, +/obj/item/stack/cable_coil/red, +/obj/item/stack/cable_coil/red, +/obj/item/stack/cable_coil/red, +/obj/item/stack/cable_coil/red, +/obj/item/stack/cable_coil/red, +/obj/item/stack/cable_coil/red, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"kI" = ( +/obj/effect/turf_decal/weather/dirt/corner, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) "kL" = ( -/obj/effect/turf_decal/number/zero{ - pixel_x = -7; - pixel_y = 32 - }, -/obj/effect/turf_decal/number/three{ - pixel_x = 5; - pixel_y = 32 - }, -/obj/structure{ - desc = "A devastating strike weapon of times past. The mountings seem broken now."; - dir = 4; - icon = 'icons/mecha/mecha_equipment.dmi'; - icon_state = "mecha_missilerack_six"; - name = "ancient missile rack"; - pixel_x = -26; - pixel_y = 11 - }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/platform/military/corner, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"kM" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) "kN" = ( -/obj/structure/spacevine, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/table, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"kO" = ( +/obj/structure/flora/rock/jungle, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) "kP" = ( /obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken/directional/east, -/turf/open/floor/plasteel, +/mob/living/simple_animal/hostile/poison/giant_spider/hunter, +/obj/structure/rack, +/obj/item/towel, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"kX" = ( -/obj/structure/flora/rock/jungle, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"kR" = ( +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 }, +/obj/item/stack/sheet/cotton/cloth, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) +"kT" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"kU" = ( +/obj/structure/crate_shelf, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/cargo) +"kV" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"kX" = ( +/obj/structure/barricade/security{ + layer = 2.89 + }, +/obj/machinery/porta_turret/ship/syndicate/heavy/starport{ + dir = 10; + lethal = 1 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/ruin/jungle/airbase/turrets) +"kY" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/concrete/slab_2, +/area/ruin/jungle/airbase/engineering) +"kZ" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/spider/stickyweb, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/structure/spider/eggcluster, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) "lb" = ( /obj/effect/turf_decal/weather/dirt{ dir = 6 @@ -1562,196 +2544,338 @@ }, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"ll" = ( -/obj/effect/radiation{ - rad_power = 66; - rad_range = 2 - }, -/obj/effect/decal/cleanable/molten_object, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland_dug" +"lc" = ( +/obj/structure/cable{ + icon_state = "2-4" }, -/area/overmap_encounter/planetoid/jungle/explored) -"lm" = ( -/obj/structure/girder/displaced, -/obj/structure/spacevine, -/turf/open/floor/plating{ - icon_state = "platingdmg1" +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 5 }, -/area/ruin/jungle/starport) -"ln" = ( -/obj/structure/railing{ - dir = 10 +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 8 }, -/obj/structure/railing{ +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"le" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half{ dir = 1 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"lf" = ( +/obj/structure/table, +/obj/item/paper_bin, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase) +"lh" = ( +/obj/structure/table, +/obj/item/storage/ration/beef_goulash{ + pixel_y = -2; + pixel_x = 5 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"li" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"ll" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "lo" = ( -/obj/item/stack/cable_coil/cut/red, -/obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"lp" = ( -/obj/item/geiger_counter, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, +/obj/structure/platform/military/corner, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) +"lq" = ( +/turf/open/floor/plasteel/mono/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) "ls" = ( -/obj/machinery/autolathe, -/turf/open/floor/vault, +/obj/structure/platform/ship/corner{ + dir = 8 + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "lu" = ( -/obj/structure/flora/junglebush, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"lw" = ( -/obj/effect/turf_decal/box/corners{ +"ly" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ dir = 8 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"ly" = ( -/obj/structure/spacevine, +/obj/machinery/telecomms/processor, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-4" }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) +"lz" = ( +/obj/structure/cable{ + icon_state = "6-9" }, -/area/overmap_encounter/planetoid/jungle/explored) -"lB" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/glass, /obj/structure/spider/stickyweb, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam2" - }, -/area/overmap_encounter/planetoid/jungle/explored) -"lG" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland1" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"lE" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/item/stack/cable_coil/cut, +/obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/med) "lI" = ( -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) +/obj/structure/chair/bench/red/directional/west, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"lJ" = ( +/obj/structure/toilet{ + pixel_x = -8; + dir = 4; + pixel_y = 7 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/tower) "lM" = ( -/obj/structure/spacevine, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/concrete{ - light_range = 2 +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/jungle/airbase/tower) +"lN" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/middle{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase) +"lO" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/o2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5, +/obj/item/wrench, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"lP" = ( +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"lU" = ( -/obj/effect/turf_decal/box/corners, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"lQ" = ( +/obj/structure/spacevine/dense, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 4 }, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"lV" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/junglebush/b, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"lZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/spacevine, -/obj/structure/cable{ - icon_state = "2-5" +"lX" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"lY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -16 + }, +/obj/structure/salvageable/airbase/cannon, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"ma" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 }, -/turf/open/floor/carpet/black{ - name = "Door mat"; - desc = "Don't forget to get the dirt off you before going in!" +/obj/structure/bed/double, +/obj/structure/curtain/cloth/fancy{ + name = "blood-red curtains" }, -/area/overmap_encounter/planetoid/jungle/explored) -"mc" = ( -/obj/structure/railing{ - dir = 8 +/obj/item/bedsheet/double/brown, +/obj/machinery/light/small/directional/east, +/obj/item/crowbar{ + pixel_x = 2 }, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) +"mb" = ( +/obj/structure/platform/military{ + dir = 1 }, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "me" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt{ +/obj/effect/turf_decal/road{ dir = 1 }, -/turf/open/water/jungle, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) +"mf" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/obj/structure/chair/comfy/shuttle{ + name = "grav couch"; + dir = 4; + pixel_y = 5; + desc = "A comfortable seat designed to keep the seated from slipping under while partaking in intense manuevers" + }, +/obj/machinery/button/door{ + pixel_x = -23; + pixel_y = -9; + dir = 4; + name = "door bolt"; + normaldoorcontrol = 1; + specialfunctions = 4; + id = "s2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) "mg" = ( -/obj/structure/spacevine/dense, -/obj/structure/flora/rock/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/techfloor{ + dir = 1 }, +/obj/effect/turf_decal/techfloor, +/mob/living/simple_animal/hostile/human/syndicate/civilian, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"mh" = ( +/obj/structure/spacevine, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"mj" = ( -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"mk" = ( -/obj/item/rack_parts, -/obj/structure/girder/displaced, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"mq" = ( -/obj/item/shard, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"mi" = ( +/obj/structure/platform/military{ + dir = 8 }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"mu" = ( -/obj/structure/cable{ - icon_state = "4-10" +"mj" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) -"mw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"mz" = ( -/obj/machinery/telecomms/processor, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam2" +"mk" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"mm" = ( +/obj/structure/salvageable/airbase/cannon, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"mn" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/oil{ + icon_state = "streak3" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"mr" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"mt" = ( +/obj/structure/table, +/obj/item/radio/intercom/wideband/table{ + dir = 8 }, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase) +"mv" = ( +/obj/item/stack/cable_coil/cut/random, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"mA" = ( -/obj/structure/railing{ +"mx" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ dir = 1 }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/closet/wall/directional/south, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/under/syndicate, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"my" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/layer2, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 + }, +/obj/structure/sign/warning/incident{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/hangar) +"mz" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/east, +/obj/item/paper_bin{ + pixel_y = 0; + pixel_x = 5 + }, +/obj/item/pen/edagger{ + pixel_x = 4; + pixel_y = 2 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/jungle/airbase/tower) +"mB" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/item/chair, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" + }, +/area/ruin/jungle/airbase) +"mC" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"mD" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) "mE" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1759,605 +2883,1037 @@ /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 4 }, -/turf/open/floor/plasteel/stairs/mid{ - dir = 8 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 4; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) "mF" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/machinery/computer/mech_bay_power_console{ + dir = 2 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/cargo) +"mI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"mK" = ( +/obj/item/reagent_containers/food/snacks/meat/slab/spider, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"mL" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + id_tag = "s2" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase) +"mM" = ( +/obj/structure/cable{ + icon_state = "2-8" }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"mG" = ( -/obj/machinery/door/airlock/glass{ +"mN" = ( +/obj/machinery/power/smes, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/obj/structure/cable{ + icon_state = "1-9" + }, +/obj/structure/cable, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/hangar) +"mP" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ dir = 4 }, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating/rust, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"mR" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/obj/structure/spacevine/dense, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"mI" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +"mU" = ( +/obj/structure/salvageable/airbase/cannon{ + pixel_y = 16 }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"mJ" = ( -/obj/item/stack/sheet/mineral/plastitanium, -/obj/item/stack/sheet/mineral/plastitanium, +"mV" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 + }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"mW" = ( +/obj/structure/platform/military{ + dir = 4 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"mS" = ( -/obj/structure/table, -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"mU" = ( -/obj/structure/cable{ - icon_state = "5-10" +"mY" = ( +/obj/item/rack_parts, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/shed) +"mZ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 }, /obj/structure/spider/stickyweb, -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/structure/spider/cocoon, +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"mW" = ( -/obj/structure/reagent_dispensers/beerkeg, +"na" = ( +/obj/item/rack_parts/shelf, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, -/area/overmap_encounter/planetoid/jungle/explored) +/area/ruin/jungle/airbase/shed) "nb" = ( -/obj/structure/spacevine, -/obj/effect/turf_decal/weather/dirt{ - dir = 8 +/obj/structure/platform/military{ + dir = 4 }, -/turf/open/water/jungle, +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "nc" = ( -/obj/structure/spider/stickyweb, -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"ne" = ( -/obj/structure/spacevine, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/turf_decal/industrial/stand_clear/white{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"nf" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"nd" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = -7 }, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"ne" = ( +/obj/effect/decal/cleanable/food/salt, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"nf" = ( /obj/structure/closet/secure_closet/engineering_welding{ anchored = 1 }, -/turf/open/floor/plating, +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ni" = ( -/obj/structure/table, -/obj/machinery/light/broken/directional/north, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"nj" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +"ng" = ( +/obj/structure/cable{ + icon_state = "1-10" }, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "nk" = ( -/obj/effect/decal/cleanable/plastic, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/radiation{ + rad_power = 66; + rad_range = 2 }, +/obj/effect/decal/cleanable/greenglow/filled, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"nm" = ( -/obj/machinery/power/terminal, -/obj/structure/cable, -/obj/item/radio/intercom/directional/east, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"nq" = ( -/obj/structure/flora/grass/jungle/b, -/obj/structure/flora/grass/jungle, +"nl" = ( +/mob/living/simple_animal/hostile/human/syndicate/melee, +/obj/structure/chair/office, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"nm" = ( +/obj/structure/railing/thin{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"nr" = ( -/obj/effect/turf_decal/arrows{ - dir = 4 +/obj/structure/rack, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"nn" = ( +/obj/structure/spider/stickyweb, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 8 }, -/obj/structure/spacevine/dense, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ns" = ( -/turf/open/floor/plasteel/stairs{ - dir = 1 +"np" = ( +/obj/structure/platform/military, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = 32 }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"nw" = ( -/obj/structure/railing, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 +"nq" = ( +/obj/item/book/manual/ripley_build_and_repair{ + pixel_y = 10; + pixel_x = -5 + }, +/obj/structure/table, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 0; + pixel_x = 6 + }, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/shed) +"nr" = ( +/obj/machinery/power/terminal{ + dir = 1 }, +/mob/living/simple_animal/hostile/human/syndicate/melee, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"ns" = ( +/obj/structure/spacevine, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"ny" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/structure/spider/stickyweb, -/turf/open/floor/vault, +"nx" = ( +/obj/structure/platform/military/corner{ + dir = 4 + }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) +"ny" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/radio/intercom/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) "nA" = ( -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland1" +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = -32 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"nB" = ( -/obj/structure/flora/rock, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland1" +"nD" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = 32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) +"nE" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) "nF" = ( -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) +/obj/structure/rack, +/obj/item/binoculars{ + pixel_y = 5; + pixel_x = -4 + }, +/turf/open/floor/plasteel/mono/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) "nG" = ( -/obj/structure/flora/rock/jungle, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"nH" = ( -/obj/structure/railing{ - dir = 10 +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/machinery/button/door{ + pixel_y = 22; + pixel_x = -7; + normaldoorcontrol = 1; + id = "bss"; + specialfunctions = 4 }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/structure/cable{ + icon_state = "4-8" }, -/area/overmap_encounter/planetoid/jungle/explored) +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) "nI" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/chemistry, -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/wood{ - icon_state = "wood-broken3" +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 1 }, -/area/ruin/jungle/starport) +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, +/obj/machinery/firealarm/directional/east, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"nL" = ( +/obj/structure/flora/junglebush/large, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) "nM" = ( -/obj/structure/chair{ +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"nN" = ( +/obj/structure/table, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase) +"nO" = ( +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "hos"; + name = "Captain's Locker"; + req_access = list(150, 20); + populate = 0 + }, +/obj/item/card/id/syndicate_command/captain_id, +/obj/item/storage/lockbox/medal, +/obj/item/megaphone/sec{ + name = "syndicate megaphone" + }, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/suit/armor/vest/capcarapace/syndicate, +/obj/item/clothing/head/HoS/syndicate, +/obj/item/clothing/under/syndicate/gorlex, +/obj/item/radio/headset/syndicate/alt/captain, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/jungle/airbase/tower) +"nP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 4 }, -/obj/structure/spider/stickyweb, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) "nS" = ( -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) +/turf/open/floor/engine/hull/reinforced, +/area/ruin/jungle/airbase/hangar) "nT" = ( /obj/structure/closet/emcloset/anchored, -/obj/effect/turf_decal/borderfloor{ +/obj/structure/platform/military{ dir = 1 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"nZ" = ( -/obj/structure/table/reinforced, -/obj/structure/spider/stickyweb, -/turf/open/floor/plasteel/dark, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"oa" = ( -/obj/effect/turf_decal/industrial/traffic{ +"nV" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ dir = 8 }, -/turf/open/floor/concrete{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"nW" = ( +/obj/structure/platform/military/corner{ + dir = 8 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ob" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +"nX" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"oc" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland8" +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/machinery/airalarm/directional/west, +/obj/structure/barricade/sandbags, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"oc" = ( +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/food/salt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) "od" = ( -/obj/structure/flora/rock, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/effect/turf_decal/corner/opaque/syndiered, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) "oe" = ( -/obj/structure/spacevine, -/obj/structure/spider/stickyweb, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Observation" }, -/area/overmap_encounter/planetoid/jungle/explored) +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) "of" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) "og" = ( -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"oi" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +/obj/effect/turf_decal/road/stripes, +/obj/effect/turf_decal/road{ + dir = 6 }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"om" = ( +"oh" = ( +/obj/effect/turf_decal/industrial/warning, /obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plasteel, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"oo" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating/rust, +"ok" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"oq" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/vault, -/area/ruin/jungle/starport) -"os" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"ol" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-8" }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ow" = ( -/obj/effect/turf_decal/arrows, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete{ - light_range = 2 +"om" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"ox" = ( -/turf/open/floor/plasteel/stairs{ - dir = 1 +/obj/structure/cable{ + icon_state = "2-8" }, -/area/ruin/jungle/starport/tower) -"oy" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/cable{ + icon_state = "2-4" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"oA" = ( -/turf/open/floor/wood, -/area/ruin/jungle/starport) -"oD" = ( -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" - }, +"on" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/junglebush/c, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"oH" = ( -/obj/structure/railing/corner, -/obj/structure/railing{ +"op" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ dir = 1 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"oI" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/plasma) -"oK" = ( -/obj/structure/spacevine/dense, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner, /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/cable{ - icon_state = "1-10" +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/armory) +"oq" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"oL" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/shed) +"os" = ( +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ou" = ( +/obj/structure/platform/military/corner{ + dir = 8 }, +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"oN" = ( -/obj/structure/spacevine, -/obj/effect/turf_decal/weather/dirt{ +"ox" = ( +/obj/structure/chair/stool{ dir = 1 }, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"oQ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/structure/spider/stickyweb, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"oz" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"oS" = ( -/obj/effect/decal/cleanable/generic, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" }, -/area/overmap_encounter/planetoid/jungle/explored) -"oU" = ( -/obj/structure/railing/corner{ - dir = 8 +/area/ruin/jungle/airbase) +"oD" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/obj/structure/spider/stickyweb, +/obj/item/reagent_containers/food/snacks/meat/slab/human{ + pixel_y = -3; + pixel_x = -6 }, +/obj/structure/spider/cocoon, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"oF" = ( /obj/structure/spider/stickyweb, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/spacevine{ + pixel_x = 32 }, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"oG" = ( +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"oI" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"oV" = ( -/turf/open/floor/plasteel/stairs/right{ +"oJ" = ( +/obj/structure/platform/military{ dir = 4 }, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"oX" = ( -/obj/structure/railing{ - dir = 6 +"oK" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"oL" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/storage/toolbox/mechanical, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/corner/opaque/orange/three_quarters, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"oP" = ( +/obj/structure/floodlight_frame, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"oQ" = ( +/obj/item/reagent_containers/food/snacks/spidereggs, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"oR" = ( +/obj/machinery/light/directional/south, +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"oS" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 }, +/obj/structure/spacevine, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"pb" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 4 +"oU" = ( +/obj/structure/sign/departments/engineering{ + pixel_y = 30 }, -/turf/open/floor/plating, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"pe" = ( -/obj/machinery/computer/mech_bay_power_console{ +"oW" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorblack{ dir = 4 }, -/turf/open/floor/vault, -/area/overmap_encounter/planetoid/jungle/explored) -"pi" = ( -/obj/effect/turf_decal/industrial/traffic{ +/obj/structure/chair/bench/red/directional/east, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"oY" = ( +/obj/structure/flippedtable{ dir = 4 }, +/obj/structure/spider/stickyweb, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"oZ" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/dorms) +"pd" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"pg" = ( +/obj/structure/flora/junglebush/large, +/obj/structure/spider/stickyweb, +/obj/structure/spacevine{ + pixel_x = -32 }, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ph" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) +"pi" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) "pk" = ( -/obj/structure/cable{ - icon_state = "6-9" +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 }, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"pl" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"pn" = ( -/obj/structure/table, -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/machinery/telecomms/broadcaster{ + pixel_y = 8 }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) +"pn" = ( +/obj/structure/platform/military, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) +"pq" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/machinery/door/poddoor{ + id = "bsh2"; + dir = 2 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) "pr" = ( -/obj/structure/table, -/turf/open/floor/plating, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ps" = ( +/obj/machinery/blackbox_recorder{ + empty = 1 + }, +/obj/machinery/door/window/survival_pod, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"pt" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "pu" = ( -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland6" +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 }, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"pv" = ( -/obj/structure/spacevine, -/obj/structure/flora/rock/jungle, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +"pw" = ( +/obj/structure/barricade/security{ + layer = 2.89 + }, +/obj/machinery/porta_turret/ship/syndicate/heavy/starport{ + dir = 6; + lethal = 1 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/ruin/jungle/airbase/turrets) +"px" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) -"pz" = ( -/obj/structure/railing/corner, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +"py" = ( +/obj/structure/spacevine{ + pixel_y = -32 }, +/obj/structure/spacevine, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"pG" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ +"pD" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"pE" = ( +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"pF" = ( +/obj/machinery/modular_computer/console/preset/command{ dir = 4 }, -/obj/structure/window/plasma/reinforced{ +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"pG" = ( +/obj/machinery/atmospherics/components/binary/pump{ dir = 8 }, -/turf/open/floor/plating, -/area/ruin/jungle/starport) +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) "pH" = ( -/obj/effect/turf_decal/industrial/traffic/corner, -/turf/open/floor/concrete{ - light_range = 2 +/obj/effect/turf_decal/industrial/warning, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) -"pK" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken2" - }, -/area/ruin/jungle/starport) -"pM" = ( -/obj/structure/table, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"pO" = ( -/obj/effect/turf_decal/atmos/plasma, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +"pI" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plating, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"pP" = ( +"pJ" = ( /obj/structure/spacevine, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam3" - }, -/area/ruin/jungle/starport) -"pQ" = ( -/obj/effect/decal/cleanable/ash/large, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland3" - }, -/area/overmap_encounter/planetoid/jungle/explored) -"pS" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine, -/turf/open/floor/plating/rust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"pU" = ( -/turf/open/floor/concrete{ - light_range = 2 +"pK" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/rtg/advanced, +/turf/open/floor/concrete/slab_4, +/area/ruin/jungle/airbase/engineering) +"pO" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 }, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"pP" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) +"pQ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"pR" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 1 + }, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"pS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/structure/chair/bench/red/directional/south, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"pU" = ( +/obj/effect/turf_decal/syndicateemblem/top/left{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase) +"pW" = ( +/turf/closed/wall/concrete, +/area/ruin/jungle/airbase/engineering) "pY" = ( -/obj/structure/chair, -/obj/item/stack/sheet/metal, -/turf/open/floor/plasteel, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "pZ" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg1" +/obj/structure/platform/military{ + dir = 5 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "qa" = ( -/obj/effect/decal/cleanable/insectguts, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, +/obj/structure/crate_shelf{ + capacity = 2 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/jungle/airbase/dorms) +"qb" = ( +/obj/machinery/washing_machine{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/reagent_containers/glass/bucket{ + pixel_y = 9; + pixel_x = 7 + }, +/obj/item/mop{ + pixel_y = 10; + pixel_x = 13 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"qd" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"qc" = ( -/obj/structure/flora/junglebush/b, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +"qf" = ( +/mob/living/simple_animal/hostile/poison/giant_spider, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"qd" = ( -/turf/open/floor/plating, +"qg" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 8 + }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) +"qh" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/table, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/broken/directional/east, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"qi" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) "qk" = ( -/obj/structure/catwalk/over/plated_catwalk, /obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"qq" = ( -/obj/structure/cable{ - icon_state = "2-5" +"ql" = ( +/obj/structure/table, +/obj/item/weldingtool/largetank{ + pixel_x = -6; + pixel_y = -2 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"qn" = ( +/obj/structure/platform/military{ + dir = 8 }, -/turf/open/floor/plating/dirt, +/obj/structure/spacevine/dense, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"qt" = ( -/obj/structure/door_assembly, -/obj/structure/cable{ - icon_state = "1-2" +"qq" = ( +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/jungle/starport) -"qu" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken3" +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 }, -/area/ruin/jungle/starport) -"qv" = ( -/obj/structure/window/plasma/reinforced{ +/obj/effect/turf_decal/techfloor/corner{ dir = 1 }, /obj/structure/cable{ icon_state = "1-4" }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/shed) +"qs" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 + }, /obj/structure/cable{ - icon_state = "1-8" + icon_state = "1-2" + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"qv" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"qx" = ( -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"qD" = ( -/obj/item/chair, /obj/structure/spider/stickyweb, -/turf/open/floor/plating/rust, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"qG" = ( -/obj/item/stack/cable_coil/cut/red, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +"qw" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 4 + }, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"qy" = ( +/obj/structure/chair/comfy/grey/directional/east, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/jungle/airbase/tower) +"qB" = ( +/obj/structure/platform/military/corner, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"qC" = ( +/obj/structure/platform/military{ + dir = 6 + }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"qD" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + req_access = list(150,10); + populate = 0 + }, +/obj/item/gun/energy/plasmacutter, +/obj/item/clothing/gloves/color/yellow, +/obj/item/storage/belt/utility/syndicate, +/obj/item/clothing/under/syndicate/gec, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"qE" = ( +/obj/effect/turf_decal/corner/transparent/syndiered/border{ + dir = 4 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase) +"qF" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"qH" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun, +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "qI" = ( -/obj/structure/closet, -/turf/open/floor/plating{ - icon_state = "platingdmg1" +/obj/structure/platform/military/corner{ + dir = 4 }, -/area/ruin/jungle/starport) -"qJ" = ( -/obj/structure/spacevine, -/obj/machinery/door/poddoor{ - id = "jbs1"; +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"qK" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/dorms) "qL" = ( /obj/effect/turf_decal/number/zero{ pixel_x = -7; @@ -2367,5637 +3923,8703 @@ pixel_x = 6; pixel_y = 32 }, -/obj/structure{ - desc = "A devastating strike weapon of times past. The mountings seem broken now."; - dir = 4; - icon = 'icons/mecha/mecha_equipment.dmi'; - icon_state = "mecha_missilerack_six"; - name = "ancient missile rack"; - pixel_x = -26; - pixel_y = 11 - }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"qM" = ( -/obj/machinery/atmospherics/components/binary/pump, -/obj/structure{ - desc = "A formerly deadly laser cannon, now stuck rusting on a fightercraft."; - dir = 8; - icon = 'icons/obj/turrets.dmi'; - icon_state = "syndie_off"; - name = "defunct laser cannon"; - pixel_x = 26 +/obj/structure/platform/ship{ + dir = 4 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/salvageable/airbase/missile_launcher{ + pixel_x = -24; + pixel_y = 8 }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "qN" = ( +/obj/effect/decal/cleanable/molten_object, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland4" - }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "qP" = ( -/obj/structure/rack, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" - }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" - }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" - }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" - }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" - }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/vault, -/area/ruin/jungle/starport) +/obj/structure/spacevine, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) "qQ" = ( /obj/structure/flora/rock, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"qR" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "qS" = ( -/obj/structure/chair{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/grunge{ + name = "Warehouse"; + dir = 4 }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"qT" = ( +/obj/structure/flora/grass/jungle, /obj/structure/spider/stickyweb, -/turf/open/floor/plasteel, +/obj/structure/spider/cocoon, +/mob/living/simple_animal/hostile/poison/giant_spider/nurse, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"qW" = ( -/turf/open/floor/concrete/reinforced{ - light_range = 2 +"qU" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = -32 }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"qX" = ( -/obj/effect/decal/cleanable/plastic, +"qV" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"qX" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "qY" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/platform/military{ + dir = 4 }, -/obj/structure/spacevine, /obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "ra" = ( -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/spider/stickyweb, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/clothing/neck/dogtag/ramzi{ + pixel_y = 7; + pixel_x = 5 + }, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"rc" = ( +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 }, -/area/ruin/jungle/starport) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) "rd" = ( -/obj/machinery/mech_bay_recharge_port{ - dir = 2 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"re" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/floor/vault, -/area/ruin/jungle/starport) +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/jungle/airbase/tower) "rf" = ( -/obj/structure/flora/grass/jungle/b, -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ + dir = 8 + }, +/obj/structure/sign/warning/radiation{ + pixel_y = 32 }, +/obj/structure/chair/bench/orange/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"rg" = ( +/obj/structure/platform/military, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) "rh" = ( -/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg{ + wander = 0 + }, +/obj/structure/flippedtable, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase) +"ri" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"rj" = ( +/obj/structure/platform/military{ + dir = 8 }, -/area/ruin/jungle/starport) +/obj/structure/crate_shelf, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/cargo) "rk" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt, +/obj/effect/turf_decal/road, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "rl" = ( -/obj/structure/spider/stickyweb, -/obj/structure/spider/cocoon, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) "rm" = ( -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"ro" = ( -/obj/structure/curtain, +/obj/effect/turf_decal/siding/thinplating/dark, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"ru" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 8 +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"rq" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"rt" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/railing/thin/corner, /obj/structure/spacevine, -/turf/open/floor/concrete{ - light_range = 2 - }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"rv" = ( -/obj/structure/chair{ - dir = 4 +"ru" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 10 }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"rE" = ( -/obj/structure/railing{ +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"ry" = ( +/obj/structure/filingcabinet/double/grey{ dir = 8 }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"rJ" = ( -/obj/structure/chair{ - dir = 1 +/obj/item/folder, +/obj/item/folder, +/obj/item/folder, +/obj/item/clipboard, +/obj/effect/turf_decal/corner/opaque/cybersunteal/diagonal{ + dir = 8 }, -/obj/structure/spider/stickyweb, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"rO" = ( -/obj/structure{ - desc = "A devastating strike weapon of times past. The mountings seem broken now."; - dir = 4; - icon = 'icons/mecha/mecha_equipment.dmi'; - icon_state = "mecha_missilerack_six"; - name = "ancient missile rack"; - pixel_x = -26; +/obj/item/paper_bin{ pixel_y = -5 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"rz" = ( +/obj/structure/platform/military{ + dir = 5 }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"rR" = ( -/obj/structure/bed/pod, -/obj/structure/curtain, -/obj/machinery/light/broken/directional/north, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"rS" = ( -/obj/structure/flora/grass/jungle/b, -/obj/structure/flora/junglebush, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"rA" = ( +/obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, +/mob/living/simple_animal/hostile/poison/giant_spider, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"rB" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/obj/structure/spacevine{ + pixel_y = -32 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"rT" = ( -/obj/structure/mecha_wreckage/ripley/firefighter, -/turf/open/floor/vault, +"rE" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"sb" = ( -/obj/structure/chair, -/obj/effect/decal/cleanable/shreds, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +"rG" = ( +/obj/machinery/button/door{ + pixel_y = 9; + pixel_x = 22; + name = "shutter control"; + id = "bshy2"; + dir = 8 + }, +/obj/item/analyzer{ + pixel_x = 5; + pixel_y = 2 + }, +/obj/structure/rack, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 + }, +/obj/machinery/button/shieldwallgen{ + dir = 8; + pixel_x = 21; + id = "balls" + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"rI" = ( +/obj/machinery/computer/helm/retro{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/hangar) +"rK" = ( +/obj/structure/chair/plastic, +/turf/open/floor/plasteel/mono/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"rL" = ( +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"rM" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"rO" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"rP" = ( +/obj/structure/flora/rock/jungle, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"rQ" = ( +/obj/structure/chair/plastic{ + dir = 2 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"rS" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/corner/transparent/syndiered/border{ + dir = 4 + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase) +"rU" = ( +/obj/item/reagent_containers/food/snacks/spidereggs{ + pixel_y = -6; + pixel_x = -4 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) +"rV" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"rY" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/plasteel/twenty, +/obj/item/stack/sheet/plasmarglass/twenty, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"rZ" = ( +/obj/structure/table, +/obj/structure/spider/stickyweb, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"sb" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"sc" = ( +/mob/living/simple_animal/hostile/human/syndicate/melee, +/obj/effect/spawner/random/trash/decal, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) "sd" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper/paperslip{ + name = "safe location"; + default_raw_text = "Under the damn chair." + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) "se" = ( -/obj/structure/closet, -/turf/open/floor/wood, -/area/ruin/jungle/starport) -"sf" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = -32 }, -/obj/structure/railing/corner, -/obj/structure/railing/corner{ - dir = 8 +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"sf" = ( +/obj/structure/chair{ + dir = 8; + pixel_y = 0 }, -/turf/open/floor/plating, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "sg" = ( /obj/structure/flora/tree/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "sh" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland3" +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"sj" = ( -/obj/structure/rack, -/obj/item/mecha_parts/mecha_equipment/extinguisher, -/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp, -/turf/open/floor/vault, +"si" = ( +/mob/living/simple_animal/hostile/poison/giant_spider/tarantula, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) +"sj" = ( +/obj/effect/turf_decal/atmos/mix{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/orange/visible{ + dir = 4 + }, +/turf/open/floor/engine/hydrogen_fuel, +/area/ruin/jungle/airbase/hangar) "sk" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/item/stack/ore/salvage/scrapmetal, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 4 }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "sl" = ( -/obj/structure/spider/stickyweb, -/obj/machinery/light/broken/directional/south, -/mob/living/simple_animal/hostile/poison/giant_spider/nurse, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/radiation, +/turf/open/floor/concrete, +/area/ruin/jungle/airbase/engineering) "sm" = ( -/obj/structure/cable{ - icon_state = "5-10" +/obj/structure/platform/military{ + dir = 8 }, /obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) "sn" = ( -/obj/structure/railing/corner{ - dir = 8 +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/structure/cable{ + icon_state = "4-8" }, +/obj/structure/spider/stickyweb, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"so" = ( +/obj/structure/platform/military, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"sp" = ( -/obj/structure/spacevine/dense, +"ss" = ( +/obj/structure/flora/tree/jungle{ + icon_state = "tree10" + }, /obj/structure/spacevine, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"st" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"sv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"sx" = ( +/obj/structure/platform/military{ + dir = 8 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) "sz" = ( -/obj/effect/radiation{ - rad_power = 66; - rad_range = 2 +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 }, -/obj/effect/decal/cleanable/molten_object, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland_dug" +/obj/structure/platform/ship_two{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"sA" = ( -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland3" +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"sB" = ( +/obj/structure/platform/military{ + dir = 10 }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"sB" = ( -/obj/effect/decal/remains/human, -/obj/item/clothing/suit/fire/atmos, -/obj/item/clothing/mask/gas/atmos, -/obj/item/clothing/head/hardhat/atmos, -/turf/open/floor/plating{ - icon_state = "platingdmg1" +"sC" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/ruin/jungle/airbase/turrets) +"sE" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"sF" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating/dirt/jungle/dark, /area/overmap_encounter/planetoid/jungle/explored) -"sD" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"sG" = ( +/mob/living/simple_animal/hostile/human/syndicate/civilian, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"sH" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"sI" = ( +/obj/structure/toilet{ + pixel_x = 8; + dir = 8 + }, +/obj/structure/sink{ + pixel_y = 17; + pixel_x = -8 }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/dorms) +"sK" = ( +/obj/effect/gibspawner/generic/animal, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"sE" = ( +"sL" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, /obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/tarantula, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, /turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"sF" = ( -/obj/structure/closet/wardrobe/black, -/turf/open/floor/plating{ - icon_state = "platingdmg1" +/area/ruin/jungle/airbase/dorms) +"sM" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/area/ruin/jungle/starport) -"sH" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/turf_decal/road/slow{ + dir = 4 }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"sK" = ( -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) "sN" = ( /obj/structure/closet/emcloset/anchored, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/structure/platform/military, +/obj/structure/spacevine, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"sP" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/hangar) +"sQ" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "sS" = ( -/obj/machinery/telecomms/broadcaster, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam2" +/obj/structure/cable{ + icon_state = "2-4" }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"tb" = ( -/obj/structure/table/reinforced, -/obj/item/binoculars, -/obj/item/pen/fountain, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"td" = ( -/obj/structure/window/plasma/reinforced{ - dir = 4 - }, -/obj/machinery/suit_storage_unit/open, -/turf/open/floor/plating, +"sT" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/platform/military, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"te" = ( +"sU" = ( +/obj/effect/decal/cleanable/greenglow/filled, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"sW" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"sY" = ( +/obj/machinery/suit_storage_unit/inherit{ + locked = 1 + }, +/obj/item/clothing/under/syndicate/combat{ + name = "compression suit"; + desc = "A specialized suit designed to compress the wearer, and prevent blackouts during high gravity manuevers." + }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs/mid{ - dir = 4 +/obj/item/clothing/suit/space/syndicate/black/red, +/obj/item/clothing/head/helmet/space/syndicate/black/red, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/shed) +"tb" = ( +/obj/structure/salvageable/airbase/missile_launcher{ + pixel_x = -24; + pixel_y = -7 }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"td" = ( +/obj/structure/flora/junglebush, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"tj" = ( -/obj/effect/decal/cleanable/blood/drip, +"tk" = ( +/obj/structure/window/plasma/reinforced/plastitanium, /obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plating, +/area/ruin/jungle/airbase) +"tl" = ( +/obj/structure/platform/military, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) "tm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/flora/rock, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland9" +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/grunge{ + name = "Telecommunications" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/tower) "tn" = ( -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland7" +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/structure/table, +/obj/structure/spider/stickyweb, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) "to" = ( -/obj/structure/chair/comfy/orange/directional/south, -/turf/open/floor/wood, -/area/ruin/jungle/starport) -"tp" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/table, +/obj/structure/spider/stickyweb, +/obj/item/reagent_containers/food/snacks/meat/slab/human{ + pixel_x = 4; + pixel_y = 10 }, +/obj/structure/door_assembly, +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"tq" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"tr" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ts" = ( -/obj/structure/railing{ +"tt" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/right{ dir = 4 }, -/obj/structure/spacevine, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase) +"tu" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/spider/stickyweb, +/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, +/area/ruin/jungle/airbase/dorms) +"tv" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) +/obj/effect/decal/cleanable/food/salt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) "tw" = ( -/obj/effect/decal/cleanable/ash, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) +/turf/open/floor/engine/hydrogen_fuel, +/area/ruin/jungle/airbase/hangar) "ty" = ( -/obj/structure/spacevine, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 +/obj/structure/platform/military/corner{ + dir = 1 }, -/turf/open/water/jungle, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"tC" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) "tD" = ( /obj/structure/flora/grass/jungle, /obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"tE" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/railing/thin{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) "tF" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plating/rust, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"tH" = ( -/obj/structure/cable{ - icon_state = "6-9" +"tG" = ( +/obj/effect/turf_decal/techfloor{ + dir = 6 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/turf_decal/arrows/white{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"tJ" = ( -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"tK" = ( -/obj/structure/railing, -/obj/structure/spacevine, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/effect/turf_decal/arrows/white{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"tJ" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + state_open = 1 + }, +/obj/structure/cable{ + icon_state = "0-9" }, +/obj/effect/turf_decal/box, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) "tM" = ( -/obj/structure/cable{ - icon_state = "4-8" +/turf/closed/wall, +/area/ruin/jungle/airbase/cargo) +"tN" = ( +/obj/structure/spacevine, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 8 }, -/obj/structure/poddoor_assembly{ +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"tO" = ( +/obj/machinery/computer/mech_bay_power_console{ dir = 4 }, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam2" +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 }, -/area/ruin/jungle/starport) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/shed) "tP" = ( -/obj/structure/rack, -/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/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/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/overmap_encounter/planetoid/jungle/explored) -"tT" = ( -/obj/structure/railing{ - dir = 10 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 +/obj/structure/barricade/sandbags, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/tower) +"tW" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"tV" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"tY" = ( /obj/structure/spacevine, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/obj/structure/platform/military{ + dir = 10 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) "ua" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 7; + pixel_x = -4 }, -/area/overmap_encounter/planetoid/jungle/explored) +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) "ub" = ( -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"uf" = ( -/obj/item/stack/cable_coil/cut/red, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"um" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/obj/effect/turf_decal/weather/dirt{ - dir = 5 +/obj/structure/closet/crate/rations, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"uc" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4 }, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"un" = ( -/obj/effect/turf_decal/industrial/stand_clear{ +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ dir = 4 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"ur" = ( +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/tower) +"ud" = ( /obj/structure/table, -/obj/item/stack/sheet/metal, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"us" = ( -/obj/structure/table/wood, -/obj/item/storage/book/bible, -/obj/machinery/light/small/broken/directional/west, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/ruin/jungle/starport) -"uv" = ( -/obj/machinery/atmospherics/components/binary/pump, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"uy" = ( -/obj/structure/flora/tree/jungle/small{ - icon_state = "tree3" - }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"uz" = ( -/obj/structure/window/plasma/reinforced{ - dir = 8 +/obj/item/storage/ration/chicken_wings_hot_sauce, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 5; + pixel_x = 9 }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"uC" = ( -/obj/structure/spider/stickyweb, -/obj/structure/spacevine, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"ug" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/obj/machinery/power/terminal{ + dir = 1 }, -/area/ruin/jungle/starport) -"uE" = ( -/obj/structure/railing{ - dir = 10 +/obj/structure/cable{ + icon_state = "0-9" }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/hangar) +"uj" = ( +/obj/structure/chair/plastic{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"uK" = ( -/obj/structure/chair{ +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"ul" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "bshy1"; dir = 4 }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"um" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"uO" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 +"un" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete{ - light_range = 2 +/obj/structure/spacevine/dense, +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" }, /area/overmap_encounter/planetoid/jungle/explored) -"uP" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/glass, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +"up" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/area/overmap_encounter/planetoid/jungle/explored) -"uQ" = ( -/obj/structure/cable, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"uR" = ( -/obj/effect/turf_decal/box/corners{ +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/concrete, +/area/ruin/jungle/airbase/engineering) +"us" = ( +/obj/structure/door_assembly/door_assembly_med{ dir = 8 }, -/obj/structure/spider/stickyweb, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"uu" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/corner/transparent/syndiered/border{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"uS" = ( -/obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating{ - icon_state = "platingdmg1" +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"uw" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"uT" = ( -/obj/machinery/shower{ - dir = 4; - desc = "An old shower. It looks rusted." +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 }, -/obj/structure/mirror{ - pixel_y = 30 +/mob/living/simple_animal/hostile/human/syndicate/ranged, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"ux" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 5 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/floor, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"uU" = ( +/obj/machinery/light/directional/north, +/obj/structure/barricade/sandbags, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"uA" = ( /obj/structure/spacevine/dense, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"uC" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/corner/transparent/syndiered/bordercorner{ + dir = 4 }, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"uF" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"vc" = ( -/obj/structure/catwalk/over/plated_catwalk, +"uH" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/spacevine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 1 }, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"vd" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/stairs/mid, -/area/overmap_encounter/planetoid/jungle/explored) -"ve" = ( -/obj/structure/railing{ +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"uI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 1 }, -/turf/open/floor/plasteel/stairs{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-2" }, -/area/overmap_encounter/planetoid/jungle/explored) -"vg" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"uK" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 2 }, -/area/overmap_encounter/planetoid/jungle/explored) -"vl" = ( -/obj/structure/railing/corner{ - dir = 8 +/turf/open/floor/engine/hull/reinforced, +/area/ruin/jungle/airbase/hangar) +"uL" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"vn" = ( +"uN" = ( /obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 + icon_state = "6-9" }, -/area/overmap_encounter/planetoid/jungle/explored) -"vr" = ( -/obj/structure/chair/comfy/shuttle{ - name = "Grav Couch"; - dir = 8 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"uO" = ( +/obj/structure/platform/military{ + dir = 6 }, -/turf/open/floor/mineral/plastitanium, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"vs" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 1 +"uT" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 }, -/turf/open/floor/concrete{ - light_range = 2 +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"vv" = ( -/obj/effect/decal/cleanable/shreds, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"vx" = ( -/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"uV" = ( +/obj/item/wallframe/apc, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"uW" = ( +/obj/structure/closet/firecloset/full{ + populate = 0 + }, +/obj/item/extinguisher/advanced, +/obj/item/extinguisher/advanced, +/obj/item/clothing/suit/fire/firefighter, +/obj/item/clothing/suit/fire/firefighter, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"uX" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"vA" = ( -/turf/open/floor/plating/dirt, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"vC" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"uY" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" }, +/turf/open/floor/concrete, +/area/ruin/jungle/airbase/engineering) +"va" = ( +/obj/item/chair, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"vD" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/poddoor{ - id = "jbs3" +"vb" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"vE" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 }, -/area/overmap_encounter/planetoid/jungle/explored) -"vH" = ( -/obj/structure/spider/stickyweb, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/light/directional/south, +/obj/structure/barricade/sandbags, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"ve" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 8 }, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"vJ" = ( -/obj/structure/spacevine, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 4 }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Captain's Quarters" }, -/area/overmap_encounter/planetoid/jungle/explored) -"vK" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/tower) +"vf" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/area/ruin/jungle/starport) -"vT" = ( -/obj/structure/spacevine/dense, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6; + pixel_x = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"vU" = ( +/obj/item/pen, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"vh" = ( +/obj/item/stack/ore/salvage/scrapmetal, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"vj" = ( +/obj/structure/platform/military{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"vV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/remains/human, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"vW" = ( -/obj/structure/railing{ - dir = 8 +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 }, -/turf/open/floor/plasteel/stairs/left, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"vX" = ( -/obj/structure/railing, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"vk" = ( +/obj/effect/turf_decal/weather/dirt/corner, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"vZ" = ( +"vm" = ( /obj/structure/spacevine, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/structure/spacevine{ + pixel_y = -32 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"wa" = ( -/obj/structure/chair{ +"vn" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"vo" = ( +/obj/effect/turf_decal/techfloor{ dir = 8 }, -/obj/structure/spider/stickyweb, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"wc" = ( +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"vq" = ( +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"vs" = ( +/obj/structure/platform/military/corner, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"vt" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"wd" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8 +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"vv" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/hardline_small{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/plasma) -"wf" = ( -/obj/item/rack_parts, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"wo" = ( -/obj/structure/railing, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) +"vw" = ( +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"vy" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/obj/structure/cable{ + icon_state = "1-2" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"wr" = ( -/obj/structure/railing{ - dir = 4 +"vz" = ( +/obj/structure/platform/military{ + dir = 8 + }, +/obj/structure/spacevine{ + pixel_x = 32 }, /obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/machinery/atmospherics/components/unary/passive_vent/layer4{ + dir = 4 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"wt" = ( -/obj/effect/turf_decal/weather/dirt{ +"vA" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/syndiered{ dir = 5 }, -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"wv" = ( -/obj/structure/rack, -/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/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/item/reagent_containers/food/snacks/canned/beans, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"ww" = ( -/obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"wx" = ( -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland3" +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"vB" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"wy" = ( -/obj/structure/spider/stickyweb, /turf/open/floor/wood, -/area/ruin/jungle/starport) -"wB" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"wC" = ( -/obj/structure/flora/tree/jungle/small, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/area/ruin/jungle/airbase/dorms) +"vC" = ( +/obj/structure/platform/military{ + dir = 4 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"wH" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"wI" = ( -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"vD" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"vF" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"vH" = ( +/obj/structure/sign/departments/cargo{ + pixel_x = 28 }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"wM" = ( +"vJ" = ( +/turf/closed/wall, +/area/overmap_encounter/planetoid/jungle/explored) +"vK" = ( /obj/structure/spider/stickyweb, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/structure/spider/cocoon, +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"vO" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"wO" = ( -/obj/structure{ - desc = "A formerly deadly laser cannon, now stuck rusting on a fightercraft."; - dir = 8; - icon = 'icons/obj/turrets.dmi'; - icon_state = "syndie_off"; - name = "defunct laser cannon"; - pixel_x = 26 +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"vR" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"wP" = ( -/obj/structure/rack, -/obj/item/mecha_parts/mecha_equipment/extinguisher, -/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp, -/turf/closed/wall/r_wall/syndicate/nodiagonal, -/area/ruin/jungle/starport) -"wR" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +"vT" = ( +/obj/structure/spacevine{ + pixel_x = 32 }, /obj/structure/spacevine, -/obj/structure/railing, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/spacevine{ + pixel_y = 32 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"wY" = ( -/obj/structure/frame/machine, -/turf/open/floor/plating/dirt/jungle/wasteland, -/area/overmap_encounter/planetoid/jungle/explored) -"xd" = ( -/obj/effect/decal/cleanable/oil, -/obj/effect/turf_decal/arrows{ - dir = 8 +"vU" = ( +/obj/structure/platform/military{ + dir = 4 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"vV" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 6; + pixel_x = 5 }, +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"vX" = ( +/obj/structure/platform/military, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"xf" = ( -/obj/structure/railing, +"wb" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, /obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" }, /area/overmap_encounter/planetoid/jungle/explored) -"xg" = ( -/obj/machinery/power/smes, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"xh" = ( -/obj/structure/cable{ - icon_state = "4-9" +"wi" = ( +/obj/structure/platform/military{ + dir = 9 }, /obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"wj" = ( +/obj/item/wallframe/apc, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"wm" = ( +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"wq" = ( /obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"xo" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating{ - icon_state = "platingdmg1" +"wr" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 }, -/area/ruin/jungle/starport) -"xq" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"wt" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 +/obj/effect/turf_decal/weather/dirt{ + dir = 9 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/plasma) -"xs" = ( -/obj/item/radio/intercom/directional/north{ - pixel_y = 24 +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"wy" = ( +/obj/effect/turf_decal/road{ + dir = 4 }, -/obj/item/stack/sheet/metal, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"xu" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"wA" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/spacevine, /obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/wood{ - icon_state = "wood-broken4" + icon_state = "1-2" }, -/area/ruin/jungle/starport) -"xw" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"xz" = ( -/obj/structure/spider/stickyweb, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"xC" = ( -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +"wC" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/platform/military{ + dir = 4 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"xD" = ( +"wG" = ( /obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, +/mob/living/simple_animal/hostile/poison/giant_spider, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"xE" = ( -/obj/structure/bed/pod, -/obj/structure/curtain, -/obj/item/stack/sheet/metal, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"xF" = ( -/obj/structure/railing/corner{ +"wH" = ( +/obj/effect/turf_decal/road/stripes{ dir = 8 }, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"xG" = ( -/obj/effect/decal/cleanable/molten_object, -/obj/effect/radiation{ - rad_power = 66; - rad_range = 2 - }, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland_dug"; - light_color = "#a0ad20"; - light_range = 3 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"xH" = ( -/obj/structure/sink/kitchen{ - dir = 8; - pixel_x = 11 +"wM" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 5 }, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"xL" = ( -/obj/structure/railing/corner, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"xM" = ( -/obj/structure/chair{ - dir = 1 +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"wN" = ( +/obj/structure/platform/military{ + dir = 4 }, -/obj/structure/spider/stickyweb, -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"xO" = ( /obj/structure/spacevine, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/spacevine{ + pixel_x = -32 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"xP" = ( -/obj/machinery/atmospherics/components/binary/pump, -/obj/structure{ - desc = "A formerly deadly laser cannon, now stuck rusting on a fightercraft."; - dir = 4; - icon = 'icons/obj/turrets.dmi'; - icon_state = "syndie_off"; - name = "defunct laser cannon"; - pixel_x = -26 +"wO" = ( +/obj/structure/window/reinforced, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"wS" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" }, /area/overmap_encounter/planetoid/jungle/explored) -"xS" = ( +"wT" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/stairs/mid, -/area/overmap_encounter/planetoid/jungle/explored) -"xT" = ( -/obj/structure/table/reinforced, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"xU" = ( -/obj/effect/decal/cleanable/ash, +"wW" = ( +/obj/structure/platform/military{ + dir = 6 + }, /obj/structure/spacevine, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"wZ" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 4 }, +/obj/structure/spacevine/dense, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"xX" = ( -/obj/structure/railing, -/obj/structure/railing/corner{ - dir = 1 +"xb" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"ya" = ( -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - id = "jbs2" +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/ruin/jungle/starport/tower) -"yf" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"xf" = ( +/obj/structure/platform/military, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = 32 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"ym" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"yr" = ( -/obj/effect/decal/cleanable/dirt/dust, +"xg" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"ys" = ( -/obj/effect/decal/cleanable/ash, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"yu" = ( -/obj/structure/girder/displaced, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"yx" = ( -/obj/structure/spacevine, -/obj/structure/flora/rock/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"xi" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"yA" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/jungle/starport) -"yI" = ( -/obj/item/chair, -/obj/structure/spider/stickyweb, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"yO" = ( -/obj/effect/decal/cleanable/molten_object/large, -/obj/effect/radiation{ - rad_power = 180; - rad_range = 3 +/turf/open/floor/engine/hydrogen_fuel, +/area/ruin/jungle/airbase/hangar) +"xk" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/corner/transparent/syndiered/border{ + dir = 8 }, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland_dug"; - light_color = "#a0ad20"; - light_range = 3 +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase) +"xl" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg{ + wander = 0 }, -/area/overmap_encounter/planetoid/jungle/explored) -"yP" = ( -/obj/structure/flora/rock, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland9" +/obj/structure/cable{ + icon_state = "4-8" }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"yQ" = ( -/obj/structure/table/rolling, -/turf/open/floor/vault, -/area/ruin/jungle/starport) -"yU" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete{ - light_range = 2 +"xm" = ( +/obj/effect/turf_decal/hardline_small/left{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"yV" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"yW" = ( -/obj/effect/turf_decal/atmos/plasma, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"za" = ( -/obj/structure/railing{ - dir = 5 +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 4 }, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) +"xn" = ( +/obj/structure/chair/stool{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"zd" = ( -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland5" +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"xo" = ( +/obj/structure/table, +/obj/item/melee/sword/mass{ + pixel_y = 3; + pixel_x = -3 }, -/area/overmap_encounter/planetoid/jungle/explored) -"zg" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/item/melee/sword/mass{ + pixel_y = 0; + pixel_x = 5 }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"xp" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"zj" = ( -/obj/structure/chair{ - dir = 4 +"xq" = ( +/obj/structure/platform/military{ + dir = 10 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"zl" = ( -/obj/structure/spacevine, -/obj/structure/spacevine, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"xr" = ( +/obj/structure/platform/military, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"zm" = ( -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"zr" = ( -/obj/machinery/shower{ - dir = 4; - desc = "An old shower. It looks rusted." +"xu" = ( +/obj/structure/window/reinforced, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"xy" = ( +/obj/item/clothing/head/helmet/syndie{ + pixel_y = 10 + }, +/obj/item/clothing/suit/armor/vest/syndie, +/obj/machinery/light/directional/east, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/rack, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"xC" = ( +/obj/structure/platform/military/corner{ + dir = 1 }, -/obj/structure/mirror{ - pixel_y = 30 +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"xE" = ( +/mob/living/simple_animal/hostile/poison/giant_spider/nurse, +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"xG" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 5 }, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/patterned, -/area/ruin/jungle/starport) -"zt" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/dorms) +"xH" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak1" }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"zu" = ( -/obj/machinery/door/airlock{ - dir = 4 +"xI" = ( +/obj/effect/turf_decal/corner/transparent/syndiered/border{ + dir = 1 }, -/obj/structure/barricade/wooden/crude, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase) +"xL" = ( /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/jungle/starport) -"zv" = ( -/obj/effect/decal/cleanable/molten_object, -/obj/effect/radiation{ - rad_power = 66; - rad_range = 2 + icon_state = "1-2" }, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland_dug" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"xN" = ( +/obj/structure/chair/plastic{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"zB" = ( -/obj/effect/decal/cleanable/ash, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"zD" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/effect/decal/cleanable/dirt/dust, +"xP" = ( +/obj/machinery/atmospherics/components/binary/pump, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"zF" = ( -/obj/effect/decal/cleanable/shreds, +"xQ" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, +/obj/structure/barricade/sandbags, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"xR" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase) +"xS" = ( +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider/nurse, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/turf_decal/corner/opaque/cybersunteal/border, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"xU" = ( +/obj/structure/platform/military{ + dir = 9 }, -/area/overmap_encounter/planetoid/jungle/explored) -"zG" = ( /obj/structure/spider/stickyweb, -/turf/open/floor/plasteel, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"zH" = ( +"xV" = ( +/obj/structure/spacevine/dense, +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"xX" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden, /obj/structure/spider/stickyweb, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"xY" = ( +/obj/structure/platform/military/corner{ + dir = 4 }, +/obj/structure/spacevine, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"zK" = ( -/obj/structure/window/plasma/reinforced{ - dir = 1 +"xZ" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/table, +/obj/item/book/manual/wiki/hacking{ + pixel_y = -2; + pixel_x = -7 }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/item/pen/fountain{ + pixel_x = 7; + pixel_y = -4 }, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"zL" = ( -/obj/structure/frame/machine, -/turf/open/floor/vault, -/area/overmap_encounter/planetoid/jungle/explored) -"zM" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"zN" = ( -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"zQ" = ( -/turf/open/floor/mineral/plastitanium, -/area/overmap_encounter/planetoid/jungle/explored) -"zV" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken/directional/north, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Aa" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"yb" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 10 + }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 - }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ab" = ( -/obj/effect/decal/cleanable/glass, +"ye" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"yf" = ( +/obj/effect/spawner/bunk_bed, +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"Ac" = ( -/turf/open/floor/plating{ - icon_state = "panelscorched" +/area/ruin/jungle/airbase/dorms) +"yh" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"yi" = ( +/obj/structure/railing{ + dir = 10 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Ah" = ( -/obj/structure/flora/tree/jungle/small{ - icon_state = "tree1" +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"yj" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/obj/structure/spider/stickyweb, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"yl" = ( +/obj/machinery/modular_computer/console/preset/engineering, +/obj/structure/cable{ + icon_state = "0-2" }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Al" = ( -/obj/structure/spacevine, -/turf/open/floor/concrete{ - light_range = 2 +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"ym" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + req_access = list(150,10); + populate = 0 + }, +/obj/item/clothing/shoes/magboots/syndie, +/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/head/hardhat/red{ + name = "hard hat" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"yn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"An" = ( -/obj/structure/railing{ +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/chair/stool{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"yr" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ dir = 4 }, -/turf/open/floor/plasteel/stairs/right, -/area/overmap_encounter/planetoid/jungle/explored) -"Ap" = ( -/obj/structure/spacevine, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Aw" = ( /obj/structure/cable{ - icon_state = "1-8" + icon_state = "4-8" }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/machinery/door/airlock/grunge{ + name = "Telecommunications"; + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Az" = ( -/obj/structure/cable{ - icon_state = "0-4" +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/tower) +"ys" = ( +/obj/effect/turf_decal/road/stripes{ + dir = 1 }, -/obj/machinery/power/apc/auto_name/directional/west{ - start_charge = 0 +/obj/effect/turf_decal/road{ + dir = 4 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"AA" = ( -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating/rust, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"AE" = ( -/obj/structure/spacevine/dense, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"yt" = ( +/obj/structure/platform/military{ + dir = 8 }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"AK" = ( +"yu" = ( +/obj/effect/turf_decal/industrial/warning, /obj/structure/spacevine, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"AL" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam5" +/obj/structure/spacevine{ + pixel_x = -32 }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"AM" = ( -/obj/structure/railing{ - dir = 8 +"yv" = ( +/obj/structure/railing/thin{ + dir = 6 }, -/turf/open/floor/plasteel/stairs/old, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"yz" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"AP" = ( -/obj/effect/decal/cleanable/dirt/dust, +"yB" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase/med) +"yC" = ( +/obj/structure/platform/military, /obj/effect/turf_decal/weather/dirt{ - dir = 9 + dir = 4 }, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"AQ" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"AS" = ( -/obj/structure/sign/syndicate{ - anchored = 0 - }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"AT" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"AU" = ( -/obj/effect/radiation{ - rad_power = 66; - rad_range = 2 +"yD" = ( +/obj/structure/chair/plastic{ + dir = 4 }, -/obj/effect/decal/cleanable/molten_object/large, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland_dug"; - light_color = "#a0ad20"; - light_range = 3 +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg{ + wander = 0 }, -/area/overmap_encounter/planetoid/jungle/explored) -"AV" = ( -/obj/structure/spacevine, -/obj/structure/flora/rock/jungle, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/mono/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"yE" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning, +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"AX" = ( -/obj/structure/spider/stickyweb, -/obj/structure/spider/cocoon{ - icon_state = "cocoon3" +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"AY" = ( -/obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/machinery/door/airlock/grunge{ + dir = 2; + name = "Command" }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/tower) +"yF" = ( +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"AZ" = ( -/obj/structure/closet, -/obj/structure/spider/stickyweb, +"yH" = ( +/obj/structure/cable, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"Ba" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"yI" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/obj/structure/spacevine/dense, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Bb" = ( -/obj/structure/cable{ - icon_state = "6-8" +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"yN" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 8 }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/structure/chair{ + dir = 8; + pixel_y = 0 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Bc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase) +"yO" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/corner/transparent/syndiered/bordercorner, /obj/structure/spacevine, -/obj/machinery/light/directional/west, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"yP" = ( +/obj/structure/table, +/obj/item/paper/crumpled/bloody{ + pixel_y = 7; + pixel_x = -3; + default_raw_text = "

    TO DO


    - get the sidewinder out of the Spider Zone" }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Bd" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/overmap_encounter/planetoid/jungle/explored) -"Be" = ( -/obj/item/stack/sheet/mineral/plastitanium, -/obj/item/stack/sheet/mineral/plastitanium, -/mob/living/simple_animal/hostile/poison/giant_spider/tarantula, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"Bf" = ( -/obj/effect/decal/remains/human, -/obj/machinery/light/broken/directional/east, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"Bo" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"Bq" = ( -/obj/effect/decal/cleanable/ash, +"yR" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"Bu" = ( -/obj/item/stack/ore/salvage/scrapmetal/five, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"Bw" = ( -/obj/structure/closet/firecloset/full{ - anchored = 1 - }, -/obj/item/extinguisher/advanced, -/obj/structure/railing{ - dir = 10 +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_y = 17 }, -/obj/structure/spider/stickyweb, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -16; + pixel_y = -3 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Bx" = ( -/turf/closed/wall/rust, -/area/ruin/jungle/starport) -"BA" = ( -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/concrete{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"yS" = ( +/obj/structure/table, +/obj/item/storage/ration/assorted_salted_offal, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"yT" = ( +/obj/effect/turf_decal/road{ + dir = 1 }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"BB" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland4" +"yV" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 }, -/area/overmap_encounter/planetoid/jungle/explored) -"BD" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ruin/jungle/starport/tower) -"BE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/jungle/airbase/tower) +"yW" = ( +/mob/living/simple_animal/hostile/poison/giant_spider, /obj/structure/spider/stickyweb, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"yY" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak3" }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"BG" = ( -/obj/structure/railing{ +"yZ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/armory) +"za" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"BJ" = ( -/obj/structure/table, -/obj/item/radio/intercom/directional/north{ - pixel_y = 24 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"BK" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/fancy, -/turf/open/floor/wood, -/area/ruin/jungle/starport) -"BL" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree8" +"zc" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 }, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"zd" = ( +/obj/structure/railing/thin{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"BM" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ruin/jungle/starport/plasma) -"BT" = ( -/obj/item/stack/sheet/mineral/plastitanium, -/obj/item/stack/sheet/mineral/plastitanium, -/obj/effect/turf_decal/weather/dirt{ - dir = 9 +/obj/structure/closet/secure_closet/engineering_welding{ + populate = 0 }, -/turf/open/water/jungle, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"zj" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/spider/stickyweb, +/obj/structure/spacevine, +/obj/structure/spider/cocoon, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"BU" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine/dense, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"zk" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 6 }, -/area/overmap_encounter/planetoid/jungle/explored) -"BV" = ( -/obj/structure/girder, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"BX" = ( -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/spider/stickyweb, +/obj/structure/cable{ + icon_state = "4-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"Cb" = ( -/obj/effect/decal/cleanable/shreds, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"Cc" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree9" - }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Cd" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +"zq" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 }, -/area/ruin/jungle/starport) -"Cg" = ( -/obj/structure/flora/tree/jungle/small{ - icon_state = "tree4" +/obj/machinery/light/directional/north, +/obj/structure/sign/warning/gasmask{ + pixel_x = 30 }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"zr" = ( +/obj/structure/platform/military{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Cj" = ( /obj/structure/spacevine/dense, -/obj/structure/flora/grass/jungle, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ck" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 +"zt" = ( +/obj/machinery/computer/sat_control{ + dir = 8 }, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"Cl" = ( -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/glass, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"Cm" = ( -/obj/item/stack/cable_coil/cut/red, -/obj/effect/decal/cleanable/glass, -/obj/structure/girder/displaced, -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam2" +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"zv" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/effect/radiation{ + rad_power = 66; + rad_range = 2 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Cn" = ( -/obj/effect/decal/cleanable/oil, /obj/structure/spacevine, -/turf/open/floor/concrete/reinforced{ - light_range = 2 - }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Co" = ( -/obj/structure/closet, -/obj/item/clothing/under/syndicate/ngr, -/obj/item/clothing/under/syndicate/ngr, -/obj/item/clothing/under/syndicate/ngr, -/obj/item/clothing/under/syndicate/ngr, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/ruin/jungle/starport) -"Cq" = ( -/obj/structure/railing{ - dir = 10 - }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"zx" = ( +/obj/structure/platform/military{ + dir = 4 }, +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Cx" = ( -/obj/structure/table{ - name = "officer's table"; - desc = "A square piece of metal standing on four metal legs. It can not move. This one feels more important than the others" +"zz" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 6 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"zA" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"CA" = ( -/obj/structure/railing, -/turf/open/floor/plating{ - icon_state = "panelscorched" +"zB" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"CB" = ( -/obj/structure/railing{ - dir = 6 +"zC" = ( +/obj/machinery/door/airlock/medical{ + name = "Surgery" }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/med) +"zD" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"CC" = ( -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +/obj/structure/platform/military{ + dir = 1 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"CD" = ( -/obj/structure/railing{ - dir = 6 +"zE" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 }, -/obj/structure/closet/emcloset/anchored, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/med) +"zG" = ( +/obj/structure/spacevine{ + pixel_x = 32 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"CE" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +"zH" = ( +/obj/structure/platform/military{ + dir = 8 }, +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"CF" = ( -/obj/structure/cable{ - icon_state = "4-8" +"zI" = ( +/obj/structure/railing/thin{ + dir = 4 }, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam3" +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/area/ruin/jungle/starport) -"CK" = ( -/obj/structure/railing/corner, /obj/structure/spacevine, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" }, /area/overmap_encounter/planetoid/jungle/explored) -"CL" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"zM" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = -32 }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"CM" = ( -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, +"zN" = ( +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"CN" = ( -/obj/item/watertank/atmos, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"zO" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"CP" = ( +/obj/machinery/door/poddoor{ + id = "bshy1"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"zP" = ( /obj/structure/spider/stickyweb, -/obj/structure/spider/cocoon{ - icon_state = "cocoon2" +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"zQ" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 4 }, +/obj/structure/closet/wall/directional/south, +/obj/item/clothing/under/syndicate/gorlex, +/obj/item/clothing/under/syndicate/gorlex, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/mask/gas/syndicate/voicechanger, +/obj/machinery/light/directional/east, /turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"CQ" = ( -/obj/structure/spacevine, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"CR" = ( -/obj/effect/decal/cleanable/blood/drip, -/obj/machinery/light/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"CU" = ( -/obj/structure/spacevine, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/area/ruin/jungle/airbase/dorms) +"zR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"CV" = ( /obj/structure/cable{ - icon_state = "0-8" + icon_state = "4-8" }, -/turf/open/floor/wood{ - icon_state = "wood-broken4" +/obj/structure/chair/stool{ + dir = 1 }, -/area/ruin/jungle/starport) -"Dl" = ( -/obj/structure/railing{ - dir = 10 +/obj/structure/spider/stickyweb, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"zT" = ( +/obj/structure/railing/thin{ + dir = 8 }, -/obj/structure/sign/syndicate{ - pixel_y = 32 +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Dm" = ( -/obj/machinery/atmospherics/pipe/manifold/orange{ - dir = 8 +/obj/structure/railing/thin{ + dir = 4 }, -/obj/machinery/light/directional/west, -/obj/structure/spider/cocoon, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Dr" = ( -/obj/effect/turf_decal/industrial/warning{ +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"zU" = ( +/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"Ds" = ( -/obj/structure/chair{ - dir = 4 +/obj/structure/platform/ship_two{ + dir = 1 }, -/obj/item/stack/sheet/metal, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"Dt" = ( +/obj/item/radio/intercom/directional/east, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"zV" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Dy" = ( -/obj/effect/radiation{ - rad_power = 66; - rad_range = 2 +"zX" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' }, -/obj/effect/decal/cleanable/molten_object, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" +/area/ruin/jungle/airbase/cargo) +"zZ" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"DF" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/chair/plastic{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"DH" = ( -/obj/item/wallframe/apc, -/obj/structure/spider/stickyweb, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"DJ" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Ab" = ( /obj/structure/cable{ - icon_state = "6-9" - }, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"DK" = ( -/obj/structure/flora/rock/pile, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland5" + icon_state = "1-2" }, -/area/overmap_encounter/planetoid/jungle/explored) -"DN" = ( -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"DR" = ( -/obj/structure/toilet{ +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ dir = 8 }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/patterned, -/area/ruin/jungle/starport) -"DS" = ( -/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"Af" = ( +/obj/structure/chair/stool{ + dir = 4 + }, /obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"Ah" = ( +/obj/structure/flora/tree/jungle/small{ + icon_state = "tree1" }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"DV" = ( -/obj/machinery/light/broken/directional/west, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"Ai" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = -32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"DZ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/ash, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"Ea" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/table/reinforced, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"Ed" = ( -/obj/structure/flora/rock, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland4" +"Aj" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 }, +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ee" = ( -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +"Am" = ( +/obj/structure/spacevine/dense, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Eg" = ( -/obj/structure/window/plasma/reinforced{ +"An" = ( +/obj/effect/turf_decal/corner/transparent/syndiered/border{ dir = 8 }, -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/plasma) -"Eh" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 8 +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase) +"Ap" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 }, -/turf/open/floor/engine/hull, -/area/overmap_encounter/planetoid/jungle/explored) -"Ei" = ( -/obj/structure/sink{ - pixel_y = 17 +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/structure/mirror{ - pixel_y = 30 +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"Ej" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ar" = ( +/obj/effect/turf_decal/syndicateemblem/middle/middle{ dir = 4 }, -/turf/open/floor/concrete{ - light_range = 2 +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase) +"At" = ( +/obj/structure/platform/military{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Ek" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree10" +/obj/structure/flora/grass/jungle/b, +/obj/structure/spacevine{ + pixel_x = 32 }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/spacevine, +/obj/machinery/atmospherics/components/unary/passive_vent/layer4{ + dir = 4 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Es" = ( -/obj/structure/flora/grass/jungle, -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"Ax" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Et" = ( -/obj/effect/decal/cleanable/glass, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Ay" = ( +/obj/effect/turf_decal/industrial/warning, /obj/structure/spider/stickyweb, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/overmap_encounter/planetoid/jungle/explored) -"Ev" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ey" = ( -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = 10; +"AA" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = 9; pixel_y = 5 }, -/obj/structure/table/rolling, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = -10; - pixel_y = 5 +/obj/item/clipboard{ + pixel_x = -6; + pixel_y = 8 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = 2; - pixel_y = 5 +/obj/item/pen{ + pixel_x = -7; + pixel_y = 10 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = 6; - pixel_y = 5 +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"AB" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = -2; - pixel_y = 5 +/obj/structure/platform/ship_two{ + dir = 1 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = -6; - pixel_y = 5 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"AC" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"AE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"EA" = ( -/obj/structure/cable{ - icon_state = "1-10" +"AF" = ( +/obj/machinery/door/airlock/medical{ + name = "Storage Room" }, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/med) +"AG" = ( +/obj/effect/turf_decal/corner/transparent/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase) +"AH" = ( +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"AI" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"EB" = ( -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, +"AK" = ( +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider/hunter, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"EH" = ( -/obj/structure/table, -/obj/structure/spacevine, -/turf/open/floor/vault, -/area/ruin/jungle/starport) -"EM" = ( -/obj/effect/turf_decal/industrial/warning{ +"AM" = ( +/obj/effect/gibspawner/generic/animal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"AN" = ( +/obj/structure/chair/office, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"AP" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ dir = 4 }, -/obj/structure/window/plasma/reinforced{ +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ dir = 8 }, -/obj/item/clothing/suit/space/pilot, -/obj/item/clothing/head/helmet/space/pilot, -/obj/item/tank/jetpack/oxygen, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/under/syndicate/combat, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"EP" = ( -/obj/structure/rack, -/turf/open/floor/vault, -/area/overmap_encounter/planetoid/jungle/explored) -"EV" = ( -/obj/structure/table, -/obj/item/toy/cards/deck/syndicate, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"EX" = ( -/turf/open/floor/plasteel/stairs/right, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Command" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/tower) +"AQ" = ( +/mob/living/simple_animal/hostile/poison/giant_spider/tarantula, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"EY" = ( -/obj/structure/chair{ +"AR" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase) +"AU" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/railing/thin{ dir = 4 }, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"EZ" = ( -/obj/structure/railing{ - dir = 8 +/obj/structure/spacevine, +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" }, -/turf/open/floor/plating/rust, /area/overmap_encounter/planetoid/jungle/explored) -"Fa" = ( -/obj/structure/spacevine, -/obj/effect/turf_decal/weather/dirt{ - dir = 10 +"AV" = ( +/obj/structure/platform/military{ + dir = 6 }, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Fb" = ( -/obj/machinery/light/directional/north, -/obj/machinery/suit_storage_unit/inherit/industrial, -/turf/open/floor/vault, -/area/ruin/jungle/starport) -"Fe" = ( -/obj/structure/railing, -/turf/open/floor/plating{ - icon_state = "platingdmg1" +"AW" = ( +/obj/structure/platform/military{ + dir = 9 + }, +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_y = -32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ff" = ( -/obj/effect/turf_decal/arrows{ - dir = 8 +"AX" = ( +/turf/closed/wall, +/area/ruin/jungle/airbase/armory) +"Ba" = ( +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' }, -/obj/structure/spacevine/dense, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/area/ruin/jungle/airbase) +"Bb" = ( +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + pixel_x = 8; + id = "bsh2" }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Bc" = ( +/obj/structure/flora/junglebush/large, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Fh" = ( -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +"Be" = ( +/obj/structure/cable{ + icon_state = "4-8" }, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Fl" = ( -/obj/machinery/atmospherics/pipe/manifold/orange{ - dir = 8 +"Bh" = ( +/obj/structure/platform/military{ + dir = 1 }, -/turf/open/floor/plating/rust, +/obj/effect/turf_decal/weather/dirt/corner, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Fm" = ( -/obj/structure/table/rolling, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = 10; - pixel_y = 5 +"Bj" = ( +/obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Bo" = ( +/turf/open/floor/plasteel/stairs{ + dir = 4; + icon = 'icons/obj/stairs.dmi' }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = 6; - pixel_y = 5 +/area/ruin/jungle/airbase) +"Br" = ( +/obj/structure/spider/stickyweb, +/obj/machinery/shower{ + dir = 4 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = -10; - pixel_y = 5 +/obj/item/stack/sheet/cotton/cloth, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/overmap_encounter/planetoid/jungle/explored) +"Bs" = ( +/obj/structure/window/plasma/reinforced{ + dir = 8 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = -2; - pixel_y = 5 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = 2; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/structure/window/plasma/reinforced{ + dir = 1 }, -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher"; - pixel_x = -6; - pixel_y = 5 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) +"Bw" = ( +/obj/structure/closet/firecloset/full{ + anchored = 1 }, -/turf/open/floor/vault, +/obj/item/extinguisher/advanced, +/obj/structure/platform/military, +/obj/structure/spacevine, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Fn" = ( -/obj/effect/turf_decal/arrows{ - dir = 8 +"Bz" = ( +/obj/structure/chair{ + dir = 8; + pixel_y = 0 }, /obj/structure/spacevine, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Fr" = ( -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland8" - }, +"BA" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/concrete/slab_2, +/area/ruin/jungle/airbase/engineering) +"BB" = ( +/obj/structure/girder, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ft" = ( -/obj/machinery/door/poddoor{ - id = "jbs3" +"BC" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "radiation"; + pixel_x = -6; + pixel_y = 3 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"Fu" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/glass/plasma, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"BD" = ( +/obj/structure/platform/military{ + dir = 1 }, +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Fv" = ( -/obj/structure/frame/machine, -/obj/item/circuitboard/machine/telecomms/receiver, -/turf/open/floor/plating/dirt/jungle/wasteland, +"BE" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"BH" = ( +/obj/structure/closet/secure_closet/medical2, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 9 + }, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ruin/jungle/airbase/med) +"BK" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/jungle/airbase/shed) +"BL" = ( +/obj/structure/flora/tree/jungle{ + icon_state = "tree8" + }, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Fw" = ( -/obj/structure/railing{ +"BM" = ( +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/ruin/jungle/airbase/turrets) +"BP" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"BQ" = ( +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"BT" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/machinery/door/poddoor{ + id = "bsc1"; + dir = 2 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"BY" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ dir = 6 }, -/obj/structure/railing/corner{ - pixel_x = -23 +/obj/item/storage/belt/medical, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" }, -/turf/open/water/jungle, +/area/ruin/jungle/airbase/med) +"BZ" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"Ca" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Fy" = ( -/obj/effect/decal/cleanable/oil, +"Cb" = ( +/obj/structure/flora/grass/jungle, /obj/structure/spacevine/dense, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/spacevine{ + pixel_x = 32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Fz" = ( -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" +"Cc" = ( +/obj/structure/flora/tree/jungle{ + icon_state = "tree9" }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"FB" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 +"Cd" = ( +/obj/effect/turf_decal/number/zero{ + pixel_x = -7; + pixel_y = 32 }, -/obj/effect/turf_decal/weather/dirt{ - dir = 10 +/obj/effect/turf_decal/number/four{ + pixel_x = 6; + pixel_y = 32 }, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"FG" = ( -/obj/structure/railing{ +/obj/structure/platform/ship{ dir = 4 }, -/obj/structure/spacevine/dense, -/obj/structure/spacevine, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/effect/decal/cleanable/molten_object, +/obj/structure/salvageable/airbase/missile_launcher{ + pixel_x = -24; + pixel_y = 8 }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"FI" = ( -/obj/structure/rack, -/obj/item/storage/box/lights/mixed, -/obj/item/storage/box/lights/mixed, -/obj/item/storage/box/lights/mixed, -/turf/open/floor/plasteel/dark, -/area/overmap_encounter/planetoid/jungle/explored) -"FL" = ( -/obj/structure/reagent_dispensers/foamtank, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"Cg" = ( +/obj/structure/flora/tree/jungle/small{ + icon_state = "tree4" }, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"FR" = ( -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plasteel, +"Ch" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"FS" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 4 +"Ck" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 }, -/obj/structure/spacevine, -/turf/open/floor/plating, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"FU" = ( -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating/rust, +"Cl" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"FX" = ( -/obj/machinery/atmospherics/pipe/manifold/orange{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "4-8" +"Cn" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "radiation"; + pixel_x = -2; + pixel_y = -5 }, -/obj/structure/spacevine/dense, -/obj/structure/spacevine, -/turf/open/floor/plating, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ga" = ( -/obj/structure/railing/corner, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"Co" = ( +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 22; + pixel_x = -8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Gc" = ( -/obj/structure/frame/computer{ - anchored = 1; - dir = 8 +/obj/item/reagent_containers/condiment/peppermill{ + pixel_y = 21; + pixel_x = 12 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"Gd" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/spacevine, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/table_frame, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"Cp" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Ge" = ( -/obj/structure/flora/rock/jungle, -/obj/structure/flora/grass/jungle, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"Cq" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/dresser, +/obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, +/obj/item/gun/ballistic/automatic/smg/sidewinder/no_mag{ + pixel_y = 2; + pixel_x = 9 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Gh" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"Cu" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 }, -/turf/open/floor/wood, -/area/ruin/jungle/starport) -"Gi" = ( -/obj/structure/cable{ - icon_state = "2-9" +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"Cv" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"CB" = ( +/obj/structure/platform/military{ + dir = 6 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Gk" = ( -/obj/structure/spacevine/dense, +"CD" = ( +/obj/structure/flora/rock/jungle, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"CE" = ( +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"CF" = ( /obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/platform/military{ dir = 5 }, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Gn" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree6" +"CG" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/cable{ + icon_state = "1-2" }, -/area/overmap_encounter/planetoid/jungle/explored) -"Go" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"Gp" = ( -/obj/item/stack/sheet/mineral/plastitanium, -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"Gq" = ( /obj/structure/cable{ - icon_state = "4-9" + icon_state = "2-8" }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/jungle/airbase/tower) +"CI" = ( +/obj/machinery/shower{ + dir = 8 }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark/jungleplanet, /area/overmap_encounter/planetoid/jungle/explored) -"Gu" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +"CJ" = ( +/obj/structure/platform/military{ + dir = 5 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Gv" = ( -/turf/open/floor/plating/grass{ - desc = "A patch of grass. It looks well manicured"; - light_range = 2 +"CN" = ( +/obj/structure/spacevine{ + pixel_y = -32 }, +/obj/structure/spacevine, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"GA" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/wood{ - icon_state = "wood-broken7" +"CO" = ( +/obj/structure/platform/military{ + dir = 9 }, -/area/ruin/jungle/starport) -"GB" = ( -/obj/effect/decal/cleanable/shreds, -/turf/closed/wall, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"GC" = ( -/obj/effect/decal/cleanable/cobweb, +"CP" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/computer/monitor{ + pixel_y = 0; + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"CR" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/directional/north, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"CS" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider/nurse, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, /turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"GD" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 4 +/area/ruin/jungle/airbase/dorms) +"CT" = ( +/obj/structure/railing, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"CU" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/tower) +"CV" = ( +/obj/structure/chair{ + dir = 8; + pixel_y = 0 }, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"CW" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"GE" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plating/rust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"GM" = ( -/obj/effect/decal/cleanable/ash, -/turf/open/floor/plating/rust, +"CX" = ( +/obj/item/reagent_containers/food/snacks/meat/slab/spider, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"GO" = ( -/obj/structure/bed/pod, -/obj/structure/curtain, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"GQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +"CY" = ( +/obj/structure/table, +/obj/item/storage/box/ammo/c57x39/hp{ + pixel_x = 5 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"GR" = ( -/obj/effect/turf_decal/borderfloor{ +"Da" = ( +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"GS" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"GU" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/obj/structure/closet/crate, +/obj/item/reagent_containers/condiment/saltshaker, +/obj/item/reagent_containers/condiment/saltshaker, +/obj/item/reagent_containers/condiment/saltshaker, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = 10; + pixel_y = -10 }, -/area/overmap_encounter/planetoid/jungle/explored) -"GV" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = -8; + pixel_x = -6 }, -/obj/structure/spacevine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -9 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"Ha" = ( -/obj/structure/chair/office{ - dir = 4 +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = -7; + pixel_x = -11 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"Hc" = ( -/obj/structure/railing{ - dir = 1 +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = 4 }, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"Hd" = ( -/obj/structure/spacevine/dense, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = 6; + pixel_y = -6 }, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"He" = ( -/obj/structure/flora/rock/jungle, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = -7; + pixel_x = -2 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Hk" = ( -/obj/structure/flora/grass/jungle, -/obj/structure/flora/junglebush/c, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 0; + pixel_x = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Hm" = ( -/obj/effect/decal/cleanable/oil, -/obj/structure/railing/corner, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 6; + pixel_x = -5 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 0; + pixel_x = -4 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = -4; + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -7; + pixel_y = -4 }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 5; + pixel_x = 7 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"Db" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = -32 + }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Hs" = ( -/obj/structure/table, -/obj/item/wallframe/apc, +"Dd" = ( /obj/structure/cable{ - icon_state = "0-2" + icon_state = "1-4" }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"Ht" = ( -/obj/structure/railing/corner{ - dir = 8 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Df" = ( /obj/structure/spacevine/dense, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"Dj" = ( +/obj/effect/turf_decal/weather/dirt, +/turf/open/water/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Dk" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/structure/table/chem, +/obj/item/reagent_containers/food/drinks/waterbottle/large/empty, +/obj/structure/spider/cocoon, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Dl" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 4 }, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"Ds" = ( +/obj/structure/spacevine, +/obj/structure/platform/military/corner, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Hu" = ( -/obj/effect/decal/cleanable/vomit/old, -/obj/structure/spider/stickyweb, -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/mineral/plastitanium, +"Du" = ( +/obj/effect/turf_decal/weather/dirt/corner, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Hw" = ( +"Dw" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, /obj/structure/spider/stickyweb, -/turf/open/floor/plating/grass{ - desc = "A patch of grass. It looks well manicured"; - light_range = 2 +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"Dx" = ( +/obj/structure/barricade/security{ + layer = 2.89 + }, +/obj/machinery/porta_turret/ship/syndicate/heavy/starport{ + dir = 9; + lethal = 1 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/ruin/jungle/airbase/turrets) +"Dz" = ( +/obj/structure/closet/emcloset/anchored, +/obj/structure/platform/military{ + dir = 10 }, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Hy" = ( -/obj/structure/railing, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"DE" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"HD" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/power/floodlight{ - anchored = 1; - state_open = 1 +"DF" = ( +/obj/structure/door_assembly, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"DH" = ( +/obj/structure/platform/military, +/turf/open/floor/plating/dirt/jungle/dark, +/area/overmap_encounter/planetoid/jungle/explored) +"DI" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 3; + pixel_y = 3 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/pen{ + pixel_y = 4; + pixel_x = 2 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"DJ" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 4 }, -/obj/structure/spider/stickyweb, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/structure/chair, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"DK" = ( +/obj/mecha/working/ripley/firefighter{ dir = 4 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"HE" = ( +/obj/effect/turf_decal/rechargefloor{ + pixel_y = 0 + }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/shed) +"DL" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak2" }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"HG" = ( -/obj/structure/table/reinforced, -/obj/item/radio/intercom/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"HH" = ( -/obj/effect/decal/cleanable/ash/large, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland0" +"DM" = ( +/obj/structure/platform/military{ + dir = 10 }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"HK" = ( -/obj/item/stack/sheet/metal, -/obj/item/stack/sheet/metal, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"DP" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak5" }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"HO" = ( -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland0" - }, +"DQ" = ( +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"HR" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/vault, +"DR" = ( +/obj/effect/gibspawner/generic/animal, +/obj/item/reagent_containers/food/snacks/meat/slab/spider, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"HS" = ( -/obj/structure/cable{ - icon_state = "1-10" - }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +"DT" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/freezer, +/area/ruin/jungle/airbase/dorms) +"DU" = ( +/obj/structure/platform/military{ + dir = 1 }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"HU" = ( +"DV" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"DX" = ( /obj/effect/turf_decal/industrial/traffic{ - dir = 4 + dir = 8 }, -/turf/open/floor/concrete{ - light_range = 2 +/obj/structure/spacevine{ + pixel_y = 32 }, -/area/overmap_encounter/planetoid/jungle/explored) -"HV" = ( -/obj/effect/decal/cleanable/ash/large, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"DY" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" }, +/obj/structure/cable/yellow, +/obj/effect/radiation, +/turf/open/floor/concrete, +/area/ruin/jungle/airbase/engineering) +"DZ" = ( +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"HW" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"HY" = ( -/obj/effect/turf_decal/industrial/stand_clear{ +"Ec" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/railing/thin{ dir = 8 }, -/obj/structure/railing, -/turf/open/floor/plating, +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" + }, /area/overmap_encounter/planetoid/jungle/explored) -"HZ" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"Ic" = ( -/obj/structure/chair, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"Ig" = ( +"Ed" = ( +/obj/effect/decal/cleanable/dirt/dust, /obj/structure/spider/stickyweb, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/plasteel, +/obj/item/stack/sheet/cotton/cloth, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ik" = ( -/obj/structure/flora/junglebush, -/obj/structure/flora/junglebush/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"Eg" = ( +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-6" }, +/obj/structure/spacevine, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Io" = ( -/obj/structure/chair/comfy/shuttle{ - name = "Grav Couch"; +"Eh" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ei" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/overmap_encounter/planetoid/jungle/explored) +"Ej" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"Is" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/machinery/door/poddoor{ + id = "bsps"; dir = 4 }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/shed) +"Ek" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Iv" = ( -/obj/item/chair, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"Iw" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"Ix" = ( -/obj/structure/railing{ +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/obj/structure/spider/stickyweb, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/structure/railing/thin{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Iz" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/obj/structure/cable{ + icon_state = "1-2" }, -/area/overmap_encounter/planetoid/jungle/explored) -"IB" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' + }, +/area/ruin/jungle/airbase/hangar) +"El" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/end{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"En" = ( +/obj/effect/turf_decal/road/stripes{ + dir = 1 }, +/obj/effect/turf_decal/road{ + dir = 9 + }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"IC" = ( -/obj/structure/spacevine/dense, -/mob/living/simple_animal/hostile/poison/giant_spider/tarantula, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"Eq" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" }, +/obj/structure/spacevine/dense, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ID" = ( -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"IH" = ( -/obj/machinery/light/broken/directional/east, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"Er" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 }, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"Es" = ( +/obj/structure/platform/military/corner, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"IL" = ( -/obj/machinery/atmospherics/pipe/manifold/orange{ +"Ev" = ( +/obj/structure/chair/plastic{ dir = 4 }, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"IM" = ( -/obj/structure{ - desc = "A devastating strike weapon of times past. The mountings seem broken now."; - dir = 4; - icon = 'icons/mecha/mecha_equipment.dmi'; - icon_state = "mecha_missilerack_six"; - name = "ancient missile rack"; - pixel_x = -26; - pixel_y = -5 - }, -/obj/effect/decal/remains/human, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 9 }, -/area/overmap_encounter/planetoid/jungle/explored) -"IO" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"Ey" = ( +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"EA" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak2" + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"EC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon, +/turf/open/floor/engine/hydrogen_fuel, +/area/ruin/jungle/airbase/hangar) +"ED" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 }, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"EF" = ( +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"EG" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"IP" = ( -/obj/effect/decal/cleanable/molten_object/large, -/obj/effect/radiation{ - rad_power = 99; - rad_range = 3 +"EH" = ( +/obj/structure/platform/military{ + dir = 4 }, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland_dug"; - light_color = "#a0ad20"; - light_range = 3 +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"EI" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak1" }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"IT" = ( -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland8" +"EJ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 5 }, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"IY" = ( -/obj/structure/table/rolling, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"Ja" = ( -/obj/structure/table/reinforced, +"EK" = ( +/obj/structure/table, /obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/overmap_encounter/planetoid/jungle/explored) -"Jb" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"EM" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/turf/open/water/jungle, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/jungle/airbase) +"EN" = ( +/obj/structure/flora/grass/jungle/b, +/mob/living/simple_animal/hostile/poison/giant_spider/hunter, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Jc" = ( -/obj/structure/frame/computer, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"EP" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = -32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Jf" = ( -/obj/effect/decal/cleanable/oil, -/obj/structure/spacevine/dense, -/turf/open/floor/concrete/reinforced{ - light_range = 2 - }, +"ER" = ( +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Jh" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree4" - }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +"ES" = ( +/obj/effect/gibspawner/generic/animal, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Jm" = ( -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"Jw" = ( -/obj/structure/railing{ - dir = 10 +"EU" = ( +/obj/structure/rack, +/turf/open/floor/plasteel/mono/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"EX" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/structure/railing/corner{ - dir = 8; - pixel_x = 23 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/tower) +"EY" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt, -/area/overmap_encounter/planetoid/jungle/explored) -"Jx" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt, -/area/overmap_encounter/planetoid/jungle/explored) -"Jz" = ( -/obj/effect/turf_decal/arrows, -/turf/open/floor/concrete{ - light_range = 2 +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"JD" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable{ - icon_state = "1-8" + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/armory) +"EZ" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/concrete, +/area/ruin/jungle/airbase/engineering) +"Fb" = ( +/obj/machinery/light/directional/west, +/obj/effect/spawner/random/trash/decal, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"Fd" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable{ - icon_state = "1-6" + icon_state = "4-8" }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/mob/living/simple_animal/hostile/human/syndicate/ranged, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/tower) +"Fe" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 }, -/area/overmap_encounter/planetoid/jungle/explored) -"JE" = ( /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Fi" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Fk" = ( +/obj/effect/decal/cleanable/greenglow/filled, +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Fl" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"JL" = ( -/obj/machinery/atmospherics/components/unary/portables_connector, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"JM" = ( -/obj/structure/spacevine/dense, -/obj/structure/flora/junglebush/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"Fn" = ( +/obj/structure/table/wood, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/jungle/airbase/tower) +"Fp" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + state_open = 1 }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"JS" = ( -/obj/structure/railing/corner{ +"Fr" = ( +/obj/structure/platform/military/corner{ dir = 8 }, -/obj/structure/spacevine, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/structure/platform/military{ + dir = 8 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"JV" = ( -/obj/structure/railing, -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating{ - icon_state = "panelscorched" +"Fs" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"JW" = ( -/obj/structure/spider/stickyweb, -/obj/structure/spider/cocoon, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/obj/effect/turf_decal/techfloor, +/obj/machinery/light/directional/east, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"Fu" = ( +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun{ + wander = 0 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"JX" = ( -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"JY" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 +"Fv" = ( +/obj/structure/chair{ + dir = 8; + pixel_y = 0 }, -/turf/open/floor/plating, +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ka" = ( -/obj/structure/spider/stickyweb, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"Fy" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4 }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase) +"Fz" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/jungle/airbase/hangar) +"FB" = ( +/obj/effect/spawner/random/trash/garbage, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Kc" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 8 +"FD" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +/obj/effect/decal/cleanable/oil{ + icon_state = "streak4" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Kd" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland8" +"FE" = ( +/obj/structure/cable{ + icon_state = "2-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"Kh" = ( -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +/obj/structure/cable{ + icon_state = "2-4" }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ki" = ( -/obj/effect/decal/remains/human, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +"FF" = ( +/obj/structure/sink{ + pixel_y = 5; + dir = 4; + pixel_x = -17 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Kk" = ( -/obj/structure/spacevine, -/turf/open/floor/plating{ - icon_state = "platingdmg1" +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"FG" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Kl" = ( -/obj/structure/railing{ +/obj/machinery/telecomms/relay{ + pixel_y = 4 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) +"FH" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/chair{ dir = 1 }, /obj/structure/spider/stickyweb, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/mob/living/simple_animal/hostile/poison/giant_spider, +/obj/item/ammo_box/magazine/m10mm_ringneck{ + pixel_x = 9 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Kn" = ( -/obj/structure/flora/junglebush, -/obj/structure/flora/junglebush/b, -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/structure/spider/eggcluster, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"FK" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Kw" = ( -/obj/structure/railing{ +/obj/effect/turf_decal/techfloor{ dir = 8 }, -/obj/structure/spacevine/dense, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/mob/living/simple_animal/hostile/human/syndicate/ranged, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"FL" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"FR" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/item/paper_bin{ + pixel_y = 2; + pixel_x = -6 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Kx" = ( -/obj/item/clothing/under/syndicate/ngr, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +/obj/item/pen/edagger{ + pixel_x = -7; + pixel_y = 5 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Kz" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/grenade/c4{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/item/grenade/c4{ + pixel_x = 11; + pixel_y = 5 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) +"FV" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 }, -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/light/directional/west, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/plasma) -"KB" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/machinery/light/broken/directional/north, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"KC" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"FW" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"KD" = ( -/obj/structure/sign/syndicate{ - pixel_y = -32 +/obj/structure/railing/thin{ + dir = 1 }, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plasteel/stairs{ + dir = 4; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) -"KE" = ( -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/ruin/jungle/starport) -"KF" = ( -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/concrete{ - light_range = 2 +"FX" = ( +/obj/machinery/atmospherics/pipe/manifold/orange{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"KG" = ( -/obj/machinery/processor, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"KL" = ( -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/item/stack/cable_coil/cut/red, -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/cable{ + icon_state = "2-4" }, -/area/overmap_encounter/planetoid/jungle/explored) -"KN" = ( -/obj/item/stack/cable_coil/cut/red, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/structure/cable{ + icon_state = "1-4" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"KO" = ( +"Ga" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "2-8" }, -/obj/item/wallframe/apc, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"KQ" = ( -/obj/structure/spacevine, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt, -/area/overmap_encounter/planetoid/jungle/explored) -"KR" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/cable{ + icon_state = "2-4" }, +/mob/living/simple_animal/hostile/poison/giant_spider, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"KX" = ( -/obj/structure/railing/corner{ +"Gc" = ( +/obj/effect/turf_decal/road{ dir = 8 }, -/obj/machinery/light/directional/west, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"KY" = ( -/turf/closed/wall/concrete/reinforced, +"Gf" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"La" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/ruin/jungle/starport) -"Lb" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland2" +"Gh" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-8" }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Lf" = ( -/obj/structure/railing/corner{ - dir = 8 +"Gi" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Lh" = ( -/obj/effect/turf_decal/box/corners{ +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Gk" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ dir = 4 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/cable{ + icon_state = "4-8" }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Li" = ( -/obj/structure/spacevine, -/obj/structure/flora/rock/jungle, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"Gl" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Lk" = ( -/obj/structure/railing{ - dir = 4 +"Gm" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/table/chem, +/obj/item/lighter{ + pixel_y = 7; + pixel_x = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Lo" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"Lp" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 1 +/obj/item/storage/box/syringes{ + pixel_y = 9; + pixel_x = -12 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"Lq" = ( -/obj/structure/railing{ - dir = 1 +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Go" = ( +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/structure/railing, -/turf/open/floor/plasteel/stairs{ - dir = 8 +/obj/structure/cable{ + icon_state = "6-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"Lu" = ( -/obj/structure/flora/tree/jungle/small{ - icon_state = "tree5" +/obj/machinery/power/terminal{ + dir = 1 }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Gp" = ( +/obj/item/stack/sheet/mineral/plastitanium, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/structure/platform/military{ + dir = 1 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Lv" = ( -/obj/structure/railing{ - dir = 8 +"Gr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Gs" = ( +/obj/structure/table, +/obj/item/wrench/combat{ + pixel_y = 8; + pixel_x = -5 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"Lx" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Gt" = ( +/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ + dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Gu" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush/c, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ly" = ( -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"Gv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/dorms) +"Gw" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/end, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Gx" = ( +/obj/effect/turf_decal/road{ + dir = 8 }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"LC" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/vault, -/area/ruin/jungle/starport) -"LF" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +"Gy" = ( +/obj/structure/salvageable/airbase/cannon{ + pixel_y = -15 }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"LJ" = ( -/obj/structure/cable{ - icon_state = "4-8" +"GB" = ( +/obj/structure/platform/military{ + dir = 5 }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/structure/platform/military/corner{ + dir = 1 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"LK" = ( -/obj/machinery/suit_storage_unit/industrial/atmos_firesuit, -/obj/item/watertank/atmos, -/turf/open/floor/vault, -/area/overmap_encounter/planetoid/jungle/explored) -"LL" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/glass, +"GC" = ( +/obj/effect/spawner/bunk_bed, +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 + }, /obj/structure/spider/stickyweb, -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +/obj/machinery/light/broken/directional/east, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"GD" = ( +/obj/structure/platform/military/corner{ + dir = 8 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"LM" = ( -/obj/structure/closet, -/obj/item/clothing/suit/armor/ngr/captain, -/obj/item/clothing/under/syndicate/ngr/officer, -/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" +"GE" = ( +/obj/structure/platform/military{ + dir = 1 }, -/area/ruin/jungle/starport) -"LN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/spider/stickyweb, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"LP" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"LY" = ( +"GG" = ( +/obj/item/stack/cable_coil/cut/random, /obj/structure/spider/stickyweb, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ma" = ( -/obj/structure/spacevine/dense, -/obj/structure/flora/junglebush/large, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"GJ" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Mg" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/dorms) +"GL" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/cargo) +"GO" = ( +/obj/structure/table/reinforced, +/obj/item/folder{ + pixel_y = 6; + pixel_x = 3 + }, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"GQ" = ( +/obj/effect/decal/cleanable/greenglow/filled, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"GR" = ( +/obj/structure/platform/military{ dir = 4 }, -/turf/open/floor/plating, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Mi" = ( -/obj/machinery/light/broken/directional/west, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"Mk" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/mineral/plastitanium, -/area/overmap_encounter/planetoid/jungle/explored) -"Ml" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland0" +"GS" = ( +/turf/open/floor/concrete/slab_3, +/area/ruin/jungle/airbase/engineering) +"GT" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = -32 }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Mp" = ( -/obj/structure/table{ - name = "officer's table"; - desc = "A square piece of metal standing on four metal legs. It can not move. This one feels more important than the others" +"GU" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 8 }, -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/shreds, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"Mr" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg1" +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"GV" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/area/ruin/jungle/starport) -"Mt" = ( -/obj/structure/railing/corner{ - dir = 8 +/obj/structure/railing/thin{ + dir = 4 }, -/obj/machinery/light/broken/directional/west, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" }, /area/overmap_encounter/planetoid/jungle/explored) -"Mv" = ( -/obj/effect/decal/cleanable/oil, -/obj/structure/railing, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"GY" = ( +/obj/structure/table/optable, +/obj/item/clothing/gloves/color/latex/nitrile/evil{ + pixel_y = -8; + pixel_x = 5 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Mx" = ( -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 +/obj/effect/turf_decal/box/white, +/obj/item/reagent_containers/medigel/sterilizine{ + pixel_y = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"ME" = ( -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland9" +/obj/machinery/light/directional/west, +/obj/item/book/manual/wiki/surgery{ + pixel_x = -10; + pixel_y = 2 }, -/area/overmap_encounter/planetoid/jungle/explored) -"MF" = ( -/obj/effect/turf_decal/industrial/warning{ +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/med) +"Hb" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/obj/structure/spacevine/dense, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/mob/living/simple_animal/hostile/human/syndicate/civilian, +/obj/structure/cable{ + icon_state = "2-4" }, -/area/overmap_encounter/planetoid/jungle/explored) -"MH" = ( -/turf/open/floor/plasteel/stairs{ - dir = 4 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"Hc" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/table, +/obj/item/candle{ + pixel_y = 12; + pixel_x = 9 }, -/area/overmap_encounter/planetoid/jungle/explored) -"MQ" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"MS" = ( -/obj/item/stack/sheet/mineral/plastitanium, -/obj/item/stack/sheet/mineral/plastitanium, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/item/storage/ration/beef_strips, +/obj/structure/spider/stickyweb, +/obj/machinery/light/broken/directional/east, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"Hh" = ( +/obj/structure/spider/stickyweb, +/obj/structure/spacevine{ + pixel_x = 32 }, +/obj/structure/spacevine, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"MU" = ( -/obj/structure/railing, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +"Hi" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/shed) +"Hm" = ( +/obj/effect/spawner/bunk_bed, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"Hn" = ( +/obj/structure/platform/military/corner{ + dir = 1 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"MW" = ( -/obj/structure/railing, -/turf/open/floor/plasteel/stairs{ +"Ho" = ( +/mob/living/simple_animal/hostile/poison/giant_spider/nurse, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner, +/obj/structure/chair/office/light{ dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"MX" = ( -/obj/structure/curtain, /obj/structure/spider/stickyweb, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"MZ" = ( -/obj/item/chair, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"Nb" = ( -/obj/structure/spacevine, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Hq" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Nd" = ( -/obj/structure/spider/stickyweb, -/obj/structure/spacevine, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"Ne" = ( +/obj/structure/door_assembly, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 - }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Nf" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/vault, +"Hs" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/left{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase) +"Hv" = ( +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Nh" = ( -/obj/structure/filingcabinet, -/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" = ( -/obj/effect/turf_decal/borderfloor{ +"Hw" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 1 }, -/obj/structure/railing{ - dir = 4 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/armory) +"Hx" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"Nk" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"Nn" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/spacevine/dense, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"No" = ( -/obj/effect/decal/cleanable/insectguts, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Hy" = ( +/obj/structure/platform/military{ + dir = 10 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Nq" = ( -/obj/structure/door_assembly/door_assembly_eng, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +"HA" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Nr" = ( +"HB" = ( +/obj/structure/flippedtable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase) +"HC" = ( +/obj/item/chair, /obj/structure/spacevine, -/obj/structure/flora/grass/jungle, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Nt" = ( -/obj/structure/cable{ - icon_state = "0-2" +"HD" = ( +/obj/structure/sink{ + dir = 8; + pixel_y = 2; + pixel_x = 15 }, -/obj/machinery/power/rtg/geothermal, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Nw" = ( -/obj/effect/turf_decal/arrows{ +/obj/structure/mirror{ + pixel_x = 25; + pixel_y = 3 + }, +/obj/structure/closet/wall/directional/south, +/obj/item/soap/syndie, +/obj/item/soap/syndie, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/tower) +"HE" = ( +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"NA" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"HH" = ( +/obj/structure/platform/military{ + dir = 6 }, -/turf/open/water/jungle, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ND" = ( -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"HJ" = ( +/obj/structure/door_assembly/door_assembly_med, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"HK" = ( +/obj/structure/chair/plastic{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"HN" = ( +/obj/structure/chair/bench/red/directional/west, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 }, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"HR" = ( +/obj/structure/frame/computer, +/obj/machinery/light/broken/directional/east, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/med) +"HT" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"NF" = ( -/obj/machinery/door/airlock/external, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"HU" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "skull"; + pixel_y = -7; + pixel_x = -5 }, +/turf/closed/wall, /area/overmap_encounter/planetoid/jungle/explored) -"NK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/plasteel, +"HV" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak4" + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"NO" = ( -/obj/structure/catwalk/over/plated_catwalk, +"HX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/closet/crate/radiation, +/obj/item/stack/sheet/mineral/uranium/twenty, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"HY" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"NW" = ( -/obj/machinery/atmospherics/components/binary/pump{ +"HZ" = ( +/obj/structure/railing, +/obj/machinery/suit_storage_unit/industrial/atmos_firesuit, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"Ia" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ dir = 1 }, -/obj/structure{ - desc = "A formerly deadly laser cannon, now stuck rusting on a fightercraft."; - dir = 4; - icon = 'icons/obj/turrets.dmi'; - icon_state = "syndie_off"; - name = "defunct laser cannon"; - pixel_x = -26 +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"Ic" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Id" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"Ih" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/railing/thin/corner{ + dir = 4 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"NX" = ( -/obj/structure/table, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, +"Ii" = ( +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Oa" = ( -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, +"Ij" = ( +/obj/effect/decal/cleanable/oil, +/obj/structure/barricade/sandbags, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ob" = ( -/obj/structure/railing{ +"Il" = ( +/obj/structure/platform/military{ dir = 8 }, -/obj/structure/chair{ +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Io" = ( +/obj/machinery/computer/helm/retro{ + dir = 8; + pixel_y = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"Oc" = ( -/obj/item/stack/sheet/metal, -/obj/item/stack/sheet/metal, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) +"Ip" = ( +/obj/effect/turf_decal/road/stripes, +/obj/effect/turf_decal/road{ + dir = 8 + }, +/obj/structure/platform/military{ + dir = 4 }, +/obj/machinery/light/directional/east, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Od" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Oe" = ( +"Iq" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Is" = ( /obj/structure/cable{ - icon_state = "5-8" + icon_state = "4-8" }, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Og" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree2" +"It" = ( +/obj/structure/platform/military{ + dir = 1 }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Iv" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"Iw" = ( +/obj/structure/flora/junglebush, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = 32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Oh" = ( -/obj/structure/railing/corner, +"Iy" = ( /obj/structure/spacevine, -/obj/machinery/light/broken/directional/east, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/spacevine{ + pixel_y = 32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ok" = ( -/obj/structure/spacevine/dense, -/obj/structure/poddoor_assembly{ - dir = 4 +"IA" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/closet/wall/directional/south, +/obj/item/clothing/under/syndicate/gorlex, +/obj/item/clothing/shoes/jackboots, +/mob/living/simple_animal/hostile/poison/giant_spider/nurse, +/obj/structure/spider/stickyweb, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"IC" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"Om" = ( -/obj/structure/rack, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass/twenty, -/obj/item/stack/sheet/glass/twenty, +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"ID" = ( +/obj/effect/turf_decal/road, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"IG" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/spawner/random/trash/garbage, /turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"IJ" = ( +/obj/item/chair, +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Or" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"IK" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"IL" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"IN" = ( +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 5 }, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Os" = ( -/obj/structure/door_assembly, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"IO" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Ow" = ( -/obj/structure/catwalk/over/plated_catwalk, +"IP" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 + }, +/obj/structure/chair/bench/red/directional/west, +/obj/item/radio/intercom/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"IS" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 9 }, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"Ox" = ( -/obj/structure/table/reinforced, -/obj/item/radio/intercom/wideband/directional/east, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"OB" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/remains/human, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"IU" = ( +/obj/structure/cable{ + icon_state = "1-8" }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"IX" = ( +/obj/structure/flora/junglebush/c, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"OI" = ( -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"OK" = ( -/obj/structure/sign/syndicate{ - pixel_x = -32 +"IY" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 4 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/chair{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"OL" = ( -/obj/structure/railing{ +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"IZ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Ja" = ( +/obj/effect/turf_decal/road/stripes{ dir = 4 }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/road{ + dir = 1 }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"OM" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ +"Jb" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/middle{ dir = 4 }, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/engine/hull, -/area/ruin/jungle/starport) -"OQ" = ( -/obj/structure/flora/grass/jungle, -/obj/structure/flora/tree/jungle{ - icon_state = "tree10" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"Jc" = ( +/obj/structure/spacevine, +/turf/open/water/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Jd" = ( +/obj/item/storage/backpack/duffelbag/syndie/c4, +/obj/structure/table, +/obj/item/clothing/head/plastic_flower{ + pixel_y = 6; + pixel_x = -8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"Jf" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 }, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"Jh" = ( +/obj/structure/flora/tree/jungle{ + icon_state = "tree4" }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"OR" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel, +"Ji" = ( +/obj/structure/platform/military{ + dir = 5 + }, +/obj/structure/spacevine, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"OU" = ( -/obj/item/stack/cable_coil/cut/red, -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plasteel, +"Jk" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"OW" = ( -/obj/item/stack/ore/salvage/scrapmetal/five, +"Jl" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/ruin/jungle/starport) -"OY" = ( -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"Pa" = ( -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plating/dirt, +/area/ruin/jungle/airbase/tower) +"Jm" = ( +/obj/structure/rack, +/obj/item/grenade/chem_grenade/incendiary, +/obj/item/grenade/chem_grenade/incendiary{ + pixel_x = -9; + pixel_y = -2 + }, +/obj/item/grenade/chem_grenade/incendiary{ + pixel_x = 8; + pixel_y = 3 + }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Pc" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland6" +"Jn" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Pe" = ( -/obj/item/stack/sheet/mineral/plastitanium, -/turf/open/water/jungle, +"Jp" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 5 + }, +/obj/machinery/light/broken/directional/east, +/obj/machinery/reagentgrinder{ + pixel_y = 15 + }, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Jq" = ( +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Pf" = ( -/obj/machinery/power/terminal, -/obj/structure/cable, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Pg" = ( -/obj/structure/spider/stickyweb, +"Jr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"Ph" = ( -/obj/machinery/atmospherics/pipe/manifold/orange{ +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ dir = 4 }, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Pk" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland8" +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Js" = ( +/obj/machinery/computer/card{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Pl" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"Jt" = ( /obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/nurse, -/turf/open/floor/plasteel, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Pm" = ( -/obj/structure/railing{ - dir = 6 +"Jv" = ( +/obj/structure/cable{ + icon_state = "1-10" }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/structure/cable{ + icon_state = "1-2" }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Pn" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"Jw" = ( +/obj/structure/spacevine, +/obj/structure/spacevine, +/obj/structure/platform/military/corner{ + dir = 1 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Po" = ( -/turf/open/floor/plasteel/stairs/left{ - dir = 8 +"Jz" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Pr" = ( -/obj/structure/girder/displaced, -/turf/open/floor/mineral/plastitanium, -/area/overmap_encounter/planetoid/jungle/explored) -"Ps" = ( -/obj/structure/railing{ - dir = 8 +/obj/structure/chair, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"JA" = ( +/obj/machinery/door/airlock/external{ + dir = 4; + id_tag = "bss" }, -/obj/structure/railing{ - dir = 4 +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/stairs, -/area/overmap_encounter/planetoid/jungle/explored) -"Pv" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"Pw" = ( -/obj/structure/table/reinforced, -/obj/item/pen{ - pixel_x = 3; - pixel_y = 8 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/item/paper_bin, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"Px" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"Py" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/overmap_encounter/planetoid/jungle/explored) -"Pz" = ( -/obj/structure/railing{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/effect/decal/cleanable/blood/drip, -/obj/structure/chair, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"PA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"JB" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"PB" = ( -/obj/effect/turf_decal/weather/dirt, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"PC" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/structure/window/plasma/reinforced{ - dir = 8 +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/plasma) -"PG" = ( -/obj/machinery/door/airlock/glass, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"PI" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/obj/structure/cable{ + icon_state = "4-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"PJ" = ( -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"PN" = ( +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"JC" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/structure/chair/bench/red/directional/south, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland0" +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) +"JD" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = -32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"PP" = ( -/obj/structure/closet/firecloset/full{ - anchored = 1 +"JE" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"JG" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 }, -/obj/item/extinguisher/advanced, -/obj/item/geiger_counter, -/obj/structure/railing{ - dir = 6 +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"JH" = ( +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider/nurse/midwife, +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"JJ" = ( +/obj/structure/spider/stickyweb, +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 1 }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"PQ" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 +"JK" = ( +/obj/structure/platform/military/corner{ + dir = 4 }, -/obj/effect/turf_decal/weather/dirt, -/turf/open/water/jungle, +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"PR" = ( -/obj/structure/spacevine, -/turf/open/floor/plating/dirt, +"JL" = ( +/obj/structure/table, +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"JN" = ( +/obj/effect/turf_decal/road{ + dir = 9 + }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"PV" = ( -/obj/structure/closet, -/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, -/turf/open/floor/plating{ - icon_state = "panelscorched" +"JS" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/area/ruin/jungle/starport) -"PX" = ( -/obj/structure/railing{ - dir = 1 +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"JT" = ( +/obj/effect/turf_decal/road/stripes, +/obj/effect/turf_decal/road{ + dir = 10 }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"PY" = ( -/obj/structure/flora/rock, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"JU" = ( +/obj/structure/platform/military/corner{ + dir = 4 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Qa" = ( -/obj/structure/railing{ - dir = 10 +"JV" = ( +/obj/structure/chair/stool{ + dir = 4 }, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider/nurse/midwife, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"JY" = ( +/obj/structure/platform/military{ + dir = 8 }, +/obj/structure/spacevine, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Qb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +"Ka" = ( +/turf/closed/wall, +/area/ruin/jungle/airbase/engineering) +"Kc" = ( +/obj/structure/platform/ship/corner{ + dir = 8 }, +/obj/effect/decal/cleanable/oil{ + icon_state = "streak2" + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Qg" = ( -/obj/structure/railing, -/obj/structure/spacevine, -/obj/structure/railing{ +"Kd" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/arrows/white, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/arrows/white{ dir = 4 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/turf_decal/arrows/white{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"Qj" = ( -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"Qk" = ( -/obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"Kf" = ( +/obj/structure/spider/stickyweb, +/obj/structure/table_frame, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"Kg" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"Ql" = ( -/obj/machinery/door/airlock/glass, -/turf/open/floor/plasteel/tech/techmaint, -/area/overmap_encounter/planetoid/jungle/explored) -"Qo" = ( -/obj/machinery/power/floodlight{ - anchored = 1; - state_open = 1 +/turf/open/floor/concrete, +/area/ruin/jungle/airbase/engineering) +"Kk" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/cargo) +"Kl" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 5 }, +/obj/machinery/firealarm/directional/north, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"Km" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"Qp" = ( -/obj/effect/turf_decal/weather/dirt{ +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 4 }, -/obj/effect/turf_decal/weather/dirt{ +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"Kn" = ( +/obj/effect/turf_decal/weather/dirt/corner{ dir = 8 }, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 4 + }, +/obj/structure/spacevine, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Qq" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Qy" = ( -/obj/structure/railing{ - dir = 8 +"Ko" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = -32 }, -/turf/open/floor/plating, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"QC" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/spacevine, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"Kp" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 }, -/area/overmap_encounter/planetoid/jungle/explored) -"QD" = ( -/obj/structure/spider/stickyweb, -/obj/structure/spider/cocoon, -/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"Ks" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"QE" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ruin/jungle/starport) -"QF" = ( -/obj/structure/flora/tree/jungle/small, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"Kt" = ( +/obj/effect/turf_decal/hardline_small/right{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"QJ" = ( -/obj/structure/spider/stickyweb, -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 }, -/area/overmap_encounter/planetoid/jungle/explored) -"QL" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/oil, -/obj/structure/spacevine, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) +"Ku" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' }, -/area/overmap_encounter/planetoid/jungle/explored) -"QN" = ( -/obj/structure/railing/corner{ - dir = 8 +/area/ruin/jungle/airbase/hangar) +"Kv" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/decal/cleanable/glass, -/obj/structure/spider/stickyweb, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/tower) +"Kx" = ( +/obj/machinery/light/directional/north, +/obj/structure/salvageable/airbase/cannon, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"KA" = ( +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"QO" = ( -/obj/machinery/suit_storage_unit/industrial/atmos_firesuit, -/obj/item/watertank/atmos, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/vault, -/area/ruin/jungle/starport) -"QS" = ( -/obj/structure/girder/displaced, +"KB" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/door_assembly, +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"QT" = ( -/obj/structure{ - desc = "A formerly deadly laser cannon, now stuck rusting on a fightercraft."; - dir = 4; - icon = 'icons/obj/turrets.dmi'; - icon_state = "syndie_off"; - name = "defunct laser cannon"; - pixel_x = -26 - }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, +"KC" = ( +/obj/structure/platform/military, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"QU" = ( -/obj/machinery/door/airlock{ +"KE" = ( +/obj/structure/spacevine, +/obj/structure/platform/military{ dir = 4 }, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"QV" = ( -/obj/machinery/power/apc/auto_name/directional/east{ - start_charge = 0 - }, -/obj/structure/cable, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"QW" = ( -/obj/structure/spider/stickyweb, -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"QY" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"QZ" = ( -/obj/structure/spider/stickyweb, -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"Rc" = ( -/obj/structure/closet, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/under/syndicate/combat, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Rd" = ( -/obj/effect/radiation{ - rad_power = 180; - rad_range = 2 +"KF" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 }, -/obj/effect/decal/cleanable/molten_object/large, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland_dug"; - light_color = "#a0ad20"; - light_range = 3 +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Rf" = ( -/obj/structure/railing, -/turf/open/floor/plating/dirt, -/area/overmap_encounter/planetoid/jungle/explored) -"Rg" = ( -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland8" +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"KH" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Rh" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/structure/railing{ +"KI" = ( +/obj/structure/spacevine, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ dir = 1 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"KJ" = ( +/obj/structure/cable{ + icon_state = "2-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"Ri" = ( -/obj/effect/decal/cleanable/generic, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"Rn" = ( -/obj/structure/table/reinforced, -/obj/item/folder, -/obj/item/paper_bin, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"Rq" = ( -/obj/machinery/power/smes, /obj/structure/cable{ - icon_state = "0-8" + icon_state = "4-8" }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"Rw" = ( -/obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/tower) +"KK" = ( +/obj/structure/table, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/storage/ration/beef_strips{ + pixel_y = 2; + pixel_x = 9 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"KM" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/spider/stickyweb, +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Rx" = ( -/obj/structure/railing, -/obj/structure/spacevine, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"KN" = ( +/obj/structure/platform/military/corner{ + dir = 8 }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Rz" = ( -/obj/structure/railing{ +"KQ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ dir = 8 }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/machinery/door/poddoor{ + id = "bsh1"; + dir = 4 }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"KR" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"RC" = ( -/obj/structure/flora/grass/jungle/b, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"KS" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "0-2" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"RG" = ( -/obj/item/rack_parts, -/obj/structure/rack, -/turf/open/floor/plasteel/dark, -/area/overmap_encounter/planetoid/jungle/explored) -"RI" = ( -/obj/effect/decal/cleanable/shreds, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/ash, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"KT" = ( +/obj/structure/window/reinforced{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"RP" = ( -/obj/structure/spider/stickyweb, -/obj/structure/spacevine, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/structure/closet/secure_closet/security{ + populate = 0; + icon_state = "syndicate"; + name = "operative's locker" }, -/area/overmap_encounter/planetoid/jungle/explored) -"RQ" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 8; - anchored = 0 +/obj/item/melee/knife/combat, +/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." }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/item/flashlight/seclite, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"KU" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"RR" = ( -/obj/structure/cable{ - icon_state = "6-9" +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/machinery/telecomms/bus{ + pixel_y = 0; + pixel_x = 1 }, /obj/structure/cable{ - icon_state = "4-9" + icon_state = "0-4" }, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/turf/open/floor/plasteel/mono/white, +/area/ruin/jungle/airbase/tower) +"KV" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 8 }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"KX" = ( +/obj/structure/platform/military, +/obj/structure/spacevine, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"RU" = ( -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/plasteel, +"KY" = ( +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"RV" = ( +"Lb" = ( +/obj/structure/flora/rock/pile, /obj/structure/spacevine/dense, -/obj/effect/turf_decal/weather/dirt, -/turf/open/water/jungle, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"RZ" = ( -/obj/structure/railing, -/turf/open/water/jungle, +"Ld" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/spacevine, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Sd" = ( -/obj/structure/closet, -/obj/machinery/light/broken/directional/east, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ruin/jungle/starport) -"Se" = ( -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"Sf" = ( +"Lf" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Lg" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/door/airlock/engineering{ - name = "Power Shack" +/obj/machinery/door/airlock/grunge{ + dir = 2; + name = "Command" }, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Sl" = ( -/obj/structure/rack, -/turf/open/floor/vault, -/area/ruin/jungle/starport) -"Sm" = ( -/turf/closed/wall/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"Ss" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/tower) +"Li" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 6 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"Sv" = ( -/turf/open/floor/vault, -/area/ruin/jungle/starport) -"Sz" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 +/obj/item/reagent_containers/glass/beaker{ + pixel_y = 13; + pixel_x = 7 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"SB" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 +/obj/item/reagent_containers/glass/beaker{ + pixel_y = 2 }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"SD" = ( -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam5" +/obj/item/reagent_containers/glass/beaker{ + pixel_y = 8; + pixel_x = 11 }, -/area/ruin/jungle/starport) -"SG" = ( +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Lo" = ( /obj/structure/spacevine, -/obj/structure/flora/grass/jungle, -/obj/structure/flora/junglebush/b, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +/obj/structure/spacevine, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"SH" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 +"Lp" = ( +/obj/structure/platform/military, +/obj/effect/decal/cleanable/oil{ + icon_state = "streak4" }, -/turf/open/water/jungle, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"SM" = ( -/obj/effect/decal/cleanable/shreds, -/obj/effect/decal/cleanable/dirt/dust, +"Lt" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland1" +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"Lu" = ( +/obj/structure/flora/tree/jungle/small{ + icon_state = "tree5" }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"SS" = ( -/obj/structure/bed/pod, -/obj/structure/curtain, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"SX" = ( -/obj/structure/cable{ - icon_state = "4-8" +"Lv" = ( +/obj/machinery/light/directional/east, +/obj/structure/filingcabinet/double/grey{ + dir = 8 }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 +/obj/item/folder, +/obj/item/folder, +/obj/item/folder, +/obj/item/clipboard, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/obj/item/pen/fountain, +/obj/item/pen/blue, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"Ly" = ( +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Lz" = ( +/obj/machinery/computer/telecomms/monitor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"LB" = ( +/obj/effect/turf_decal/road/stripes, +/obj/effect/turf_decal/road{ + dir = 8 }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ta" = ( -/obj/structure/table, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"Tb" = ( +"LC" = ( +/obj/structure/flora/junglebush/c, /obj/structure/spacevine, -/obj/effect/turf_decal/weather/dirt{ - dir = 9 +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"LE" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/railing/thin{ + dir = 5 }, -/turf/open/water/jungle, +/obj/item/radio/intercom/directional/west, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"LF" = ( +/obj/structure/spacevine, +/obj/effect/gibspawner/generic/animal, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Td" = ( -/obj/machinery/atmospherics/components/binary/valve{ - dir = 1 +"LG" = ( +/obj/structure/spider/stickyweb, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"LJ" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 }, /obj/structure/cable{ - icon_state = "2-8" + icon_state = "1-8" }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"Te" = ( -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam4" +/obj/structure/cable{ + icon_state = "4-8" }, -/area/ruin/jungle/starport) -"Tn" = ( -/obj/machinery/washing_machine, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"To" = ( -/obj/item/weldingtool, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/jungle/airbase/tower) +"LM" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Tr" = ( -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"Tt" = ( -/obj/effect/turf_decal/arrows{ - dir = 8 +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/tower) +"LO" = ( +/obj/structure/platform/military{ + dir = 8 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Tu" = ( -/obj/structure/railing{ - dir = 10 +"LP" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"TA" = ( -/obj/structure/flora/grass/jungle, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/hardline_small/left{ + dir = 4 }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) +"LS" = ( +/obj/structure/platform/military/corner, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"TD" = ( -/obj/structure/railing, -/obj/structure/spider/stickyweb, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"LT" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 5 }, -/area/overmap_encounter/planetoid/jungle/explored) -"TF" = ( -/obj/structure/table/reinforced, -/obj/item/folder, -/obj/item/pen, -/obj/machinery/light/broken/directional/north, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"TK" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"LU" = ( +/obj/structure/platform/military{ + dir = 6 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"TN" = ( -/obj/structure/railing/corner, -/obj/effect/decal/cleanable/oil, -/obj/structure/spider/stickyweb, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"LX" = ( +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-9" }, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"TO" = ( -/obj/structure/chair{ - dir = 1 +"LY" = ( +/obj/structure/chair/bench/red/directional/west, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"LZ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 4 }, -/obj/effect/decal/cleanable/ash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Ma" = ( +/obj/structure/flora/junglebush/large, +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"TT" = ( -/obj/structure/railing/corner, -/obj/machinery/light/broken/directional/east, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"Mc" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak4" }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"TU" = ( -/obj/structure/flora/rock/jungle, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"Me" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" }, -/area/overmap_encounter/planetoid/jungle/explored) -"TW" = ( -/obj/structure/spider/stickyweb, -/obj/item/stack/sheet/metal, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"TY" = ( -/obj/effect/decal/cleanable/ash, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plating, +/area/ruin/jungle/airbase/tower) +"Mf" = ( +/obj/structure/flora/tree/jungle{ + icon_state = "tree10" }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"TZ" = ( -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/dark, -/area/overmap_encounter/planetoid/jungle/explored) -"Ua" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 +"Mg" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/water/jungle, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Uc" = ( -/obj/structure/spacevine, -/obj/structure/salvageable/autolathe, -/turf/open/floor/vault, -/area/ruin/jungle/starport) -"Ue" = ( -/obj/structure/spacevine, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam4" +"Mh" = ( +/obj/structure/spider/stickyweb, +/obj/structure/rack, +/obj/item/towel, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ml" = ( +/obj/structure/closet/secure_closet/medical3{ + populate = 0 }, -/area/ruin/jungle/starport) -"Ug" = ( -/obj/structure/chair{ - dir = 8 +/obj/item/defibrillator, +/obj/item/clothing/under/syndicate/medic, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/head/soft/cybersun/medical, +/obj/item/clothing/suit/toggle/labcoat/raincoat, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 6 }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"Uj" = ( -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"Up" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/clothing/glasses/hud/health/sunglasses, +/obj/item/storage/box/bodybags, +/obj/machinery/light/directional/east, +/obj/item/clothing/neck/stethoscope, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" }, -/turf/open/floor/plasteel/stairs{ - dir = 4 +/area/ruin/jungle/airbase/med) +"Mm" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak1" }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ur" = ( -/obj/structure/railing{ +"Mn" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ dir = 1 }, +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning, +/obj/machinery/door/airlock/grunge, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/turf/open/floor/plasteel/stairs{ - dir = 8 +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/shed) +"Mp" = ( +/obj/effect/turf_decal/syndicateemblem/middle/left{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase) +"Mq" = ( +/obj/structure/flora/junglebush/large, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Us" = ( -/obj/effect/turf_decal/borderfloor/corner{ +"Mr" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/corner/transparent/syndiered/border{ dir = 1 }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"Ut" = ( -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland5" +/obj/structure/spacevine, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"Ms" = ( +/obj/structure/platform/military{ + dir = 6 }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Uw" = ( -/obj/structure/railing{ - dir = 1 +"Mt" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Mw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 }, -/turf/open/floor/plating/rust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Mx" = ( +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ux" = ( -/obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/nurse, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"Uz" = ( -/obj/structure/table, -/obj/structure/bedsheetbin, +"ME" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/item/kirbyplants/random{ + pixel_x = 9 + }, /obj/structure/spider/stickyweb, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"UB" = ( -/obj/structure/spacevine, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"UC" = ( -/obj/item/chair, -/obj/machinery/light/directional/west, +/obj/item/ammo_box/magazine/m57_39_sidewinder{ + start_empty = 1; + pixel_y = 6 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, /turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"UE" = ( -/turf/template_noop, -/area/template_noop) -"UG" = ( -/obj/effect/turf_decal/rechargefloor, -/obj/mecha/working/ripley/firefighter, -/turf/open/floor/vault, -/area/ruin/jungle/starport) -"UI" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland6" +/area/ruin/jungle/airbase/dorms) +"MF" = ( +/obj/machinery/computer/operating, +/obj/machinery/light/broken/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/med) +"MG" = ( +/obj/structure/table, +/obj/machinery/button/door{ + pixel_y = 9; + pixel_x = -23; + name = "shutter control"; + id = "bshy1"; + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"UL" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/radio/intercom/directional/south, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/spawner/random/trash/crushed_can, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"MH" = ( +/obj/effect/turf_decal/syndicateemblem/top/left{ + dir = 4 }, -/obj/structure/spacevine/dense, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"UQ" = ( -/obj/structure/railing{ - dir = 9 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"MI" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/cable{ + icon_state = "2-4" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"UR" = ( -/obj/structure/flora/junglebush/large, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 - }, +"MJ" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"US" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland1" +"MK" = ( +/obj/structure/platform/military{ + dir = 5 }, +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"UT" = ( -/obj/effect/turf_decal/box/corners{ +"MM" = ( +/obj/effect/turf_decal/syndicateemblem/middle/right{ dir = 4 }, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase) +"MO" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"UX" = ( -/obj/structure/spacevine, -/obj/structure/spacevine, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +"MQ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/obj/structure/chair/comfy/shuttle{ + name = "grav couch"; + dir = 4; + pixel_y = 5; + desc = "A comfortable seat designed to keep the seated from slipping under while partaking in intense manuevers" + }, +/obj/machinery/button/door{ + pixel_x = -23; + pixel_y = -9; + dir = 4; + name = "door bolt"; + normaldoorcontrol = 1; + specialfunctions = 4; + id = "s1" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) +"MS" = ( +/obj/structure/platform/military{ + dir = 4 }, +/obj/structure/spacevine, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Vd" = ( -/obj/machinery/light/broken/directional/west, -/turf/open/floor/plasteel, +"MU" = ( +/obj/structure/platform/military, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Vf" = ( -/obj/effect/decal/cleanable/glass, -/obj/structure/spider/stickyweb, -/turf/open/floor/plasteel, +"MX" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Vh" = ( -/obj/item/stack/sheet/metal, -/turf/open/floor/plasteel, -/area/ruin/jungle/starport) -"Vl" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ +"MZ" = ( +/obj/structure/railing/thin{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/plasma) -"Vm" = ( -/turf/open/floor/plasteel/stairs/right{ +/obj/structure/table/reinforced, +/obj/item/megaphone{ + pixel_y = 9; + pixel_x = 5 + }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"Na" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Vp" = ( -/obj/structure/sign/syndicate{ - pixel_y = -32 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Nb" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/concrete/slab_2, +/area/ruin/jungle/airbase/engineering) +"Nc" = ( +/obj/machinery/atmospherics/components/binary/volume_pump/layer4{ + dir = 1 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/machinery/atmospherics/components/binary/volume_pump/layer2, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Vs" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Nf" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Nh" = ( +/obj/structure/platform/military/corner, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Vt" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg3" +"Ni" = ( +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" }, /area/overmap_encounter/planetoid/jungle/explored) -"Vv" = ( -/obj/structure/railing, -/obj/structure/railing{ - dir = 8 +"Nj" = ( +/obj/structure/platform/military{ + dir = 1 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Vz" = ( -/obj/structure/spider/stickyweb, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"VB" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"VF" = ( -/obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"VJ" = ( -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/turf/open/floor/plasteel/stairs{ + dir = 4; + icon = 'icons/obj/stairs.dmi' }, /area/overmap_encounter/planetoid/jungle/explored) -"VN" = ( -/obj/structure/spacevine, -/obj/structure/flora/junglebush/b, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"Nk" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/area/overmap_encounter/planetoid/jungle/explored) -"VT" = ( -/obj/structure/table, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"VV" = ( -/obj/structure/chair{ +/obj/effect/turf_decal/techfloor{ dir = 8 }, -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"VW" = ( -/obj/structure/railing{ - dir = 8 +/obj/structure/railing/thin/corner{ + dir = 4 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/cable{ + icon_state = "1-2" }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"Nm" = ( +/obj/structure/platform/military, +/obj/machinery/light/directional/south, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Wd" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +"No" = ( +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Nq" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"We" = ( -/obj/structure/spacevine/dense, -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/structure/chair{ + dir = 8; + pixel_y = 0 }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase) +"Nu" = ( +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Wg" = ( -/obj/structure/flora/grass/jungle, -/obj/structure/flora/junglebush, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"Nx" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Wi" = ( -/obj/structure/table_frame, +/obj/structure/spider/stickyweb, /turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"NA" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/platform/military, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Wk" = ( -/obj/effect/turf_decal/industrial/warning{ +"ND" = ( +/obj/effect/turf_decal/syndicateemblem/top/middle{ dir = 4 }, -/obj/structure/spacevine, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"NE" = ( +/obj/machinery/suit_storage_unit{ + state_open = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Wl" = ( -/obj/structure/sink{ - pixel_y = 17 +/obj/machinery/light/directional/west, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"NF" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/structure/mirror{ - pixel_y = 30 +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = -32 }, -/turf/open/floor/plasteel/patterned, -/area/ruin/jungle/starport) -"Wo" = ( -/turf/closed/wall, -/area/ruin/jungle/starport) -"Wp" = ( -/obj/effect/turf_decal/atmos/plasma, -/obj/structure/spacevine, -/turf/open/floor/plating/rust, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Wt" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/ash, -/obj/item/stack/ore/salvage/scrapmetal/five, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"NH" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/area/overmap_encounter/planetoid/jungle/explored) -"Wu" = ( -/obj/structure/spider/stickyweb, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/decal/cleanable/crayon{ + icon_state = "radiation"; + pixel_x = -8; + pixel_y = -4 }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Wv" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland7" +"NL" = ( +/obj/effect/spawner/random/trash/grime, +/obj/effect/decal/cleanable/oil{ + icon_state = "streak1" }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Ww" = ( -/obj/effect/turf_decal/industrial/traffic{ +"NM" = ( +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg{ + wander = 0 + }, +/turf/open/floor/plasteel/mono/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"NN" = ( +/obj/machinery/modular_computer/console/preset/command{ dir = 8 }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"NO" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"Wx" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"WA" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"WD" = ( -/obj/structure/girder, -/obj/item/stack/sheet/mineral/plastitanium, -/obj/item/stack/sheet/mineral/plastitanium, -/turf/open/floor/plating/rust, +/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"WH" = ( -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plating/rust, +"NP" = ( +/obj/structure/flora/junglebush/c, +/obj/structure/spacevine, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"WJ" = ( -/obj/structure/railing{ +"NQ" = ( +/obj/effect/turf_decal/techfloor/corner{ dir = 4 }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +/obj/effect/turf_decal/techfloor{ + dir = 10 }, -/area/overmap_encounter/planetoid/jungle/explored) -"WO" = ( -/obj/structure/door_assembly, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating/rust, -/area/overmap_encounter/planetoid/jungle/explored) -"WQ" = ( -/obj/machinery/door/airlock/hatch, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"WR" = ( -/obj/structure/frame/computer{ +/obj/effect/turf_decal/arrows/white{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"WT" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/jungle/explored) -"WU" = ( -/obj/machinery/door/airlock/glass{ - name = "Flight Control" +/obj/effect/turf_decal/arrows/white{ + dir = 1 }, /obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/poddoor{ - id = "jbs2" + icon_state = "1-4" }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"WV" = ( -/obj/structure/frame/machine, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"WZ" = ( +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"NS" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, /obj/structure/chair, -/obj/item/stack/sheet/metal, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"Xb" = ( +/mob/living/simple_animal/hostile/poison/giant_spider/nurse, +/obj/structure/spider/stickyweb, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"NW" = ( +/obj/structure/spacevine, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland3" - }, -/area/overmap_encounter/planetoid/jungle/explored) -"Xe" = ( -/obj/structure/door_assembly, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 - }, -/area/overmap_encounter/planetoid/jungle/explored) -"Xg" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/remains/human, -/turf/open/floor/wood{ - icon_state = "wood-broken5" +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/ruin/jungle/airbase/turrets) +"NY" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/chair{ + dir = 1 }, -/area/ruin/jungle/starport) -"Xk" = ( /obj/structure/spider/stickyweb, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ruin/jungle/starport) -"Xm" = ( -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"NZ" = ( +/mob/living/simple_animal/hostile/human/syndicate/ranged{ + wander = 0 }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Xq" = ( -/obj/structure/girder, -/turf/open/floor/plating/rust, -/area/ruin/jungle/starport) -"Xr" = ( -/obj/machinery/atmospherics/pipe/manifold/orange{ - dir = 8 +"Og" = ( +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/machinery/light/directional/west, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Xw" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ dir = 8 }, -/obj/structure/window/plasma/reinforced{ +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Oh" = ( +/obj/effect/turf_decal/weather/dirt{ dir = 4 }, -/turf/open/floor/plating/rust, +/obj/structure/platform/military, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Xz" = ( -/obj/structure/table, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle/starport) -"XA" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - dir = 4; - pixel_x = -6; - id = "jbs2"; - name = "Emergency Blast Shutters" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"XC" = ( -/obj/effect/decal/remains/human, -/obj/effect/decal/cleanable/vomit/old, -/obj/item/clothing/under/syndicate/ngr/officer, -/obj/item/clothing/suit/armor/ngr/captain, -/obj/item/clothing/shoes/combat, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport/tower) -"XN" = ( +"Ok" = ( +/obj/machinery/light/directional/east, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/flora/junglebush, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Op" = ( +/obj/structure/platform/military{ + dir = 4 }, +/turf/open/floor/plating/dirt/jungle/dark, /area/overmap_encounter/planetoid/jungle/explored) -"XP" = ( -/obj/structure/railing, -/obj/structure/closet/secure_closet/engineering_welding{ - anchored = 1 - }, -/turf/open/floor/concrete/reinforced{ - light_range = 2 +"Os" = ( +/obj/structure/railing/thin{ + dir = 1 }, -/area/overmap_encounter/planetoid/jungle/explored) -"XR" = ( -/turf/open/floor/plasteel/stairs/right{ +/obj/machinery/power/smes/engineering, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Ow" = ( +/obj/structure/platform/military/corner, +/obj/structure/platform/military{ dir = 8 }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"XV" = ( -/obj/structure/cable{ - icon_state = "2-4" +"Ox" = ( +/obj/effect/turf_decal/corner/opaque/syndiered, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase) +"OB" = ( +/mob/living/simple_animal/hostile/human/syndicate/civilian, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"OD" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"OE" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + state_open = 1 }, /obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/dirt/dark{ - name = "beaten path"; - desc = "Upon closer examination, it's dirt, compacted down by much walking"; - light_range = 2 + icon_state = "0-6" }, +/obj/effect/turf_decal/box, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"XX" = ( -/obj/structure/closet, -/obj/structure/spider/stickyweb, -/obj/structure/spider/cocoon{ - icon_state = "cocoon3" +"OF" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/turf_decal/arrows/white, +/obj/effect/turf_decal/arrows/white{ + dir = 4 }, -/area/ruin/jungle/starport) -"Ya" = ( -/obj/structure/spacevine/dense, -/turf/open/water/jungle, -/area/overmap_encounter/planetoid/jungle/explored) -"Yh" = ( +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"OG" = ( +/obj/structure/barricade/sandbags, /obj/structure/spacevine, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Yi" = ( -/obj/structure/railing, -/obj/structure/railing{ - dir = 4 +"OI" = ( +/obj/machinery/suit_storage_unit/inherit{ + state_open = 1 }, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/obj/item/clothing/under/syndicate/combat{ + name = "compression suit"; + desc = "A specialized suit designed to compress the wearer, and prevent blackouts during high gravity manuevers." + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/suit/space/syndicate/black/red, +/obj/item/clothing/head/helmet/space/syndicate/black/red, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/shed) +"OL" = ( +/obj/structure/platform/military{ + dir = 9 }, +/turf/open/water/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Yj" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Ym" = ( -/obj/effect/turf_decal/industrial/stand_clear{ +"ON" = ( +/obj/effect/turf_decal/borderfloorblack{ dir = 8 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 }, -/area/overmap_encounter/planetoid/jungle/explored) -"Yn" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/light/directional/east, +/obj/structure/barricade/sandbags, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"OQ" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/tree/jungle{ + icon_state = "tree10" }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"OT" = ( +/obj/structure/salvageable/airbase/missile_launcher{ + pixel_x = -24; + pixel_y = -6 }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Yo" = ( -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/mineral/plastitanium, +"OU" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Yr" = ( -/obj/structure/table/reinforced, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"Yw" = ( -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating/grass{ - desc = "A patch of grass. It looks well manicured"; - light_range = 2 +"OV" = ( +/mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper, +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 4 }, +/obj/effect/turf_decal/borderfloorblack/corner, +/turf/open/floor/plasteel/dark/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Yx" = ( -/obj/structure/cable{ - icon_state = "4-8" +"OW" = ( +/obj/structure/flora/tree/jungle/small{ + icon_state = "tree1" }, /obj/structure/spacevine, -/turf/open/floor/mineral/plastitanium, -/area/ruin/jungle/starport) -"Yz" = ( -/obj/effect/decal/cleanable/glass, -/mob/living/simple_animal/hostile/poison/giant_spider/tarantula, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"YA" = ( -/obj/machinery/blackbox_recorder, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/jungle/starport/tower) -"YC" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, +"OY" = ( +/obj/structure/spacevine, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"YD" = ( -/obj/structure/railing/corner{ - dir = 8 +"OZ" = ( +/obj/structure/table/reinforced, +/obj/item/storage/guncase/pistol/a357{ + pixel_y = 6 }, -/obj/structure/railing{ +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"Pa" = ( +/obj/structure/platform/military{ dir = 1 }, /obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 - }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"YE" = ( -/obj/effect/decal/cleanable/shreds, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"Pb" = ( +/obj/effect/turf_decal/road/stripes{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"YH" = ( -/obj/effect/decal/cleanable/shreds, -/obj/item/stack/sheet/metal, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/turf_decal/road{ + dir = 10 }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"YI" = ( -/obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plating{ - icon_state = "panelscorched" +"Pc" = ( +/obj/structure/chair/office, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Pd" = ( +/obj/machinery/light/directional/south, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen/edagger{ + pixel_x = 4; + pixel_y = 2 }, -/area/ruin/jungle/starport) -"YL" = ( -/obj/structure/spacevine, -/turf/closed/wall/concrete/reinforced, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Pe" = ( +/obj/item/stack/sheet/mineral/plastitanium, +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"YN" = ( +"Pf" = ( +/obj/effect/spawner/random/maintenance/two, +/obj/structure/closet/crate/trashcart/laundry, +/obj/item/clothing/under/syndicate/gorlex, +/obj/item/clothing/under/syndicate/gorlex, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland5" +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ph" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/hardline_small/right{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) +"Pi" = ( +/obj/structure/platform/military, +/obj/structure/spacevine{ + pixel_y = 32 }, +/turf/open/floor/plating/dirt/jungle/dark/lit, /area/overmap_encounter/planetoid/jungle/explored) -"YP" = ( -/obj/structure/flora/grass/jungle/b, -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"Pj" = ( +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/structure/spacevine, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"YQ" = ( -/obj/structure/table, +"Pk" = ( +/obj/structure/flora/grass/jungle, /obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"YR" = ( -/obj/structure/closet, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"YS" = ( -/obj/structure/spider/stickyweb, -/obj/structure/spider/cocoon{ - icon_state = "cocoon3" +"Pl" = ( +/obj/effect/decal/cleanable/ash{ + pixel_x = -6; + pixel_y = -6 }, -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"YV" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +/obj/effect/decal/cleanable/ash{ + pixel_x = -8; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 8; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/tile/plasteel/white{ + pixel_y = 6; + pixel_x = -4 }, +/mob/living/simple_animal/hostile/human/syndicate/civilian, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/tower) +"Pm" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"YW" = ( -/obj/structure/flora/junglebush, -/turf/open/floor/plating/grass/jungle{ - light_range = 2 +"Pp" = ( +/obj/effect/turf_decal/road{ + dir = 10 }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"YX" = ( -/obj/effect/decal/cleanable/oil, +"Pq" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"Ps" = ( +/obj/item/chair, +/obj/structure/flora/grass/jungle, /obj/structure/spacevine, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Zd" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 4 +"Pt" = ( +/obj/structure/platform/military{ + dir = 9 }, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Pu" = ( +/obj/structure/flora/rock/jungle, /obj/structure/spacevine/dense, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Px" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Zg" = ( -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland4" +"Py" = ( +/obj/structure/chair/plastic{ + dir = 8 }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"PB" = ( +/obj/effect/turf_decal/weather/dirt, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Zi" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 +"PE" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/concrete{ - light_range = 2 +/obj/structure/cable{ + icon_state = "2-9" }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Zl" = ( -/obj/structure/flora/rock, -/obj/structure/spacevine, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"PI" = ( +/obj/machinery/suit_storage_unit{ + state_open = 1 + }, +/obj/machinery/light/directional/east, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"PJ" = ( +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-5" }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Zn" = ( -/obj/structure/table_frame, -/obj/structure/spider/stickyweb, -/turf/open/floor/plating/rust, +"PP" = ( +/obj/structure/closet/firecloset/full{ + anchored = 1 + }, +/obj/item/extinguisher/advanced, +/obj/item/geiger_counter, +/obj/structure/platform/military{ + dir = 6 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Zp" = ( -/obj/effect/decal/cleanable/ash/large, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +"PQ" = ( +/obj/effect/turf_decal/road/stripes{ + dir = 4 }, +/obj/effect/turf_decal/road{ + dir = 1 + }, +/turf/open/floor/concrete/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"Zr" = ( -/obj/machinery/door/airlock/external, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"Zw" = ( -/obj/machinery/atmospherics/components/binary/pump{ +"PR" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"PS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 1 }, -/obj/structure{ - desc = "A formerly deadly laser cannon, now stuck rusting on a fightercraft."; - dir = 8; - icon = 'icons/obj/turrets.dmi'; - icon_state = "syndie_off"; - name = "defunct laser cannon"; - pixel_x = 26 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"PT" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 + }, +/obj/structure/dresser, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"PU" = ( +/obj/structure/chair/office/light, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/decal, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 1 }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"PV" = ( +/obj/effect/radiation{ + rad_power = 66; + rad_range = 2 }, +/turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"Zx" = ( -/obj/structure/railing, -/turf/open/floor/concrete/slab_1{ - light_range = 2 +"PW" = ( +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"PX" = ( +/obj/structure/platform/military{ + dir = 9 }, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ZA" = ( +"Qf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/orange/three_quarters, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Qg" = ( +/mob/living/simple_animal/hostile/poison/giant_spider/tarantula, /obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Qh" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/green/hidden, +/obj/structure/spider/stickyweb, +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plating/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ZB" = ( +"Qi" = ( +/obj/structure/flora/rock/jungle, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Qj" = ( +/turf/closed/wall, +/area/ruin/jungle/airbase/med) +"Ql" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland9" +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"Qm" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 6 }, -/area/overmap_encounter/planetoid/jungle/explored) -"ZE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Qo" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/syndicate/melee/sword, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"Qp" = ( /obj/effect/turf_decal/weather/dirt{ - dir = 10 + dir = 4 }, /obj/effect/turf_decal/weather/dirt{ - dir = 9 + dir = 8 }, /turf/open/water/jungle, /area/overmap_encounter/planetoid/jungle/explored) -"ZF" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/concrete{ - light_range = 2 +"Qq" = ( +/obj/machinery/atmospherics/components/unary/tank/fuel{ + dir = 8 }, -/area/overmap_encounter/planetoid/jungle/explored) -"ZH" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) +"Qr" = ( +/obj/structure/closet/secure_closet/medical1{ + populate = 0 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 9 + }, +/obj/effect/spawner/random/medical/medkit, +/obj/effect/spawner/random/medical/medkit, +/obj/effect/spawner/random/medical/medkit, +/obj/effect/spawner/random/medical/medkit, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ruin/jungle/airbase/med) +"Qs" = ( +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Qu" = ( /obj/item/ammo_casing/caseless/rocket{ - desc = "An 84mm high explosive rocket. Looks like they'd fit into a launcher" + pixel_x = -8; + auto_scatter = 0 }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating{ - icon_state = "platingdmg2" +/obj/item/ammo_casing/caseless/rocket{ + auto_scatter = 0 }, -/area/overmap_encounter/planetoid/jungle/explored) -"ZM" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel, -/area/overmap_encounter/planetoid/jungle/explored) -"ZN" = ( -/obj/structure/spider/cocoon, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 +/obj/item/ammo_casing/caseless/rocket{ + pixel_x = 8; + auto_scatter = 0 }, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper, -/turf/open/floor/plating, -/area/ruin/jungle/starport) -"ZO" = ( -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/mineral/plastitanium{ - icon_state = "plastitanium_dam4" +/obj/structure/closet/crate/secure/weapon{ + tamperproof = 60 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"Qv" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 }, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ZP" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 +"Qw" = ( +/obj/structure/rack, +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/shed) +"Qx" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/water/jungle, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"QA" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak5" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ZR" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/dirt/jungle/wasteland{ - icon_state = "wasteland1" +"QF" = ( +/obj/structure/platform/military{ + dir = 1 }, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ZS" = ( -/obj/structure/railing{ - dir = 5 +"QG" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/mob/living/simple_animal/hostile/human/syndicate/civilian, +/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ + dir = 4 }, -/turf/open/floor/plating/dirt/jungle{ - light_range = 2 +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"QH" = ( +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"QK" = ( +/obj/structure/spacevine{ + pixel_x = -32 }, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) -"ZT" = ( -/obj/structure/window/plasma/reinforced/plastitanium, +"QL" = ( +/obj/effect/decal/cleanable/oil, +/obj/structure/platform/military, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"QM" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, /obj/machinery/door/poddoor{ - id = "jbs2"; + id = "bsps"; dir = 4 }, -/turf/open/floor/plating, -/area/ruin/jungle/starport/tower) -"ZX" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/shed) +"QP" = ( +/obj/structure/platform/military/corner{ + dir = 8 }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/lit, /area/overmap_encounter/planetoid/jungle/explored) - -(1,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -Ee -Ee -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -Ee -Xm -ir -ir -ir -ir -ir -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -ir -ir -lu -ir -ir +"QR" = ( +/mob/living/simple_animal/hostile/poison/giant_spider, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"QT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/grunge{ + name = "Command Post" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/tower) +"QU" = ( +/obj/structure/closet/secure_closet/security{ + populate = 0; + icon_state = "syndicate"; + name = "operative's locker" + }, +/obj/item/melee/knife/combat, +/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/flashlight/seclite, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"QV" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi' + }, +/area/ruin/jungle/airbase/engineering) +"QW" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 4; + pixel_y = 3; + pixel_x = 3 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"QX" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"QZ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"Ra" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + name = "Restroom"; + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/tower) +"Rb" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/closet/crate/engineering, +/obj/machinery/light/directional/south, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical{ + pixel_y = -8 + }, +/obj/item/storage/toolbox/explosives{ + pixel_y = -3 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"Rh" = ( +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Rj" = ( +/obj/structure/railing/thin{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/spacevine, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' + }, +/area/overmap_encounter/planetoid/jungle/explored) +"Rk" = ( +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/syndiered, +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Rl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon{ + dir = 2 + }, +/turf/open/floor/engine/hydrogen_fuel, +/area/ruin/jungle/airbase/hangar) +"Rn" = ( +/obj/machinery/door/airlock/medical{ + dir = 4; + name = "Medical Post" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/med) +"Rp" = ( +/obj/effect/turf_decal/road/stripes{ + dir = 4 + }, +/obj/effect/turf_decal/road{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Rr" = ( +/obj/structure/platform/military/corner, +/obj/structure/spacevine, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ru" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/spacevine, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' + }, +/area/overmap_encounter/planetoid/jungle/explored) +"Rw" = ( +/obj/structure/spacevine{ + pixel_y = -32 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Rx" = ( +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Rz" = ( +/obj/effect/decal/cleanable/greenglow/filled, +/obj/effect/decal/cleanable/molten_object/large, +/obj/effect/radiation{ + rad_power = 200; + rad_range = 3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"RA" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/concrete/slab_2, +/area/ruin/jungle/airbase/engineering) +"RC" = ( +/obj/structure/platform/military, +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"RD" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"RH" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"RI" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"RM" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"RN" = ( +/obj/effect/turf_decal/industrial/stand_clear/white{ + dir = 8 + }, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"RP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/obj/structure/spider/stickyweb, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"RS" = ( +/obj/structure/railing/thin{ + dir = 5 + }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"RT" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"RU" = ( +/obj/structure/spacevine, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"RV" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/radiation{ + rad_power = 66; + rad_range = 2 + }, +/obj/effect/decal/cleanable/greenglow/filled, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"RX" = ( +/obj/structure/table, +/obj/machinery/light/directional/west, +/obj/item/clothing/suit/armor/vest/syndie{ + pixel_y = -1; + pixel_x = 7 + }, +/obj/item/clothing/suit/armor/vest/syndie{ + pixel_y = 7; + pixel_x = -5 + }, +/obj/item/storage/box/ammo/c22lr/ap{ + pixel_y = -11; + pixel_x = -12 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"RZ" = ( +/obj/structure/platform/military, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"Sa" = ( +/obj/item/stack/ore/salvage/scrapmetal, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Sb" = ( +/obj/structure/spider/stickyweb, +/turf/open/water/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Sd" = ( +/obj/structure/railing/thin{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/spacevine, +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi'; + icon_state = "stairs_t" + }, +/area/overmap_encounter/planetoid/jungle/explored) +"Se" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Sg" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Sh" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/dorms) +"Si" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"Sj" = ( +/obj/structure/spider/stickyweb, +/obj/machinery/shower{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/overmap_encounter/planetoid/jungle/explored) +"Sk" = ( +/obj/machinery/light/directional/south, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Sm" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Sn" = ( +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Sp" = ( +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"Sr" = ( +/obj/structure/frame/machine, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ss" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"Su" = ( +/obj/structure/platform/military{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"Sz" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush/b, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"SD" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Pilot Shed" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/shed) +"SF" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/railing/thin{ + dir = 4 + }, +/obj/structure/spacevine, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' + }, +/area/overmap_encounter/planetoid/jungle/explored) +"SG" = ( +/obj/structure/platform/military/corner{ + dir = 8 + }, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"SH" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"SI" = ( +/obj/structure/spacevine, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/jungle/airbase/tower) +"SM" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 4; + icon = 'icons/obj/stairs.dmi' + }, +/area/overmap_encounter/planetoid/jungle/explored) +"SO" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/spider/stickyweb, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"SP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"SQ" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 + }, +/obj/structure/dresser, +/obj/structure/spider/stickyweb, +/obj/item/storage/pill_bottle/lsd{ + pixel_y = 13; + pixel_x = 9 + }, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"SS" = ( +/obj/effect/turf_decal/rechargefloor{ + pixel_y = 0 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/cargo) +"SX" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"SZ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/railing/thin/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"Ta" = ( +/obj/effect/gibspawner/generic/animal, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Tc" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "radiation"; + pixel_x = -10; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Tf" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"Tg" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Th" = ( +/obj/structure/flora/tree/jungle{ + icon_state = "tree8" + }, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Tj" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/dresser, +/obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"Tl" = ( +/obj/structure/spider/stickyweb, +/obj/structure/rack, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Tm" = ( +/obj/structure/crate_shelf, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"To" = ( +/obj/item/weldingtool, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Tp" = ( +/obj/structure/chair{ + dir = 8; + pixel_y = 0 + }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Tq" = ( +/obj/structure/railing/thin{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Tr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/departments/security{ + pixel_y = -30 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ts" = ( +/obj/machinery/atmospherics/pipe/manifold/green/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/dorms) +"Tt" = ( +/obj/structure/platform/military/corner{ + dir = 4 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Tu" = ( +/obj/structure/platform/ship{ + dir = 1 + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Tv" = ( +/obj/structure/table, +/obj/item/gear_pack/anglegrinder/energy{ + pixel_x = 5; + pixel_y = -6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Tw" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"TA" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"TD" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"TE" = ( +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"TG" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush/b, +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"TJ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"TK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"TL" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/barricade/sandbags, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"TM" = ( +/mob/living/simple_animal/hostile/poison/giant_spider/tarantula, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"TN" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/shed) +"TP" = ( +/obj/structure/closet/radiation, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"TQ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/railing/thin, +/turf/open/floor/plasteel/stairs{ + dir = 4; + icon = 'icons/obj/stairs.dmi' + }, +/area/overmap_encounter/planetoid/jungle/explored) +"TT" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/platform/military/corner{ + dir = 8 + }, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"TU" = ( +/turf/template_noop, +/area/template_noop) +"TW" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"TZ" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + state_open = 1 + }, +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ua" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"Ub" = ( +/turf/closed/wall/rust, +/area/ruin/jungle/airbase/dorms) +"Uc" = ( +/obj/effect/spawner/random/trash/grime, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ue" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ug" = ( +/obj/structure/platform/military{ + dir = 8 + }, +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ui" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/railing/thin{ + dir = 1 + }, +/obj/structure/railing/thin, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, +/area/overmap_encounter/planetoid/jungle/explored) +"Uj" = ( +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"Uk" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ul" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"Um" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/diagonal{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"Un" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/obj/structure/spacevine{ + pixel_y = 32 + }, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Uo" = ( +/obj/effect/gibspawner/generic/animal, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Up" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/spacevine/dense, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ur" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' + }, +/area/overmap_encounter/planetoid/jungle/explored) +"Ut" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/spacevine, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"Ux" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/corner/transparent/syndiered/border, +/obj/structure/spacevine, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"Uy" = ( +/obj/structure/platform/military{ + dir = 6 + }, +/obj/structure/platform/military/corner{ + dir = 4 + }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Uz" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two{ + pixel_y = 6; + pixel_x = 3 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"UC" = ( +/obj/structure/toilet{ + pixel_x = 8; + dir = 8 + }, +/obj/structure/sink{ + pixel_y = 17; + pixel_x = -9 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/dorms) +"UE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"UH" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 6 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"UI" = ( +/obj/structure/bed/double, +/obj/item/bedsheet/double/black, +/obj/structure/curtain/cloth/fancy{ + name = "blood-red curtains" + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/tower) +"UK" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 4 + }, +/obj/structure/dresser, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"UN" = ( +/obj/structure/spider/stickyweb, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"UP" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"UR" = ( +/obj/machinery/washing_machine, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"US" = ( +/obj/structure/chair/plastic{ + dir = 2 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"UT" = ( +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"UU" = ( +/obj/structure/cable, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 6 + }, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"UV" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Va" = ( +/obj/machinery/door/poddoor{ + id = "bshy2"; + dir = 4 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "balls" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"Vd" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Vf" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"Vg" = ( +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Vi" = ( +/obj/structure/platform/military, +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Vj" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/shed) +"Vk" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Vl" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 4 + }, +/obj/structure/table, +/obj/item/storage/ration/beef_strips, +/obj/item/candle{ + pixel_y = 12; + pixel_x = 9 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"Vm" = ( +/obj/structure/table, +/obj/item/gun/ballistic/automatic/pistol/m17/empty{ + pixel_y = -1; + pixel_x = 9 + }, +/obj/item/gun/ballistic/automatic/pistol/m17/empty{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"Vn" = ( +/obj/machinery/door/window/survival_pod{ + dir = 8 + }, +/obj/structure/safe, +/obj/item/spacecash/bundle/c1000, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/obj/item/folder/documents/syndicate/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/pen/fountain, +/obj/item/pen/blue, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"Vo" = ( +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"Vq" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/spacevine/dense, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Vr" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 9 + }, +/obj/machinery/light/broken/directional/west, +/obj/structure/chair/bench/red/directional/south, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Vt" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/armory) +"Vu" = ( +/obj/effect/spawner/random/trash/grime, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Vv" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak5" + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Vw" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/green/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Vx" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "skull"; + pixel_y = -3; + pixel_x = 8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/jungle/airbase/shed) +"Vy" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Vz" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/spacevine, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"VA" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"VB" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/jungle/airbase) +"VC" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"VE" = ( +/mob/living/simple_animal/hostile/poison/giant_spider, +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/item/paper_bin, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"VF" = ( +/obj/structure/platform/military/corner{ + dir = 4 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"VK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/grunge{ + name = "RTG Chamber" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/sealed, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/engineering) +"VM" = ( +/obj/structure/flora/tree/jungle{ + icon_state = "tree10" + }, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"VN" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"VQ" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush/c, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"VR" = ( +/obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"VS" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/jungle/airbase/hangar) +"VU" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 1 + }, +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"VW" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/corner/transparent/syndiered/border{ + dir = 4 + }, +/obj/structure/spacevine, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"VX" = ( +/obj/structure/closet/crate, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/turf/open/floor/plasteel/freezer, +/area/ruin/jungle/airbase/dorms) +"VZ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/obj/structure/platform/military, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/cargo) +"Wb" = ( +/obj/structure/spacevine, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 5 + }, +/obj/effect/spawner/random/trash/decal, +/turf/open/floor/plasteel/dark/jungleplanet, +/area/ruin/jungle/airbase/tower) +"Wc" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 15 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"Wd" = ( +/obj/structure/chair/stool{ + dir = 8 + }, +/obj/structure/spider/stickyweb, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"Wf" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Cybersun Quarters" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/tower) +"Wg" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Wm" = ( +/obj/structure/toilet{ + pixel_x = -8; + dir = 4 + }, +/obj/structure/mirror{ + pixel_y = 28; + pixel_x = 8 + }, +/obj/structure/sink{ + pixel_y = 17; + pixel_x = 9 + }, +/obj/structure/spider/cocoon, +/obj/structure/spider/stickyweb, +/obj/item/gun/ballistic/automatic/pistol/ringneck/no_mag, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/dorms) +"Wp" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/arrows/white{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/shed) +"Ws" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/med) +"Wt" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider, +/obj/structure/cable, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Wu" = ( +/obj/machinery/suit_storage_unit/inherit{ + locked = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/clothing/suit/space/hardsuit/syndi/ramzi, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/hangar) +"Ww" = ( +/obj/structure/chair/stool{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"Wx" = ( +/turf/closed/wall, +/area/ruin/jungle/airbase/dorms) +"Wy" = ( +/obj/structure/platform/military{ + dir = 5 + }, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Wz" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/spacevine, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"WA" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun{ + wander = 0 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"WB" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/rtg/advanced, +/turf/open/floor/concrete/slab_4, +/area/ruin/jungle/airbase/engineering) +"WD" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"WE" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/spacevine{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' + }, +/area/overmap_encounter/planetoid/jungle/explored) +"WF" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/arrows/white{ + dir = 8 + }, +/obj/effect/turf_decal/arrows/white, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"WJ" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ruin/jungle/airbase/med) +"WL" = ( +/obj/machinery/light/directional/north, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 1 + }, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"WP" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/jungle/airbase) +"WR" = ( +/obj/structure/table, +/obj/structure/spider/stickyweb, +/turf/open/floor/wood, +/area/ruin/jungle/airbase/dorms) +"WS" = ( +/obj/structure/platform/military, +/turf/open/floor/plating/dirt/jungle/dark/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"WT" = ( +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/hangar) +"WW" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/obj/item/folder/documents/syndicate/red{ + pixel_y = 6; + pixel_x = -6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"WX" = ( +/obj/structure/spacevine{ + pixel_y = 32 + }, +/obj/structure/spacevine/dense, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"WZ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/jungle/airbase/shed) +"Xa" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine{ + pixel_x = 32 + }, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Xc" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Xe" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/shed) +"Xh" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine{ + pixel_y = -32 + }, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Xi" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/spider/stickyweb, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Xk" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/tree/jungle{ + icon_state = "tree9" + }, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Xm" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 1 + }, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"Xn" = ( +/obj/item/stack/tile/plasteel/white{ + pixel_x = -6; + pixel_y = -5 + }, +/obj/structure/chair/office/light{ + pixel_y = 4; + pixel_x = 2 + }, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/tower) +"Xp" = ( +/obj/machinery/light/directional/west, +/obj/machinery/button/door{ + dir = 2; + pixel_y = 22; + pixel_x = -9; + id = "bsh1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Xq" = ( +/obj/structure/cable{ + icon_state = "2-5" + }, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Xr" = ( +/obj/machinery/light/directional/west, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/hardline_small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) +"Xt" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"Xw" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"Xy" = ( +/obj/effect/turf_decal/road{ + dir = 1 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"XC" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"XI" = ( +/obj/effect/turf_decal/syndicateemblem/top/middle{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase) +"XJ" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/shed) +"XN" = ( +/obj/structure/railing/thin{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/spacevine, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' + }, +/area/overmap_encounter/planetoid/jungle/explored) +"XO" = ( +/obj/structure/spider/stickyweb, +/obj/machinery/shower{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/overmap_encounter/planetoid/jungle/explored) +"XP" = ( +/obj/structure/closet/secure_closet/engineering_welding{ + anchored = 1 + }, +/obj/structure/platform/military, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"XQ" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/obj/effect/turf_decal/corner/transparent/bar/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/jungle/airbase/dorms) +"XR" = ( +/obj/structure/spider/stickyweb, +/obj/structure/door_assembly, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"XS" = ( +/obj/structure/spacevine, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"XU" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"XW" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/engineering) +"XX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/spacevine, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"XZ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/ruin/jungle/airbase/hangar) +"Ya" = ( +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"Yb" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/tower) +"Yc" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/jungle/airbase/tower) +"Yf" = ( +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Yg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Yh" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/rtg/advanced, +/turf/open/floor/concrete/slab_4, +/area/ruin/jungle/airbase/engineering) +"Yi" = ( +/obj/structure/platform/military{ + dir = 6 + }, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Yk" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 8 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"Ym" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/item/kirbyplants{ + icon_state = "plant-21" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Yo" = ( +/obj/structure/platform/military, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Yq" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Yr" = ( +/obj/structure/spacevine, +/obj/structure/spacevine{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Ys" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 1 + }, +/turf/open/floor/plasteel/white/jungleplanet, +/area/ruin/jungle/airbase/med) +"Yt" = ( +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Yu" = ( +/obj/structure/railing/thin{ + dir = 1 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"Yw" = ( +/obj/item/stack/ore/salvage/scrapmetal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Yz" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/hangar) +"YA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"YC" = ( +/obj/effect/turf_decal/corner/transparent/syndiered/border, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase) +"YD" = ( +/obj/structure/spider/stickyweb, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"YE" = ( +/obj/structure/platform/military{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, +/area/overmap_encounter/planetoid/jungle/explored) +"YF" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/corner/transparent/syndiered/border, +/turf/open/floor/plating/jungleplanet/lit, +/area/ruin/jungle/airbase) +"YJ" = ( +/mob/living/simple_animal/hostile/poison/giant_spider/tarantula, +/turf/open/floor/plasteel/mono/dark/jungleplanet/lit, +/area/ruin/jungle/airbase) +"YN" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/junglebush/large, +/obj/structure/spacevine, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"YQ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"YT" = ( +/obj/structure/closet/emcloset/anchored{ + populate = 0 + }, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/obj/item/tank/internals/emergency_oxygen/engi/empty, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"YU" = ( +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/structure/window/plasma/reinforced, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase) +"YV" = ( +/obj/effect/turf_decal/syndicateemblem/top/right{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark/jungleplanet, +/area/ruin/jungle/airbase) +"YW" = ( +/obj/structure/flora/junglebush, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"YX" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/barricade/sandbags, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"YY" = ( +/obj/item/flamethrower/full/tank, +/obj/structure/table, +/obj/item/storage/box/beakers{ + pixel_x = 11; + pixel_y = -5 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Za" = ( +/obj/structure/spider/stickyweb, +/obj/structure/spider/cocoon, +/obj/structure/rack, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Zb" = ( +/obj/structure/platform/military, +/obj/structure/spacevine/dense, +/obj/structure/spacevine{ + pixel_y = 32 + }, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Zc" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/engineering) +"Zd" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/engineering) +"Zg" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 + }, +/obj/structure/chair/bench/red/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"Zi" = ( +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning, +/obj/effect/turf_decal/trimline/transparent/syndiered/filled/warning{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase/shed) +"Zk" = ( +/obj/effect/turf_decal/weather/dirt/corner{ + dir = 4 + }, +/turf/open/water/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Zl" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "streak1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/departments/security{ + pixel_y = -30 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Zm" = ( +/obj/structure/table, +/obj/structure/spider/stickyweb, +/turf/open/floor/carpet/red, +/area/ruin/jungle/airbase/dorms) +"Zo" = ( +/obj/structure/spider/stickyweb, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Zp" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Zq" = ( +/obj/structure/flora/junglebush/c, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Zr" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + id_tag = "s1" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/jungle/airbase) +"Zw" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Zx" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/spacevine/dense, +/turf/open/floor/plating/grass/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"Zy" = ( +/obj/machinery/power/smes/shuttle{ + dir = 2 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/jungle/airbase/hangar) +"Zz" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Restroom" + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/dorms) +"ZA" = ( +/obj/structure/table, +/obj/item/grenade/chem_grenade/incendiary{ + pixel_x = -9; + pixel_y = 1 + }, +/obj/item/grenade/chem_grenade/incendiary{ + pixel_x = 3; + pixel_y = 6 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ZB" = ( +/obj/structure/platform/military{ + dir = 5 + }, +/obj/structure/spacevine, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ZD" = ( +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/engineering) +"ZE" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/water/jungle, +/area/overmap_encounter/planetoid/jungle/explored) +"ZF" = ( +/obj/structure/railing/thin{ + dir = 4 + }, +/obj/structure/table, +/obj/item/radio/intercom/table{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_y = -22; + pixel_x = -8; + dir = 1; + id = "bsc1"; + name = "warehouse shutters" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/cargo) +"ZH" = ( +/obj/structure/barricade/security{ + layer = 2.89 + }, +/obj/machinery/porta_turret/ship/syndicate/heavy/starport{ + dir = 5; + lethal = 1 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/ruin/jungle/airbase/turrets) +"ZJ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ZK" = ( +/obj/structure/barricade/sandbags, +/obj/structure/sign/departments/medbay/alt{ + pixel_x = 28 + }, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ZL" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + state_open = 1 + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ZM" = ( +/obj/machinery/shower{ + pixel_y = 18 + }, +/obj/structure/curtain/bounty, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/jungle/airbase/tower) +"ZN" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/hangar) +"ZP" = ( +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ZR" = ( +/obj/structure/table, +/obj/machinery/fax/ruin, +/turf/open/floor/plasteel/dark, +/area/ruin/jungle/airbase/tower) +"ZS" = ( +/obj/structure/platform/military{ + dir = 5 + }, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ZT" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/under/syndicate/combat{ + name = "compression suit"; + desc = "A specialized suit designed to compress the wearer, and prevent blackouts during high gravity manuevers." + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/suit/space/syndicate/black/red, +/obj/item/clothing/head/helmet/space/syndicate/black/red, +/turf/open/floor/plasteel/tech, +/area/ruin/jungle/airbase/shed) +"ZU" = ( +/obj/structure/platform/military{ + dir = 1 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating/dirt/jungle/lit, +/area/overmap_encounter/planetoid/jungle/explored) +"ZV" = ( +/obj/structure/platform/military/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/jungleplanet/lit, +/area/overmap_encounter/planetoid/jungle/explored) + +(1,1,1) = {" +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +lo +Jk +Jk +Jk +GD +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU "} (2,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -ce -Ap -Ee -vT -Xm -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -Ee -jO -ce -ir -FB -ir -ir -ir -ir -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -ir -ir -ir -Ee -lu -lu -ir +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +lo +Jk +Jk +Jk +GD +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +vX +BM +BM +BM +eO +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +kj +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU "} (3,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -Ck -ce -ce -zt -ce -Ap -YV -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -Ee -jO -Ap -ce -ir +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +vX +BM +BM +BM +eO +TU +TU +TU +TU +TU +TU +TU +TU +TU SH -zN -NA -NA +IO +IO +IO +IO +IO +IO +IO +IO +IO Ck -ir -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -ir -ir -Xm -Cg -Es -Xm -Ah -ir +TU +TU +TU +TU +TU +TU +KY +vX +BM +kX +BM +eO +KY +TU +TU +TU +TU +TU +TU +TU +TU +kj +kj +kj +kj +kj +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU "} (4,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -fl -zN -zN -zN -zN -zN -zN -zN -gC -gC -gC -gC -zN -zN -NA -Ck -ce -ir -ce -Ap -Xm -UE -UE -UE -UE -UE -UE -UE -jk -sD -Ap -ce -ir -ir -SH -zN -zN -zN -zN -PB -ir -ir -ir -UE -ir -ir -ir -ir -ir -ir -ir -qQ -Ee -Ee -Ee -OQ -Xm -sD -ir +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +vX +BM +Dx +BM +eO +TU +TU +TU +TU +TU +TU +SH +IO +IO +kj +kj +kj +kj +kI +gC +gC +gC +gC +qg +qw +IO +Ck +TU +TU +TU +KY +KY +pn +BM +BM +BM +eO +KY +KY +KY +TU +TU +TU +TU +TU +kj +kj +kj +kj +kj +kj +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU "} (5,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -zN -zN -fl -hk +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +vX +BM +BM +BM +eO +TU +TU +TU +SH +IO +vk +gC gC gC gC @@ -8005,7370 +12627,7845 @@ gC gC gC cv -ir -ir -ir -ir +KY +KY +KY +KY Ua gC -zN -zN -NA -Ck -ir -ce -Ap -UE -UE -UE -UE -UE -Xm -jk -jk -ce -ce -ir -ir -SH -zN -zN -zN -zN -zN -zN -NA -Ck -ir -ir -ir -SH -NA -NA -NA -NA +qg +qw +IO Ck -ir -ir -ir -Xm -sD -rf -Xm -ir +KY +KY +KY +vX +os +os +PX +JU +KY +KY +KY +KY +KY +KY +KY +ju +kj +kj +kj +kj +kj +kj +kj +kj +TU +TU +TU +kj +kj +kj +kj +kj +kj +TU +TU +TU +TU +TU +TU +TU +TU "} (6,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -zN -zN +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +xC +Hy +os +os +Su +IO +IO +IO +kI gC -ty -zt -zt +cv +KY dP -QE -QE -QE dP -ir dP -QE -QE -QE dP -ir -Ua -gC -zN -PB -ir -gP -Ap -Xm -Hk -Xm -Xm -Xm -YV -YW -ir -ir +dP +dP +dP +dP +dP +dP +dP +dP +dP +Ua +gC +qg +PB +KY +KY +KY +vX +os +os +eO +KY +KY +KY +KY +KY SH -NA -NA -zN -zN -zN -zN -zN -zN -zN -zN -zN -NA -NA -NA -zN -zN -zN -zN -zN -zN -Ck -ir -ir +IO +IO Xm -QF -sD -ir -ir +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +TU +TU +TU +TU +TU +TU +TU "} (7,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -zN -zN -zN +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +KY +vX +os +os +Ya +kj +kj +kj PB -zt -zt -zt +KY +KY dP -QE -qP -Sv -oq dP -QE +sY +OI +ZT dP -Sv -yQ -qP -QE +cr +DK +nq dP -ir -ir +Tm +lY +Tm +dP +KY +KY ju -zN +qw Ck -ir -ir -Xm -Ee -Ee -Hk -Ap -ce -ir -ir +KY +KY +vX +os +os +eO +KY +KY +KY +KY SH -zN -zN -zN -zN -zN -zN -zN +Xm +kj +kj +kj +kj +kj +kI gC gC -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -Ck -ir -ir -Xm -ir -ir -UE +qg +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +TU +TU +TU +TU +TU +TU "} (8,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -zN -zN -zN -PB -ce +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +xr +os +os +Ya +kj +PV +kj +kj +bd Lu -Xm -QE -aZ -bF -bF -Te -Mi -KO -ev -bF -bF -SD -Sv -QE -ir -ir +dP +Hi +Ev +ri +pi +dP +tO +Vj +WZ +dP +eF +yR +mk +dP +KY +KY ju -zN +kj PB -ir -ir -ce -ce -ce -ce -ce -ir -ir +KY +KY +vX +os +os +eO +KY +KY +KY SH -zN -gC -gC -gC -gC -gC -gC -cv -ir -ir +Xm +kj +kj +kj +kj +kj +kj +PB +KY +KY ju -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -Ck -ir -ir -ir -UE -UE +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +TU +TU +TU +TU +TU "} (9,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -zN -zN -zN -zN -zN -cv -ce -Ap -ce -QE -Fb -bF -bF -kN -Ue -Yx -kN -pP -Te -bF -QO -QE -ir -ce +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +SH +RC +os +uX +Ya +kj +kj +kj +kj +bd +YW +dP +Qw +uI +nM +nM +Mn +oq +qq +ba +Zi +mk +mk +Qu +dP +Rh +KY Ua -zN -zN -NA -NA -NA -nb -nb -nb -NA -NA +qg +qw +IO +IO NA -zN -cv -zt -zt -ir -ir -ir -ir -ir +uX +uX +zD +IO +IO +IO +Xm +kj +IL +bd +bd +bd +bd +bd +bd gP SH -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -ZP -ir -UE -UE -UE +Xm +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +TU +TU +TU +TU "} (10,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -zN -zN -zN -zN -cv -ir -ir -ir -ir -QE -Sl -bF -id -kN -Px -Yx -bF -IY -aj -bF -wP -QE -ir -Ap -ce -Ua -zN -zN -zN -zN -zN -zN -zN -zN -gC -cv -ir -ce -ce -zt -KR -Xm +TU +TU +TU +TU +TU +TU +TU +TU +TU +SH Xm +RZ +os +os +Ya +kj +kj +kj +YW +bd +bd +dP +mY +TN +ye +Py +dP +pk +XJ +nV +BK +Kx +vh +mm +dP +Rh +Rh +KY +Ua +qg +kj +kj +RZ +uX +uX +Ya +kj +kj +kj +SX +go +go +kO +bd +bd +bd Jh -sD -ir +IL +KY ju -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -PB -ir -ir -UE -UE -UE +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +TU +TU +TU +TU +TU "} (11,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -zN -zN -zN +TU +TU +TU +TU +TU +TU +TU +SH +IO +Xm +kj +RZ +uX +uX +Bh gC cv -ir -ir -ir -sz -da +KY +bd +kO +Yf dP -QE -LC -Uc -EH -Px -CF -kN -hW -rd -UG -QE +Xe +TN +HK +mk dP -ir -uy -Ap -ce +fl +Wp +le +dP +na +Qu +Tm +dP +Rh +Rh +Rh +KY Ua gC gC -gC -gC -gC -gC -cv -ir -ir -ir -ir -ce -ce -Xm -Xm -Xm -Xm -sD -ir +Oh +uX +uX +Ya +kj +go +IL +SX +go +SX +qB +mW +mW +mW +hK +IL +KY ju -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -Ck -ir +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +PB qQ -UE -UE +KY +TU +TU "} (12,1,1) = {" -UE -UE -UE -UE -UE -UE -zN -zN -gC -cv -ir -ir -ir -ir +TU +TU +TU +TU +TU +TU +SH Xm -Fz -ir -ir +kj +kj +kj +RZ +uX +uX +CF +Jk +Jk +Jk +Jk +Jk +Jk +Vx dP -QE -QE -QE -Ok -tM -qJ -QE -QE -QE +SD dP -zt -zt -ir -ir -ir -ir -ir -ir -ir -ir -ir -ir -ir -ir -ir -ir -Xm -Xm -ce -Nr -Nr -CQ -UR -sD -ce -ju -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN +dP +dP +QM +Ej +QM +dP +dP +dP +dP +dP +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Yi +uX +uX +rz +zr +nb +zr +zr +rE +zr +HH +BM +BM +BM +eO +IL +KY +ju +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj PB -ir -ir -UE -UE +KY +KY +TU +TU "} (13,1,1) = {" -UE -UE -UE -UE -UE -zN -xL -Fw -Rz -Rz -Rz -Rz -Rz -Rz -Rz -EZ -Rz -Rz -sn -nH -ir +TU +TU +TU +SH +IO +IO +Xm +kj +PV +kj +kj +RZ +uX +uX +os +uX +ZP +uX +os +os +hT +os +cP +os +os +PX Hy -IB +cL tF -Nb +cL PX -kz -ub -JS -iC -Kw -Kw -Rz -Rz -Rz -Rz -iC -iC -iC -nH -ir -ir -Xm -Ap -Xm -Xm -Xm -Xm -Og -jO -jO -Xm -ce -ir +Hy +uX +uX +os +os +hT +os +os +os +hT +os +os +os +os +os +os +os +os +os +os +os +os +BM +kX +BM +eO +KY +KY ju -zN -zN -zN +kj +kj +kj gC -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN +qg +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +qw Ck -ir -UE -UE +KY +TU +TU "} (14,1,1) = {" -UE -UE -UE -UE -zN -zN +TU +TU +TU +ju +kj +kj +kj +ns +ns +kj +kj RZ -qW -pz -WJ -KY -KY -KY -KY -KY -KY -KY +os +ek GR -fT -MU -ir -Hy -qW -Nk -qW +vJ +vJ +vJ +vJ +vJ +vJ +HU +GR +bX +os eO vX -Nb -CK -ts -KY -KY -KY -KY -KY -KY -KY -gX -dj -JS -nH -ir -ir -Xm -Ap -Ap -Xm -Xm -Xm -KR -vT -jO -ce -SH -zN -gC -zN -PB -ir -ju -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN +uX +tF +yY +eO +vX +bY +Nh +GR +vJ +vJ +vJ +vJ +vJ +vJ +vJ +GR +ZV +uX +uX +uX +os +os +os +os +os +os +BM +BM +BM +eO +KY +SH +Du +gC +qg PB -ir -UE -UE +KY +ju +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +PB +KY +TU +TU "} (15,1,1) = {" -UE -UE -UE -ir -ju -zN +TU +TU +SH +Xm +kj +kj +ns +ns +ns +ns +kj RZ -qW -MU -ND -DV -ND -ND -cz -ND -dg -Mt -bA -yf +os MU -ir -Hy -Jf +sU +UT +Xq +CW +CW +er +RV +CW +Uk +GE +os +eO +vX +CE tF -qW +os eO vX -UX +DL QL -je -Bc -ND -ND -cz -ND -Or -KX -bA -yf -qW -MU -ce -Ap -Xm -Xm -ir -VN -SG -cq -Cj -Xm -ce -ir +sS +CW +bj +CW +CW +CW +RD +UT +UT +GE +os +CO +ez +ez +LO +ez +LO +LO +ez +ez +ez +LO +JU +KY ju PB -ir +KY ju cv -ir +KY ju -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj PB -ir -UE -UE +KY +TU +TU "} (16,1,1) = {" -UE -ir -ce -ir +TU +TU ju -zN +kj +ns +ns +ns +ns +ns +ns +kj RZ -qW +os MU -ND -ft -ND -ND -QE -ND -dg -uR -Zx +Rx +TZ +UT +ih +eG +ih +Mc +tJ +ex GE -MU -ir +os +eO vX -IB -UL -qW -oH -ub -qW +uX +tF +os +eO +vX +uX XP -CU -oL -Or -ND -QE -ND -ND -lw -Zx +ex +TZ +UT +ih +eG +ih +UT +tJ +UT GE -Nb -tK -ir -ir -ir -ir -ir -Xm -Xm -JM -qc -jO -ce +os +Yt +bd +bd +KY +KY +KY +Rh +bd +eA +VN +Ch +KY SH -zN +Du cv -ir +KY lb -ir -ir +Ii +Ii ju -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj +kj PB -ir -UE -UE +KY +TU +TU "} (17,1,1) = {" -ce -ir -sA -ir +TU +TU ju -zN +kj +ns +ns +ns +ns +ns +kj +kj RZ -qW -MU -ND -ND -ND -ih -QE -OM -Or -dg -TD +os +Yo +QA +um +WP +Bs +eG +YU +dp +UT +ex nT -sn -nH -vX -qW -UL -IB -Rh -qW -qW +os +ZS +Yi +uX +tF +vw +ZS +Yi +uX PP -ND -ND -ND -ih -QE -ih -ND -ND -Zx -yf -qW -CA -ir -ir -hp -ZR -ir -Xm -Xm -Gn -Xm -Ee -ir +UE +um +WP +Bs +eG +YU +WP +UT +UT +GE +os +Yt +bd +sg +bd +kO +Rh +Rh +Rh +bd +bd +SX +KY ju PB -ir -ce -ir -ir +KY +KY +Ii +Ii SH -zN -zN -zN -zN -zN -zN -zN -zN -zN -zN +kj +kj +kj +kj +kj +kj +kj +kj +kj +kI gC gC cv -ir -UE -UE +KY +TU +TU "} (18,1,1) = {" -ir -sA -sA -ir +TU +TU ju -zN +kj +ns +ns +ns +ns +ns +kj +kj RZ -qW -dz -ND -QE -dP +os +QL +um +um +WP pG -QE +eG pG -dP -QE -QN -dt -CE -sn -Rz -qW -Qo -sp -qW -CE -qW -fL -ND -QE -dP +Zr +Fk +NH +dx +sG +sW +DP +os +tF +os +os +os +EI +Ur +UE +um +Zr pG -QE +eG pG -dP -QE -Zx -yf -qW -wo -ir -Fz -zv -sA -ir -ir -Xm -ir -ir -ir +eG +um +um +GE +os +Yt +Rh +bd +Rh +Rh +Rh +bd +bd +KY +KY +KY SH -zN +Du cv -ce -ce -ir -ir -ju -zN -zN -zN -zN -zN -zN -zN -zN -zN +KY +Rh +Rh +Ii +Ut +ns +ns +kj +kj +kj +kj +kj +kj +kj PB -ir -ir -ir -ir -UE -UE +KY +KY +KY +KY +TU +TU "} (19,1,1) = {" -pu -zv -IT -ir +TU +TU ju -zN +kj +kj +ns +zv +ns +kj +kj +kj RZ -qW -MU -ND -QT -QE -ZN -Dm -IL -rm -NW -Wu +os +Yo +um +um +eG +Kt +vv +xm +tk +aO +FE hZ -LN -qk -qk -hR +rO +rO +rO +rO FX -qk -qk -qk -qk -dI +rO +rO +rO +rO +px fz xP -VB +hx Ph Xr LP -QE -QT -Zx -yf -qW -tK -ir -HO -Fz -ir -ir -Xm -ir -ir +eG +um +um +GE +os +Yt +Rh +Rh +bd +bd +bd +sg +KY +KY SH -NA -zN +IO +Du cv -ir -ce -Ee -ir -ir -oN -zN -zN -zN -zN -zN -zN +KY +bd +SX +Rh +Ii +Ut +ns +ns +ns +kj +kj +kj gC -zN -zN +kj +kj PB -ir -ir -UE -UE -UE -UE +KY +ph +Rh +KY +TU +TU "} (20,1,1) = {" -pu -tn -ir -ir -ju -zN +TU +TU +Ua +gC +qg +kj +kj +kj +kj +kj +kj RZ -qW +os MU -ND -ND -QE -dP +Rz +qN +WP +WP Qq -dP -QE -mq -TN -An -qW -pz -WJ -Wp -GV -yW -qW -qW -qW -Vm -ND +WP +eG +UT +gY +dx +EA +os +os +os +Mg +Pm +os +os +os +Ur +UE hO -QE -dP +eG +WP Qq -dP -QE -Or -Zx -GE -qW -Fe -ce -ir -ir -ir -Xm -ir -ir +WP +eG +um +um +DU +uX +CJ +TT +rP +Rh +bd +bd +KY +KY SH -zN -zN +Xm +kj cv -ir -ir -Ap -Ee +KY +KY +bd +SX Cc -ir -aD -hk -gC -gC -gC -gC -cv -ir +go +ns +ns +hl +hl +hl +hl +im +Ii ju -zN +kj PB -ir -UE -UE -UE -UE -UE +KY +bI +ph +KY +TU +TU "} (21,1,1) = {" -ir -ce -ir -ir +TU +TU +KY +KY ju -zN -RZ -qW +kj +kj +kj +kj +kj +vs +AV +os MU -ND -ND -rO -QE +UT +UT +tb +WP EM -QE -kL -ND -Zx +WP +Cd +Kc +Be kx -pz -CB -vX -Cn +os +PX +Hy +os Mg -qW -ln -qW -qW -sN -ND +uX +PX +Hy +os +Dz +ex To -IM -QE +OT +WP EM -QE +WP qL -ND -Zx -yf -qW -MU -ce -sD -CQ -ir -ir -ir +ls +UT +DU +uX +os +eO +bd +IL +Rh +bd +KY SH -zN -zN -cv -ir -ir Xm -CQ +kI +cv +KY +KY +KY +ph tD -sD -ir -ir -ce -ce -ir -ir -ir -ir -ce -aD -fl +ph +go +bI +Rh +Ii +Ii +Ii +Ii +Ii +Ii +Ua +kj PB -ir -ir -UE -UE -UE -UE +KY +IL +Ii +Ii +TU +TU "} (22,1,1) = {" -UE -UE -UE -ir -ju -zN -RZ -qW -MU -ND -ND -ND -QE -MQ -Zr -AM -WH -Zx -nf -MU -ir +TU +TU +KY +SH +Xm +kj +kj +kj +kj +kj vX -Nb -vc -Cn -YD -uE -qW +rL +os MU -ND -Ey -ND -QE +UT +Rx +Vv +eG MQ Zr -AM +ep +Tu +ex +nf +os +eO +vX +os +Mg +os +eO +vX +os +Lp +ex +UT +UT +eG +mf +mL +ep Tu -Zx -yf -qW -MU -ir -ir -ce -ir +UT +DU +uX +Ec +KH +Rh +Rh +Rh wt Qp -zN -zN +kj +kI cv -ir -ir -Xm +KY +KY +KY BL -sD +ph Ma -ir -ir -ir -Xm -ce -ce -ir -eA -gP -ce -ce -aD -zN +Rh +go +go +go +go +go +Ii +WP +qE +qE +qE +WP +qw Ck -ir -ir -UE -UE -UE +KY +KY +KY +TU +TU "} (23,1,1) = {" -UE -UE -ce -ir -ju -zN -RZ -qW +TU +KY +KY +Ua +gC +qg +kj +kj +kj +kj +sF +he +os MU -ND -Or -Vp -QE +UT +UT +Gy +eG Io -QE -Dl -bD -Zx +eG +mU +Tu +nk GE -MU -ir -xf -qW -Ow -qW -PX +os +eO +vX +os +Mg +os +eO vX -qW +os MU -ND -ND -KD -QE +UE +UT +Gy +eG Io -QE -Dl -bD -Zx -yf -qW -MU -ir -ir -CQ -ce -ir -Bo +eG +mU +Tu +UT +DU +uX +GV +KH +bd +IL +Rh +Rh +ph Ua cv -ir -ir -Xm -Xm -Ee -YV -vT -ir -Ut -ir -Xm -sg -Xm -ir -ir -YW -ir -ir -ir +KY +KY +KY +KY +ok +Bc +ok +go +go +go +go +dO +go +Rh +YC +lq +lq +lq +xI Ua -zN +jO Ck -ir -UE -UE -UE +KY +KY +TU +TU "} (24,1,1) = {" -UE -ce -ce -ir -ju -zN -nw -qW -MU -ND -ND -ND +TU +KY +KY +KY +KY +Ua +qg +kj +kj +KY +DH +cX +os +aI +UT +um +GQ VB -Gc VB -ND -ND -Zx -yf -mI -ir -xf -qW -ki -IB +VB +Ni +Tu +ex +GE +oI eO vX -qW +os +Mg +os +eO +vX +os MU -ND -ND -ND +UE +um +um VB -Gc VB -ND -ND -eQ -yf -qW -MU -ir -Bo -ir -ce -sD -ir -ir -ir -ce -Ap -jO -jO -Ee -KR -vT -ir -Dy -ir -ir -Xm -KR -KR -ir -eA -ir -Ee -ir -ir -ju -PB -ir -ir -UE -UE +VB +Ni +Tu +UT +DU +uX +os +Yt +bd +bd +Rh +ph +Rh +kO +bd +Rh +Rh +ok +ok +ok +go +ok +Rh +ll +go +go +Rh +Rh +bd +Ba +lq +lq +NM +xI +KY +ju +PB +KY +KY +TU +TU "} (25,1,1) = {" -ir -ce -ir -SH -zN -cv -ub -qW -MU -ND -Lh -ND -VB -VB -VB -Or -lU -Zx -yf +TU +TU +KY +KY +KY +KY +ju +vs +TA +Op +Yi +os +Cn MU -ir +UT +ZL +um +UT +UT +UT +UT +Fp +ex +GE +os +eO vX -qW -ki -IB -PX -xf -qW +HV +Mg +os +eO +vX +os MU -ND +ex +OE +UT +um +um +um +um +Fp UT -ND -VB -VB -VB -ND -Nn -eQ GE -qW -MU -ir -ir -ir -ce -CQ -sD -by -ce +os +PX +KY +bd +bd +ah +IL +IL +ph +Rh Wg -Ee -Es -ce -ir -zt -Ee -ir -hp -eC -ir -Xm -Xm -KR -KR -Xm -Ee -Ek -Xm -ce +ok +YN +go +go +go +ok +Rh +go +Lb +go +Rh +kO +KY +YC +nF +lq +lq +xI +KY Ua -zN +jO Ck -ir -UE -UE +KY +TU +TU "} (26,1,1) = {" -ir -SH -NA -zN -cv -ir -ns -JY -HY -ND -Nw -un -Nw -Nw -Nw -un -Nw -Zx +TU +TU +KY +KY +KY +KY +ju +RZ +os +os +os +os +uX +Yo +UT +UT +dg +CW +CW +CW +Jv +qs +Ue GE -MU -ir -xf -SB +os +eO +vX +os Mg -JY -mA -xf -qW +HV +eO +vX +os MU -ND -Nw -un -Nw -Nw -Nw -Zd -nr -Zx +mM +qs +wT +pI +pI +pI +XU +za +UT GE -gR -sf -Ps -ir -Bo -ir -Bo -Xm -ir -Ee -Ee -ir -ir -ir -ir -ir -ir -ir -ir -ir -qW -qW -qW -ir -ir -YV -rS -sD -CQ -CQ -ir -ju +os +ZS +KY +KY +IL +KY +IL +bd +Rh +ok +ok +go +go +go +go +go +Ii +Ii +Ds +KE +bG +gM +Jk +GD +WP +An +An +An +WP +IL +Ii +Ut PB -ir -UE -UE +KY +TU +TU "} (27,1,1) = {" -ir -ju -xL +TU +TU +TU KY KY -fC -fc -bd -az -mF -mF -mF -mF -mF -mF -mF -mF -ip +lo +vJ +vJ +vJ +SM +pZ +GR +Yq +uO +ak +sM +ak +ak +ak +ak +ak +sM +ak Nj -CB -fC +SM +ZS Yi -Po +SM mE -XR +SM ZS -Qg -WJ -CB -mF -mF -mF -mF -mF -mF -tV -mj -JV -jB -ve -az -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -Lq -fC -fC -fC -fC -fC -fC -zt -KR -ir -ju +Yi +SM +ft +ak +sM +ak +ak +ak +ak +ak +sM +ak +Nj +TQ +os +ZS +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +EH +EH +EH +EH +EH +dJ +OY +FW +TQ +os +ZS +Jk +Jk +Jk +GD +ok +Rh +Ii +Ut PB -ir -UE -UE +KY +TU +TU "} (28,1,1) = {" -NA -xL -oX -qW -qW -pU -gi -oa -oa -vs -Al -Al -Al -pU -pU -Al -pU -pU -pU -pU -pU -ru -oa -Ww -oa -vs -Al -Al -pU -pU -pU -pU -pU -pU -Oa -UB -ce -pZ -Kc -uO -uO -vs -pU -pU -pU -pU -pU -pU -ir -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -YC -oa -gT -pU -pU -pU -pU -pU -ir -KR -ir -ju +TU +TU +TU +KY +KY +vX +lP +lP +lP +Zp +Zp +Zp +Zp +Zp +BC +Zp +Zp +Zp +Tc +Zp +lP +lP +gb +lP +lP +lP +LB +lP +Is +lP +ys +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +ay +ay +ay +ay +ay +ay +ay +lP +lP +lP +lP +lP +lP +lP +eO +IL +Rh +Ii +Ut PB -ir -ir -UE +KY +KY +TU "} (29,1,1) = {" -zN +TU +TU +TU KY -qW -qW -qW -pU -pU -pU -pU -pU -Al -UB -pU -pU -pU -Al -pU -pU -pU -pU -Al -Al -pU +KY +vJ +lP +lP +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +sv +lP +lP +lP +lP +lP +LB +lP Is -pU -Al -Al -Al -Al -pU -pU -pU -pU -Al -tV -ce -ir -ir -ir -Ac -Pv -ow -pU -pU -Al -pU -pU -ir -Dy -Jz -pU -pU -pU -pU -pU -pU -pU -Jz -pU -pU -pU -pU -pU -pU -pU -Jz -pU -ir -Ee -zt -Ua -zN -Ck -ir -UE +lP +ys +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +CD +lP +lP +lP +ay +ay +ay +ay +ay +lP +lP +lP +lP +lP +lP +lP +lP +eO +kO +ok +Ii +Wz +Kn +oS +KY +TU "} (30,1,1) = {" -zN +TU +TU +TU KY -qW -qW -qW -pU -pU -pU -pU -Al -Al -zt -zt -UB -Al -Al -pU -Al -Al -Al -Al -Al -pU +KY +vJ +lP +lP +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +YA +lP +lP +CD +lP +lP +LB +lP Is -pU -pU -Al -Al -Al -Al -pU -pU -Al -tV -ir -ir -kw +lP +ys +lP +lP +lP +cM +lP +lP +lP +lP +lP +lP +lP +lP +cM +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +eO +bd +ok +Rh +Ii Ut -od -ir -vE -Bd -yU -fx -pU -Al -pU -ir -ir -Jz -pU -ZF -ZF -ZF -pU -pU -pU -Jz -pU -pU -pU -pU -pU -pU -pU -Jz -pU -ce -Ee -zt -ir -ju -PB -ir -UE -"} -(31,1,1) = {" -zN +jM KY -qW -qW -qW -pU -pU -pU -pU -pU -Al -UB -ll -ce -Al -Al -pU -pU -Al -Al -Al -Al -pU +TU +"} +(31,1,1) = {" +TU +TU +TU +KY +KY +vJ +lP +lP +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +lP +lP +lP +lP +lP +LB +lP Is -pU -pU -pU -pU -Al -Al -pU -pU -pU -if -ir -ir -pu -tn -hp -cy -Pn -mj -yU -pU -pU -Al -Al -pU -pU -pU -ZF -ZF -lM -ZF -Al -pU -pU -pU -pU -Al -Al -Al -pU -pU -Al -Al -Al -ce -jO -ce -ir +lP +ys +lP +lP +NZ +cM +lP +lP +lP +lP +lP +cM +NZ +Jm +cM +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +CD +lP +eO +bd +SX +Rh +Ii ju PB -ir -UE +KY +TU "} (32,1,1) = {" -zN +TU +TU +TU KY -qW -qW -qW -pU -pU -pU -pU -pU -Al -Al -Zl -UB -Al -pU -pU -pU -Al -Al -Al -Al -pU +KY +vJ +lP +lP +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +Zp +lP +lP +lP +lP +lP +LB +lP Is -pU -pU -pU -pU -Al -Al -pU -pU -pU -pZ -ir -UI -pu -IP -hp -Lb -ir -Bd -yU -pU -Al -Al -Al -ZF -pU -Jz -ZF -Al -Al -ZF -Al -pU -pU -Jz -pU -pU -Al -Al -ZF -Al -Al -dW -pU -ir -Xm -ce -SH -zN +lP +ys +lP +cM +cM +cM +Zp +Zp +Zp +lP +lP +cM +cM +cM +cM +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +eO +KY +bd +Ii +dv +bZ cv -ir -UE +KY +TU "} (33,1,1) = {" -zN +TU +TU +TU KY -qW -qW -qW -pU -pU -pU -pU -pU -pU -Al -UB -Al -pU -pU -pU -pU -Al -Al -pU -pU -pU +KY +vJ +yT +me +me +yT +yT +yT +yT +yT +yT +yT +yT +yT +yT +yT +me +me +me +me +me +me +og +lP Is -pU -pU -pU -pU -pU -Al -pU -pU -Al -Kk -ce -ir -pu -sA -HO -Zp -ir -Pv -ZF -pU -Al -Al -Al -ZF -ZF -pU -ZF -Al -Al -Al -Al -pU -pU -pU -pU -pU -Al -Al -ZF -Al -Al -pU -pU -ir -ce +lP +fV +me +me +me +me +yT +yT +yT +me +me +me +me +me +me +me +me +me +me +Xy +Xy +me +me +me +me +me +me +me +me +me +me +me +me +me +me +me +me +me +me +me +me +me +eO +KY +KY +SH +Xm +PB +KY +KY +TU +"} +(34,1,1) = {" +TU +TU +TU +KY +KY +vJ +ID +iw +ID +ID +ID +ID +ID +ID +rk +Pp +JN +rk +ID +ID +ID +ID +ID +ID +ID +rk +JT +lP +Is +lP +En +rk +rk +rk +iw +ID +ID +ID +iw +rk +rk +rk +rk +rk +rk +rk +rk +rk +gf +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +rk +eO SH -zN +IO +Xm +kj PB -ir -ir -UE -"} -(34,1,1) = {" -zN KY -qW -qW -qW -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -Is -pU -pU -pU -pU -pU -pU -pU -pU -Al -pU -if -ce -ir -pQ -ir -ir -zt -mj -ZF -Al -Al -Al -Al -Al -ZF -pU -pU -Al -Al -Al -pU -pU -ir -ir -ir -pU -pU -Al -ZF -Al -pU -pU -pU -ir -ce -ju -zN -PB -ir -ir -UE +TU +TU "} (35,1,1) = {" -zN +TU +TU +TU KY -qW -qW -qW -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU +KY +vJ +Zp +sv +Zp +Zp +Zp +Zp +Zp +Zp +lP +Gc +wy +Zp +lP +Zp +Zp +Zp +Zp +Zp +Zp +lP +LB +lP Is -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -Ac -UB -ir -ce -ce -pZ -yV -jj -ZF -Al -ZF -Al -Al -Al -Al -jj -pU -Al -gn -Al -pU -pU -ir -Fz -ir -ir -pU -pU -ZF -pU -pU -Jz -pU -ir -SH -zN +lP +ys +lP +lP +Zp +sv +sv +Zp +Zp +sv +lP +lP +lP +lP +lP +lP +lP +lP +lP +cM +NZ +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +eO +ju +kj +kI gC cv -ir -UE -UE +KY +TU +TU "} (36,1,1) = {" -zN +TU +TU +TU KY -qW -qW -qW -pU -mj -mj -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -Is -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -ce -UB -UB -UB -Kk -Al -ZF -Al -Al -ZF -Al -Al -Al -Al -ZF -pU -Al -Al -Al -pU -ir -ir -Ed -ir -pU -pU -pU -pU -pU -pU -pU -pU -ir +KY +vJ +lP +Zp +Zp +Zp +Zp +Zp +Zp +Zp +lP +Gc +wy +Zp +lP +Zp +Zp +Zp +Zp +Zp +Zp +lP +LB +lP +Is +lP +ys +lP +lP +Zp +Zp +Zp +Zp +Zp +lP +lP +lP +Uo +lP +lP +lP +lP +lP +lP +cM +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +CD +lP +lP +lP +lP +lP +lP +lP +lP +eO ju +kj PB -ir -ir -dF -UE -UE +KY +KY +KY +TU +TU "} (37,1,1) = {" -zN +TU +TU +TU KY -qW -qW -qW -mj -ir -ir -mj -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU +KY +vJ +Zp +sv +Zp +Zp +Zp +Zp +Zp +Zp +lP +Gc +wy +Zp +lP +Zp +Zp +Zp +Zp +Zp +Zp +lP +LB +lP Is -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -mj -mj -pU -Al -Al -dW -Al -pU -ZF -Al -Al -Al -pU -jj -pU -pU -pU -pU -pU -pU -ir -ir -ir -pU -pU -pU -BA -pU -pU -Jz -pU -ir +lP +ys +lP +lP +lP +lP +lP +lP +Zp +Zp +lP +lP +lP +lP +lP +lP +lP +lP +lP +cM +cM +ay +ay +lP +lP +lP +lP +ay +ay +ay +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +eO ju +kI cv -ce -ce -ce -ir -UE +KY +KY +TU +TU +TU "} (38,1,1) = {" -zN +TU +TU +TU KY -qW -qW -qW -ir -sz -sA -pU -pU -pU -pU -pU -pU -pU -Al -Al -pU -pU -pU -pU -pU -pU -Is -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -dr -Al -Al -dW -pU -pU -ZF -ZF -Al -Al -Al -jj -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -Jz -pU -ir -me -ir -Zg -ir -zt -ir -UE -"} -(39,1,1) = {" -Ua -xF -tT -qW -qW -ir -ir -HU -HU -Ej -pU -pU -pU -pU -Al -Al -ZF -Al -pU -pU -pU -pH -HU -pi -HU -Ej -pU -pU -pU -pU -pU -pU -Al -pU -if -CC -DN -nk -LF -mj -HU -Ej -pU -pU -ZF -Al -gn -Al -Al -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -KF -HU -Zi -pU -pU -pU -pU -pU -ir -me -ir -HO -Zg -Pk -zt -UE +KY +vJ +Zp +Zp +Zp +Zp +Zp +lP +sv +lP +lP +Gc +wy +Zp +lP +Zp +Zp +Zp +Zp +Zp +Zp +lP +LB +lP +Is +lP +ys +lP +lP +lP +lP +Uo +Zp +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +ay +ay +ay +lP +lP +lP +ay +ay +ay +ay +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +eO +ju +PB +KY +KY +TU +TU +TU +TU +"} +(39,1,1) = {" +TU +TU +TU +KY +KY +vX +lP +lP +Zp +Zp +Zp +Zp +lP +lP +lP +Gc +jl +lP +lP +Zp +jz +Sm +bN +bN +bN +Vd +Ip +KN +Is +lP +ys +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +ay +ay +ay +lP +lP +Rr +MS +MS +Vd +KN +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +eO +ju +PB +KY +TU +TU +TU +TU +TU "} (40,1,1) = {" -ir -lb -Lf +TU +TU +TU KY KY -ir -ub -MH -MW -gp -gp -gp -gp -Wk -Wk -MF -MF -wR -Qy -Rz -VW -uE -oV +xC +vJ +vJ +vJ +mj +xq +lP +lP +lP +lP +Gc +jl +lP +lP +lP +Nm +WP +rS +rS +rS +rS +WP +ii du -iM -UQ -Vv -Rz -nH -gp -gp -Wk -Wk -tV -Ac -aQ -qX -RI -DZ -zF mj -VW -mc -mc -cu -mc -mc -mc -VW -VW -VW -VW -VW -VW -VW -VW -VW -VW -VW -VW -en -VW -VW -VW +PX +Hy +mj +dX +wH +wH +wH +wH +wH +wH +wH +wH +iF +wH +YE +aa +os +Pt +LO +LO +sx +sx +sx +Il +Ow +Uy VW VW VW -ir -me -ir -IP -Fz -IT -zt -UE +GB +Fr +Il +tY +OY +tE +aa +os +PX +LO +LO +LO +JU +kL +wC +Jk +Jk +GD +TU +TU +TU "} (41,1,1) = {" -ir -ir -ir -ir -ir -ir -ns -qW -MU -ND -Tt -Ym -Tt -Fn -Ff -Ba -Ff -Rx -qd +TU +TU +TU +TU +TU +KY +KY +IK +Ur +os MU -zt -Hy -pb -GV -FS +lP +lP +lP +Zp +Gx +wy +lP +lP +lP +jr +YF +lf +mt +nN +rh +dS +GE +Mg +os eO vX -qW +os MU -ND -xd -un -bL -xU -ce -ce -Wt -Wx -dO -Wx -ce -UB -Ap -Xm -Xm -js -Ap -Ap -Xm -ir -ir -ir -ir -ir -ir -ir -ir -ir -ir -qW -qW -qW -ir -ir -ir -ir -Xm -NA -PB -Zg -Fz -gY -ir -zt -zt +sS +Sg +KA +CW +Yg +Yg +Yg +jK +pu +Vk +mb +Gf +PX +JU +bd +Rh +Rh +Zq +ph +LS +LU +cS +lQ +xV +KI +Mr +ZB +nW +Jw +an +XS +vR +ie +qI +KY +KY +Ey +KY +tl +BM +BM +BM +eO +TU +TU +TU "} (42,1,1) = {" -ir -ir -ir -dF -ce -ir -uE -qW -MU -ND -oL -ND -WT -WT -WT -Fy -cX -Rx -hh -tK -ce -Hy -Nb -GV -Nb +TU +TU +TU +TU +TU +TU +TU +Ic +gE +uX +Yo +lP +Zp +Zp +Zp +Gx +fS +sv +lP +Zp +jr +YF +ha +Nq +yN +HB +dS +GE +Mg +os eO vX -qW +os MU -ND -oL -Jc -GM -ce -ir -nB -HO -ir -zF -SM -Zp -ir -qd -dd -Wx -Wx -Xm -KR -ir -bN -ZT -ZT -ZT -ZT -ZT -ZT -ZT -ZT -ZT -bN -qW -ir -ir +ex +bc +UT +GG +Vk +Vk +Vk +ae +LX +Vk +mb +Gf +It +Rh +Rh +ss +Zx +xp +go +rg +yO +SI +cA +uA +tN +lM +uC +eO +Ii +go +IX +Rh +Zx +hI SH Ck -ir -Xm -fl -cv -ir -IT -ir -ir -Xm -zt +KY +SH +RC +BM +kX +BM +eO +TU +TU +TU "} (43,1,1) = {" -UE -ir -ir -ce -Ap -ce -Rf -qW -MU -ND -Or -ND -WT -jm -WT -sk -YX -Rx -hh -tK -ce -Hy -Nb -GV -Nb -PX +TU +TU +TU +TU +TU +TU +TU vX -qW -MU +uX +uX +Yo +lP +Zp +Zp +Zp +Gx +wy +Zp +Zp +Zp +jr +YF +ha +AR +AR +HB +dS +GE +Mg +HV +eO +KC +Am +fp +fZ +ae +oP +Vk +Vk +Vk +mv +UT +dC +Vk +mb +OY +It +Rh +ph +go +eX +go +Zx +so +Ux +iM +kh ND -FL -bZ -Iz -CN -sH -HO -pu -pu -sA -sh -Wx -TK -xw -Wx -ir -ir -zt -zt -Wx -ya -sd -WR -Yr -Rn -fv -tb -Nh -cW -XA -ya -ir -ir -SH -zN +MH +rQ +uu +hM +Ii +IX +Bc +Rh +td +dM +mR PB -ir -ir -PQ -ce -ce -ir -ir -Ap -Xm -zt +KY +ju +sT +BM +BM +BM +eO +TU +TU +TU "} (44,1,1) = {" -UE -UE -UE -ir -Ap -Ap -Rf -qW -MU -ND -ND -ND -WT -vr -WT -dg -ND -Zx -qd -mI -zt -vX -Nb -GV -Nb -PX +TU +TU +TU +TU +TU +TU +TU vX -qW +os +os MU -ND -wI -lp -ir -sB -ir -ir -Ut -yO -Zg -ir -Wx -Vt -jT -ir -Xm -KR -Ek -Xm -Wx -bN -TF -jK -nF -XC -jR -nF -nF -GS -aL -bN -ir -ir -Gk -fl -fl -Fa -ce -PQ -ir -ce -ce -hH +lP +Zp +Zp +Zp +Gx +wy +Zp +Zp +Zp +jr +YF +WP +be +Ox +WP +dS +GE +Mg +os +eO +KC +Am +fp +fZ +Vk +Vk +UT +mv +UT +UT +UT +UT +UT +GE +OY +It +LC +Zx +go +go +VM +go +so +Ux +Wb +jI +jx +gV +Tf +uu +hv +zA +sh +ok +Pu +go +Df +Df +wZ +IO Xm -yx -zt +sT +os +os +CO +hH +bd +TU +TU "} (45,1,1) = {" -UE -UE -UE -ir -Ap -Ap -Rf -Nb -MU -ND -ND -ND -eG -zQ -NF -dg -ND -Zx -qd -mI -ir +TU +TU +TU +TU +TU +TU +TU vX -qW -Mg -qW -oH -ub -qW +os +os MU -ND -AS -yu -Kx -if -Ac -ir -Zg -Ut -sA +lP Zp -if -jT -mj -Wx -aO -Xm -Xm -aO -ir -bN -nF -nF -nF -nF -nF +Zp +Zp +Gx +wy +Zp +lP +Zp +jr +WP +WP +fU +fU +WP +WP +GE +Mg +os +eO +rg +Am +fp +bn +UT +Ta +UT +UT +UT +mv +UT +UT +UT +GE OY -nF -Ha -Pw -bN -ir -ir -zt -Ua -zN -zN -nb -dA -ir -ir -Ap -Ap -Ap -Ap -ir +hR +fx +Rh +ph +fx +go +xp +so +SI +kD +gg +Jb +fv +wr +lM +lM +lM +lM +lM +Iy +Zx +td +Df +Df +Df +kj +sT +os +uX +Yt +Rh +Rh +Rh +TU "} (46,1,1) = {" -UE -UE -UE -ir -Xm -Ap -Rf -Nb -MU -ND -ND -mj -BV -PA -eG -wO -dg -Mv -qW -sn -nH +TU +TU +TU +TU +TU +TU +TU vX -qW +os +uX +CB +PQ +Ja +Ja +Ja +Rp +hL +Ja +PQ +PQ +PQ +WP +Ms +Ni +Ni +Wy +qC +VF Mg -CE -Rh -qW -qW -CD -Or -wI -ND -as -jT -Ly -hp -kw -ZR -hp -ir -Wx -ir -Vt -zt -Wx -aO -dd -aO -ir -bN +Ij +ZB +wW +Am +sN +bn +RU +mv +UT +UT +Vk +Vk +Vk +UT +UT +GE +Am +hR +Ii +Ii +ph +Ii +go +Ii +rg +Ux lI -JX -Yr -jK -ig -OY -YA -HG -Ox -bN -ir -KR -zt -ir -Ua -zN -zN -dA -ce -gP -Ap -dd -Ap -ce -ce +HN +cz +HN +LY +lM +df +TL +nX +lM +Iw +kE +Mq +uL +Vo +Df +Df +eZ +XX +XX +QF +rP +Rh +Rh +TU "} (47,1,1) = {" -UE -UE -UE -ir -Xm -Xm -Rf -Nb -tK -ND -mj -Ly -mj -td -Py -eG -dg -oU -vW -qW -sn -Rz -hI +TU +TU +TU +TU +TU +TU +TU +vX +os +uX +Ur +lP +lP +Zp +Zp +Zp +Zp +lP +lP +lP +lP +dx +os +os +os +os +os +os Mg -yW -qW -qW -qW -fL -ND -ND -eG -ND -xw -pZ -ir -ir -BX -TK -Wx -jT -ir -Vt -KR -zt -aO -aO -ir -ir -bN -bN -bN -bN -bN -bN -he -BD -bN -bN -BD -ir -zt -Xm -ir -zt -zt -Ya -zN -Fa -ir -Xm -Xm -Ap -ir -ce +gu +gu +OY +Am +bf +Up +RU +BB +Vk +Vk +Vk +jR +Vk +Vk +UT +GE +Am +hR +Ii +KY +Ey +fx +fx +ph +fm +lM +lM +lM +oe +lM +lM +lM +wM +Fd +vb +lM +Un +lM +lM +lM +lM +Df +Df +KX +XX +XX +QF +Rh +Rh +fx +TU "} (48,1,1) = {" -UE -UE -UE -ir -Xm -Xm -Rf -Nb -MU -mj -ir -Zg -ir +TU +TU +TU +TU +TU +TU +TU +vX +os +uX +Ur +os +os +os +os +os +os +os +os +os +os +dx +qd +qd +qd qd qd -fp -Zw -fz -vd -qk -qk -qk qk NO -qk -qk -qk -qk +iN +zB +qP +qP dI -tj -qM -WT -Fl -vg -Wx -zt -cp -jT -Wx -Wx -Vt -Qb -Xm -VJ -zt -ir -Xm -qQ -ir -bN -OI -ox -ox -ox -ox -qx -bN -ir -ir -Xm -Xm -Xm -dd -zt -KR -ir -Ua -gC -zN -Ck -ir -Xm -ce +Eq +RU +jR +bo +Vk +Vk +jR +Vk +Vk +Vk +GE +Am +It +fx +KY +fx +fx +KY +Rh +rB +lM +oK +di +PS +Js +nd +lM +Kl +da +Cu +lM +lM +lM +pF +qF +lM +vT +Vo +KX +XX +XX +QF +Rh +Ii ZE -ce +KY "} (49,1,1) = {" -UE -UE -UE -ir -ir -Xm -Rf -Nb -MU -Ly -sA -sz -Ly -ND -gf -Py -eG -Ga -An -qW -Hm -Ix -zH -HD -qW -qW -zH -hM -Vm -ND -eG -eG -Xw -ir -Fu -pS -UB -xw -Kh -Vt -mj -Xm -aO -dd -KR -ce -ce -ce -vZ -bN -CR -Pz -bf -Ob -Lv -Ea -bN -ir -dd -Xm -Xm -uy -zt -zt +TU +TU +TU +TU +TU +TU +TU +vX +os +uX +Ur +lP +lP +lP +lP +lP +lP +lP +lP +lP +lP +dx +os +os +HV +os +os +os +Mg os -TU -ir -ir -ju -PB -ir -ce -Tb -PB -ce +gu +OY +OY +Ru +bn +RU +jR +Sr +BB +Sr +BB +Vk +Vk +GG +GE +OY +Ji +nW +LS +EH +EH +Jk +nW +vm +lM +OZ +AN +li +nl +GO +lM +LT +da +BZ +lM +Yb +Fb +AC +pR +lM +lM +lM +RZ +uX +os +It +Ii +SH +Gl +KY "} (50,1,1) = {" -UE -UE -UE -UE -vC -vC -Rf -qW -MU -Or -Lh -ir -mj -eG -mj -ND -lU -Zx -qW -pz -CB -vC -kv +TU +TU +TU +TU +TU +TU +TU +vX +os +os +xq +je +je +je +je +Pb +eg +je +je +je +je +VS +VS +VS +VS +VS +VS +os Mg -MU -uE -qW -zH +os +PX +Hy +OY Bw -ND -ND -ND -Eh -eG -il -YX -CU -Rx -yf -pZ -MU -OL -Xm -aO -KR -kG -ir -nS -lZ -WU -bM -wc -QV -mw -vV -lI -bN -ir -Xm -Xm -MS -KR -TU -Xm -Xm +bn +RU +UT +Sr +BB +Sr +ae +Vk +bb +UT +GE +OY +OY +hR +so +OY os -vC -um -gC -zN -NA -NA -zN +os +eO +zM +lM +zt +NN +lc +Km +xg +Lg +vA +Me +BE +yE +Ab +vt +IU +Uj +dz +gZ +lM +RZ +os +os +zD +IO +Xm PB -ir +Ey "} (51,1,1) = {" -UE -UE -UE -UE -UE -vC -Rf -qW +TU +TU +TU +TU +TU +TU +TU +vX +os +uX MU -ND -IH -ND -ND -ND -Or -ND -TT -Pm -Ac -mj -ir -ir -kv +lP +lP +lP +lP +Gc +jl +lP +lP +lP +lP +VS +sP +iQ +vn +Ax +VS +os Mg -MU -Lf -Qa -qW -XP -wI -Lh -ND -ND -eG -RQ -ND -Gd -tp -yf -qW -qW -dx -nS -nS -ac -vZ -nS -mu -AK -bN -bN -bN -bN -bN -bN -bN -bN -ir -ir -ir -Xm -ir -ir -Xm -Py -eG -Py -vC -vC -ju -zN -zN -zN -ty -ce +os +eO +WS +os +gs +bn +Eg +UT +UT +BB +Vk +Vk +Vk +PJ +Ta +GE +LF +Sd +DE +Iq +XN +os +os +eO +lM +lM +lM +lM +CP +QW +lM +lM +ux +Fd +JG +lM +lM +fT +hE +KV +PU +AA +lM +RZ +uX +uX +Ya +kj +kI +cv +KY "} (52,1,1) = {" -UE -UE -UE -UE -UE -zt -Rf -qW -sn -Rz -YL -YL -KY -KY +TU +TU +TU +TU +TU +TU KY +xC +DM +uX +fp +ay +lP +lP +lP +Gc +jl +lP +lP +lP +lP +VS +my +cC +iu +Nc +ab +HY +Ap +os +eO +vX +os +fp +Vq +Pj +PE +Yg +CW +Yg +Yg +ng +UT +UT +GE +OY +zI +DE +fN +Rj +os +os +eO +lM +qb +FF +lM +lM +lM +lM +lM +Yk +et +xQ +lM +ps +GU +sc +od +Ql +WW +lM +RZ +uX +uX +Gp +kI +cv KY KY -mj -if -Nb -ce -ir -kv -Mg -MU -ce -xf -qW -MU -ND -IH -Or -ND -OK -ND -CU -Oh -Pm -yf -qW -qW -dx -nS -nj -nS -nS -nS -vJ -nj -ir -ir -Xm -ir -Xm -dd -Xm -Xm -ir -ir -ir -Xm -Wx -Xm -Py -Py -sS -BV -Py -ir -ju -Gp -zN -ty -ce -ir "} (53,1,1) = {" -UE -UE -UE -UE -UE -UE -vl -Jw -WJ -WJ -ts -WJ -WJ -WJ -WJ -WJ -if -IC -ce -oD -ir -Zg -Uw -Mg +TU +TU +TU +TU +TU +TU +lo +Jk +Yi +uX MU -ce -xf -IB -Ht -iC -KY -KY -KY -KY -KY -YL -KY -Sz -Us -pz -CB -VW -ir -Wx -ir -Wx -Wx -kH -nS -ir -Wo -Wo -Wo -Bx -Wo -ir -Wo -Bx -Wo -Bx -Wo -mJ -dd -BV -mz -vA -vA -eG -wt -zN +ay +ay +lP +lP +Gc +jl +lP +lP +lP +lP +VS +mr +vn +qi +Kp +VS +uX +fD +uX +eO +so +os +hW +qn +vJ +vJ +vJ +vJ +vJ +vJ +vJ +JY +JY +xY +OY +OY +Pa +so +OG +gu +gu +ZS +lM +lM +uc +lM +YT +uW +lM +lM +lM +AP +lM +lM +lM +bg +Lv +gq +DI +eJ +lM +RZ +os +os Pe -dA -ce -ir -UE +PB +Ey +Ey +TU "} (54,1,1) = {" -UE -UE -UE -UE -UE -UE -vC -zt -ir -ir -ir -ir -ir -vC -ce -ir -zt -zt -oD -sA -IT -vC -Hc -Mg -MU -ce -zt -Cq -ts -FG -bm -WJ -WJ -WJ -WJ -WJ -WJ -WJ -WJ -CB -vC -vC -gv -KR -PY -Wx -ir -kH -nj -dd -Wo -to -us -se -Bx -ir -Wo -to -dZ -se -Wo -aO -Pa -BV -vA -jr -HH -BV -ir -Ua -fl -dA -ir -UE -UE +TU +TU +TU +TU +TU +TU +vX +OY +OY +mh +fp +ay +lP +lP +lP +Gc +jl +lP +lP +lP +lP +VS +zq +vn +hV +rG +VS +uX +fD +uX +eO +so +OY +OY +Am +Am +Am +os +os +os +os +OY +OY +OY +OY +OY +wi +ai +so +gu +Fu +os +HV +lM +LM +uT +pO +uT +sE +oW +KF +oW +JB +mV +el +lM +lM +lM +Vn +lM +lM +lM +RZ +os +os +Ya +PB +KY +TU +TU "} (55,1,1) = {" -UE -UE -UE -UE -UE -UE -BM -Lo -Lo -Lo -Lo -Lo -BM -CL -xO -Ap -Xm -ir -Ut -zv -Ut -ir -Kl -Mg -MU -ce -KR -Ap -ir -ce -zt -zt -ir -ir -ir -ir -ir -ir -vC -vC -ir -aO -gv -Ap -KR -dd -ir -KC -nj -Xm -Wo -oA -GA -wy -Wo -ir -Wo -oA -qu -xu -Wo -Nq -KN -qq -sA -kw -wY -BV -ir -ir -ju +TU +TU +TU +TU +TU +KY +WS +mh +mh +OY +fp +ay +lP +lP +lP +Gc +jl +lP +lP +lP +lP +VS +VS +Va +cD +VS +VS +uX +fD +uX +Pa +Hn +Il +ie +ie +Il +cB +ie +LO +LO +LO +Il +sx +Il +Il +Il +ai +NP +so +os +Eh +YQ +YQ +QT +EX +fc +tP +tP +fc +fc +fc +fc +Jl +Kv +dU +tm +jX +lM +lM +lM +lM +kI +yC +os +uX +IC PB -ir -UE -UE +KY +TU +TU "} (56,1,1) = {" -UE -UE -UE -UE -UE -UE -Lo -kh -Kz -Az -hb -kh -Lo -ZS -CL -xO -ce -ce -Ut -Ut -Ed -ir -Hc -Mg -MU -ce -Ap -Ap -Xm -Xm -ce -zt -qQ -ir -Xm -Xm -Xm -Xm +TU +TU +TU +TU +TU +Ii +so +mh +mh +AW +VS +Cl +lP +RN +lP +Gc +jl +lP +RN +lP +Cl +VS +Rl +hG +xi +jH +VS +uX +fD +uX +It +Ii +Rh +Cg +MJ +hI +hI +Ii +Ii +pP +Rh +Ii +Ii +Ii +Ii +Rh +pP +OW +so os -ir -ir -KR -zl -Ap -zt -Xm -Wx -kH -nj -ir -Bx -BK -wy -av -Bx -ir -Wo -BK -oA -Gh -Bx -nS -Ev -WD -BV -Fv -BV -BV -vC -BT -zN +lu +os +os +lM +IG +gL +ON +uw +gL +Zg +Er +IP +gL +gL +nI +lM +yr +lM +ly +KU +lM +lM +vX +os +uX +Ya PB -ir -UE -UE +KY +TU +TU "} (57,1,1) = {" -UE -UE -UE -UE -UE -UE -Lo -eb -xq -hE -bs -wd -Lo -fW -za -aY -fC -fC -fC -fC -fC -fC -kv -Mg -MU -wr -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -fC -wr -wr -Lk -ua -ir -ir -LJ -nS -ir -Wo -Wo -Bx -jh -Wo -ir -Wo -Bx -Bx -fi -Wo -do -aO -nS -BV -BV -BV -vC -Bu -zN -zN -RV TU -UE -UE +TU +TU +TU +TU +fx +KC +mh +mh +cH +VS +VS +KQ +KQ +KQ +KQ +KQ +KQ +KQ +KQ +VS +VS +Rl +tw +hG +jH +VS +uX +fD +FB +eO +Ii +Bc +ph +go +xp +go +Ii +fx +OW +ph +go +go +go +ph +ph +ph +ph +vX +xH +lu +uX +PX +lM +lM +Ra +lM +lM +ve +lM +lM +lM +Wf +lM +lM +lM +KJ +ib +CG +ht +FG +lM +WS +os +uX +Ya +PB +Qi +TU +TU "} (58,1,1) = {" -UE -UE -UE -UE -UE -UE -Lo -Ss -Ss -hE -Ss -Ss -Ft -pO -qW -qW -oQ -oQ -oQ -xw -xw -qW -qW -Mg -Nb -Nb -qW -qW -qW -qW -qW -qW -zt -zt -qW -qW -qW -Nb -Nb -qW -qW -Nb -Nb -qW -ZS -fC -fC -Ur +TU +TU +TU +TU +TU +hI +so +mh +CN +VS +VS +Xp +Gr +nc +vn +gv +Nf +eV +bs +eV +id +VS +VS +zO +ul +VS +VS +uX +fD +uX +eO +Ey +Ii +Ii +Ii +Ii +Rh +Rh +fx +Ii +Ii +LC +go +go bd -ZS -Gv -Yw -Hw -bP -zt -zt -Gv -Gv -Gv +Lu +fx +ph +so +Vg +lu +uX +eO +lM +lJ +CU +lM +nO +iv +iv +lM +hf +Pl +FR +lM +pl LJ -ir -xC -nj -Be -ir -Xm -vC -vC -SH -zN -zN -Hd -ir -UE -UE +bi +yV +Yc +hc +lM +WS +os +uX +Bh +cv +KY +TU +TU "} (59,1,1) = {" -UE -UE -UE -UE -UE -UE -Lo -Mx -Vl -Td -GD -GD -vD -fB -ww -mD -Qk -Qk -Qk -Qk -ww -ww -ww -aP -ly -Aa -Aa -Aa -qG -qG -ir -ir -sA -Wv -uf -Fh -Fh -Aa -ly -ly -Aa -eU -eU -eU -Aa -yr -yr -JD -oQ -gW -nS -vC -vC -AT -We -nS -nS -nS -AT -jJ -xC -nS -Wx -DK -ir TU +TU +TU +TU +TU +Ii +so +mh +CN +VS +rl +IZ +IZ +LZ +eV +eV +Qm +rq +QZ +QZ +QZ +LE +lX +XZ +No +MG +VS +os +lu +os +ZS +Jk +Jk +tC +EH +EH vC -BT -zN -zN -Hd -zt -ir -UE -UE +tC +tC +Jk +Jk +Jk +Jk +tC +Jk +Jk +EH +EH +wW +os +lu +uX +eO +lM +ZM +HD +lM +iv +qy +Fn +lM +JC +eh +sd +lM +hJ +re +UP +xZ +Lz +lM +lM +vX +os +uX +bU +KY +KY +TU +TU "} (60,1,1) = {" -UE -UE -UE -UE -UE -UE -Lo -JL -uv -Lp -PJ -PJ -Ft -pO -qW -Ne -oQ -qW -qW -oQ -qW -qW -qW -Ne -qW -qW -qW -qW -qW -oQ -Wx -Fz -sz -Wx -ir -IB -qW -qW -qW -Nb -Nb -Nb -qW -df -qW -qW -qW -qW -Gi -xS -vn -vn -oK -xC -pu -xC -xC -vn -hj -HS -zt -EB -sA -eV -YN -vC -vC -ju -zN -Hd -zt -ir -UE -UE -UE +TU +TU +TU +TU +TU +hI +rg +mh +CN +VS +CR +hq +hq +hq +hq +hq +Xt +nP +El +UV +Gw +eE +eQ +vq +Pc +Pd +VS +os +lu +os +yY +uX +os +uX +uX +os +os +os +os +Mx +yF +HV +os +os +pt +uX +uX +uX +uX +uX +pd +KR +hM +lM +lM +lM +lM +UI +jc +mz +lM +ma +Xn +lM +lM +lM +lM +io +Qo +Um +lM +bd +vX +os +uX +eO +TU +TU +TU +TU "} (61,1,1) = {" -UE -UE -UE -UE -UE -UE -Lo -PC -PC -uz -Dr -Eg -Lo -ic -ln -Ne -JE -UQ -Py -eG -eG -eG -aJ -Lx -Yo -eG -eG -eG -Py -uE -oQ -Wx -bu -Wx -ir -cu -cu -VW -VW -VW -uE -qW -qW -oQ -oQ -oQ -oQ -qW -qW -EX -nS -ir -pu -pu -tn -ir -Gv -Gv -Gv -Gq -zt -zt -ir -ir -dv -vC -SH -zN -RV -zt -ir -UE -UE -UE -UE +TU +TU +TU +TU +TU +TU +so +mh +CN +VS +hq +OF +JS +JS +Hb +xb +xb +mC +xb +xb +xb +Ek +Nk +hw +NQ +gl +VS +os +XC +YQ +YQ +gT +qX +gT +gT +YQ +YQ +YQ +MI +YQ +YQ +YQ +YQ +FD +PR +YQ +YQ +YQ +YQ +YQ +HA +os +eO +KY +Zq +bd +lM +lM +lM +lM +lM +lM +lM +lM +Ah +lV +lM +Ia +ry +ZR +lM +Ey +vX +os +uX +ZS +Jk +Jk +Jk +GD "} (62,1,1) = {" -UE -UE -UE -UE -UE -UE -Lo -oI -oI -HZ -PJ -oI -Lo -UQ -xX -Ne -oQ -Py -eG -Nf -ls -ep -hy -ZO -Mk -pe -zL -rT -eG -Py -qW -Wx -Wx -ir -ir -Xm -ir -ir -ir -ir -vX -jz -te -iM -UQ -VW -VW -QC -QC -rE +TU +TU +TU +TU +TU +TU +so +mh +CN +VS +FL +pQ +Mt +VS +JA +VS +VS nS -ir -ir -pu -jM -ce -Wo -Wo -Wo -zu -Wo -ir -Xm -Ap -ce -ce -ju -zN -PB -ir -UE -UE -UE -UE -UE -"} -(63,1,1) = {" -UE -UE -UE -UE -UE -UE -BM -Lo -Lo -Lo -Lo -Lo +VS +VS +VS +WT +Tq +vn +gz +yH +VS +yF +lu +os +os +os +os +uX +AE +os +xH +vH +TK +vH +uX +os +os +os +qH +os +yF +DP +Mx +os +lu +os +ZS +tC +Jk +mW +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +lM +lM +lM +lM +lM +Jk +Yi +os +uX +uX +bp BM -ec -vX -Ne -qW -eG -EP -Rw -Et -jA -Cm -tV -ob -AL -Mk -zQ +BM +eO +"} +(63,1,1) = {" +TU +TU +TU +TU +TU +TU +so +mh +CN +VS +Iv +mg +VS +VS +nG +VS +EC sj -eG -qW -oQ +jH +VS +vn +WT +Os +nr +Ul +Gr +VS +yY +lu +os +tM +tM +tM +tM +tM +tM +tM +tM +qS +tM +tM +LO +Hy +ZK +dA +ZK +PX +LO +Hy +os +lu +uX +Uc +Jq +gu +gu +os +CX +sK +os +dB +uX +aF +uX +mK +uX +AM +uX +os +uX +os +os +bY +bY +uX +uX +bp +kX +BM eO -ir -Xm -Xm -Xm -Xm -ir -ir -ir -nS -ir -nS -ir -ir -ir -ne -nS -nS -ir -ir -ir -ir -pu -ce -Bx -BK -Xg -Gh -Wo -Xm -dd -Ap -gP -ce -oN -zN -PB -ir -UE -UE -UE -UE -UE "} (64,1,1) = {" -UE -UE -UE -UE -UE -UE -vA -vA -rk -ir -ir -zt -ir -ir +TU +TU +TU +TU +TU +TU +so +mh +CN +VS +hq +pQ +uK +Zy +jY +VS +VS +Fz +VS +Fz +Fz +WT +kG +vn +rV +Bb +VS +Jn +lu +Qv +tM +PW +Jd +RX +Vm +DV +zX +nE +Qx +gR +tM +KY +Qj +Qj +Rn +Qj +Qj +Qj vX -Ne -qW -eG -vE -lB -LL -KL -WA -DF -Pr -kt -Hu -Mk -LK -eG -Nb -Nb +os +Px +cd +Fl +Fl +bQ +YX +YQ +YQ +YQ +YQ +YQ +AI +Tg +gT +gc +gc +gc +YQ +WD +os +os +os +uX +uX +os +Ui +BM +BM +BM eO -Xm -Xm -ed -ed -ed -ed -ed -ed -QU -ed -QU -ed -ed -ed -ed -WO -ed -ed -ed -BV -BV -ce -ir -Wo -La -pK -CV -Bx -ir -Ap -ce -ne -ir -oN -fl -PB -ir -UE -UE -UE -UE -UE "} (65,1,1) = {" -UE -UE -UE -UE -UE -UE -vA -os -os -ce -gv -zt -Zg -Dy -vX -Ne -qW -eG -ZH -uP -jN -hp -HO -ce -DF -Yz -ym -Mk -ny -eG -qW -Nb -PX -Xm -Ap -ed -GC -bH -UC -bH -zG -Vf -dV -ZM -cF -ys -Vd -zM -zG -zG -ei -hf -mj -ed -ce -ir -Wo -to -nI -LM -Wo -ir -ir -Li -kG -ir -ju -fl -PB -ir -UE -UE -UE -UE -UE +TU +TU +TU +TU +TU +TU +vX +OY +py +VS +hq +pQ +uK +Zy +Go +uN +Lf +vn +dE +rI +Fz +WT +zd +vn +eS +vn +pq +os +lu +os +BT +nE +US +gR +fa +cc +zX +nE +eb +Id +tM +EG +Qj +Vr +FV +VE +jQ +Qj +vX +os +iV +yP +KK +ku +NL +gu +os +rU +os +DR +Gf +Gf +KM +os +oQ +os +uX +uX +uX +uX +OL +zH +zH +zH +mi +rd +LO +LO +LO +JU "} (66,1,1) = {" -UE -UE -UE -UE -UE -vA -vA -xO -ew -ir -gv -Wx -ir -ir +TU +Es +Jk +Jk +Jk +GD +WS +OY +py +VS +hq +pQ +VS +VS +Wu +mN +ug +VS +VS +Fz +jE +WT +Yu +Gr +Kd +JS +pq +uX +fD +yF +BT +yI +ec +yI +yI +fi +cp +AH +nE +kT +tM +EG +Qj +Ym +es +rZ +oR +Qj vX -Ne -qW -Py -eG -if -ir -lG -iB -Zg -gU -HR -Fm -gO -eG -Py -qW -qW -PX -ce -Ap -ed -bH -cF -EY -zG -YS -Pv -Pv -Pv -uK -uK -zj -fn -zm -sE -om -Iw -Iw -ed -ir -ir -Wo -Wo -Wo -Bx -Wo -ir -Xm -aO -Ap -ir -Ua +os +lu +YY +ZA +Jq +Jq +Wx +Ub +Ub +Wx +Wx +Wx +jm +KM +sK +Wx +Wx +Wx +Wx +Wx +Wx +BD zN -PB -ir -ir -ir -UE -UE -UE +zN +zN +Zk +Aj +TU +TU +TU +TU "} (67,1,1) = {" -UE -UE -UE -UE -vA -vA -vA -KQ -Xm -ir -gv -aO -aO -ir +TU vX -Ne -qW -eO -Py -eG -eG -sA -BB -Fr -PI -eG -eG -eG -Py +BM +BM +BM +ZS +Yi +OY +py +VS +CR +pQ +tq +VS +VS +VS +VS +VS +vD +vD +ZN +WT +nm +Gr +Yz +vn +pq +uX +fD +os +BT +ne +st +Sp +uj +VZ +jB +gJ +iS +ZF +tM +VQ +Qj +pS +kp +EK +mI +Qj vX -qW -qW -eO -ir -Xm -ed +os +lu +lh +CY +ER +sQ +Wx +Hm +IA +Wx +bD +Ub +DQ KB -zM -mS -NX -pr -fZ -kM -mj -YQ -VT -VT -xw -ys -pY -Mp -xM -Ig -ed -ir -Ee -Ee -YW -ir -ir -ir -zt -gv -aO -sg -ce -ce -Ua +Gf +Wx +Nx +Jz +tn +RT +Wx +BD zN -nb -Ck -ir -UE -UE -UE +zN +Jc +zN +Dj +TU +TU +TU +TU "} (68,1,1) = {" -UE -UE -UE -vA -vA -sA -vA -vA -vA -ir -aO -Xm -bX -Xm +TU vX -Up -MH -BG -kG -Ap -QJ -ir -oc -vE -vC -os -KR -KR -Ap +BM +Dx +bp +pJ +pJ +mh +py +VS +VC +WF +HE +vO +FK +tW +tW +tW +vO +vO +vO +zT +SZ +av +tG +Gr +VS +DX +fD +kA +tM +nE +st +yS +Uz +jp +rj +rj +rj +rj +tM +Pk +Qj +Dk +Qs +lz +us +Qj vX -MH -MH -eO -ir -ir -ed -bH -FR -uS -ZX +Mm +TD +xN +uX +Ks +UR Wx +Tj +Ss Wx -Ac -fZ -Wd -ab -qS -DN -fn -zM -Cx -vx -Qj -ed -ce -ce -Ap -Xm -eA -ir -ir -Xm -aO -mg -Xm -dd -ce -ir -Ua -fl -PB -ir -ir -UE -UE +Gv +Ub +dH +zk +xX +fQ +zc +cG +VU +aC +Wx +BD +zN +Jc +Jc +Jc +Zk +Aj +TU +TU +TU "} (69,1,1) = {" -UE -UE -UE -vA -pu -tn -Zg -oD -vA -nS -kG -AT -os -Xm -Xm -Vs -nj -aO -Xm -os -QS -vC -vC -vC -vC -bT -KR -Ap -ce -ir -nS -nS -nS -nS -nS -kK -OU -AA -JW +TU +vX +BM +BM +NW +pJ +pJ +mh +nA +VS +hq +sH +ny +hq +Xt +Xt +Si +hq +ck +RH +pD +Ku +fs +Gr +Ok +gv +VS +Yr +fD +py +tM +SS +jJ +fa +gA +fJ +tv +HX +vo +Rb +tM +Pk +Qj +Gm +Ho +cI +Se +Qj +Yi +QH +ZJ +uX +uX +Ks +UR Wx -vU -ir +VA +Ss +Dw +JE +oZ +xX +fq +uX Wx -dS -ir -vv -xw -zm -ys -sb -Cx -TO -Qj -ed -ir -ir -sg -ce -ce -ir -ir -dd -Xm -KR -KR -Xm -TA -ir -ce -oN +Zz +Wx +PT +Nx +Wx +BD zN -Ck -ir -UE -UE +zN +Jc +Jc +Jc +Dj +TU +TU +TU "} (70,1,1) = {" -UE -UE -UE -vA -da -xG -Fz -PR -vZ -nj -ac -wM -wM -bP -nS -LJ -nS -Ap -Xm -Xm -Xm -xD +TU +ty +LO +LO +ie +cB +sB +OY +nA +VS +VS +VS +VS +VS +VS +VS +VS +VS +VS +VS +VS +VS +aM +VS +VS +VS +VS +WX +fD +py +tM +GL +gR +gR +ud +rM +rY +ub +ub +Da +tM +yz +Qj +Jp +Li +Qj +dF +Qj +Qj +Uc +TW +TE +aK +Ks +Pf +Wx +NS +qh +NY +fg +Wx +yW +pY +AQ +Wx +sI +Wx +GC +hg +Wx +MK +ou +zN +Jc +Jc +Jc +Zk +tr +tr +TU +"} +(71,1,1) = {" +TU +TU +TU +TU +KY +hI +KC +OY +OY +wb +Db +se +Ai +Ko +iZ +JD +hU +iZ +Ko +yu +WE os -bT -Xm -KR -KR -ce -ir -ir -nS -nS -ir -qQ -ir -ed -cF -qD -CM -oS -jy -hp -HV -ir +lu +os +os +Am +OY +OY +lu +Rw +tM +mF +nE +oc +nE +Fs +kU +hN +Kk +hk +tM +EG +Qj +Qj +Qj +Qj +IS +ru +Qj +gu +xl +Vu +Jq +EA +os +Ub +Ub +Ub +Wx +Wx Wx +Gf +pY +dH Wx -cE -DN -cF -yI -Qj -fn -NK -ed -ir -Ee -ir -ir -ME -ir -ir -Xm -os -ir -KR -Ee -TA -aO -ce -ju -zN -PB -ir -UE -UE -"} -(71,1,1) = {" -UE -UE -UE -vA -Pc -pu -Zg -vA -ac -ne -ce -vC -BE -zt -AY -LJ -nS -Ap -ce -ce -Xm -hF -bT -ir -Xm -KR -Ap -Ap -nS -nS -nS -nS -nS -nS -nS -ag -fD -ji -ir -oS -Zp -Fz -io -HE -Zp Wx -mj -QD -cF -Pl -nc -NK -fn -ed -Ee -Ee -ir -yP -HO -da -ir -ir -vC -vC -os -Ee -YW -nG -ce -ju +Wx +Wx +Wx +Wx +LG +MK zN -PB -ir -UE -UE +zN +Jc +Jc +zN +zN +zN +TU "} (72,1,1) = {" -UE -UE -UE -Jx -Jx -da -vA -vA -vA -Ap -Ap -os -os -LY -vC -LJ -nS -Xm -ir -ce -ne -vZ -nS -nS -nS -vZ -vZ -nS -ir -Xm -AT -AT -ir -zt -ir -ed -cF -Pv -Gu -ir -oS -sA -Rd -ZB -HE -ir -fd -gN -bH -TZ +TU +TU +TU +TU +lo +EH +LU +OY +OY +AU +Ih +Ii zG -Ja -xT -ed -eA -ir -ir -sA -iB -HO -ir -Xm -ir -hH -cn -Ka -Xm -kG +jn +sh +sh +nD +go +go +rt +SF +uX +ol +gT +gT +gT +wA +Vz +HA +Rw +tM +tM +tM +tM +tM +tM +tM +tM +tM +tM +tM +EG +yB +ey +Ws +eM +Ys +HJ +Qj +gu +dA +gu +Ub Wx -ju +Wx +Wx +DJ +Vl +IY +jD +Wx +Gf +RP +Ed +Gf +Yw +Bj +Mh +Za +wG +aT +os zN -cv -ir -UE -UE +zN +zN +Jc +zN +zN +zN +TU "} (73,1,1) = {" -UE -UE -pZ -Vt -if -AQ -xo -Xq -Xq -Wo -Ap -RP -Xm -ir -ir -SX -AT -AT -Wx -nj -aO -ce -ce -ir -ir -ce -ir -ir -Xm -Xm -Xm -nS -zt -zt -Ap -ed -RU -zG -YQ -pn -ir -Xb -da -nA -ir -Wx -NX -zG -zG -TZ -cF -fn -zB -FU -nS -Xe -Ut -zd -tn -ir -ir -ir -eA -Ee -Nr -oe -dd -ir +TU +TU +TU +TU +vX +os +OY +mh +mh +os +eO +KY +pW +pW +pW +pW +pW +rP +go +Vi +Am +uX +uX +aN +mh +mh +mh +os +WA +yF +un +NF +GT +cw +kw +pg +QK +fd +rA +Fi +Fi +KY +Qj +HR +lE +Qj +Ys +xS +Qj +os +lu +os +Ub +qK +cj Wx -ju -PB -ir -ir -UE -UE +Cp +Cp +Dl +XQ +fQ +HT +Qh +dH +os +ea +Zo +Zo +kR +Sn +Gf +os +zN +zN +zN +zN +zN +zN +zN +TU "} (74,1,1) = {" -UE -UE -mj -UB -uC -wB -AQ -vK -xE -Bx -Xm +TU +TU +TU +TU +vX os -ce -ir -ir -LJ -nS -AE -AE -Xm -Wo -Wo -Bx -Wo -Wo -Bx -Wo -Wo -Wo -ir -nS -nS -zt -KR -Ap -ed -cF -Iw -bn -hS -ir -hp -ZB -QY -ir -if -VV -cF -cF -fg -fn -fn -KG -ed -ir -nS -ce -zd -ir -ce -ce -dd -Xm -eA -bK -oe -Ap +os +mh +uX +Pt +JU +pW +pW +Yh +kY +Yh +pW +qR +uL ir -AP +At +vz +vz +Ug +Ug +ie +sB +os +lu +os +fM +vj +Cb +Xa +oF +Hh +Jt +Ey +Fi +Mf +Pk +qf +Qj +Qj +Qj +Qj +WL +Sk +Qj +sK +lu +uX +Wx +Ts +xG +Wx +UK +mP +Wx +Zz +Wx +os +pY +DQ +OV +rc +CI +CI +XO +nn +JJ +os zN -PB -ir -UE -UE -UE +zN +zN +zN +zN +zN +TU +TU "} (75,1,1) = {" -UE -UE -Wo -AQ -Nd -lm -wH -KE -Uj -Wo -Xm -aO -kG -ne -ir -LJ -nS -Xm -KR -Xm -Wo -zr -Wo -zr -Wo -uT -Wo -cQ -Bx -ce -vZ -ce -ce -Ap -Ee -ed -Iv -zm -AA -Cl -Pn -OB -ir +TU +TU +TU +TU +vX +os +os +PX +iz +nx +KY +pW +GS +EZ +DY +uY +pW +Ka +Ka +Ka +Zd +dq +Zc +Ka +Ka +Ka +so +os +lu +OY +AX +AX +AX +AX +AX +AX +AX +zj +Pk +qT +uF +EG +Qj +GY +zE +Qj +Gi +iH +Qj +os +fD +uX Wx -Bq -xw -fn -zG -Zn -nZ -zB -Ri -dc -ed -ir -vZ -ce -yV -oi -tV -Sm -ed -Sm -ed +GJ +bv +Wx +yf +zQ +Wx +UC +Wx +Gf +RP +VR +IN +hj +vJ +vJ +bw +ee +wq os -sD -by -ce -oN -fl -dA -ir -UE -UE -UE +zN +zN +Jc +Jc +zN +zN +TU +TU "} (76,1,1) = {" -UE -UE -Bx -AQ -AQ -aK -wB -Vh -SS -Wo -Xm -Xm -Xm -ne -Wx -LJ -nS -Xm -Xm -KR -Wo -ex -Bx -MX -Wo -ro -Bx -ex -Wo -ir -vZ -nS -ir -ir -Xm -ed -MZ -Wi -cF -kj -bt -Iw -xw -qa -cF -Wi -eZ -vx +TU +TU +TU +TU +vX +os +os +It +pP +Rh +KY +pW +pK +uY +Nb +dj +pW +ds +TP +Jf +lO +sb +ED +bR +Gt +Ka +Yi +uX +fD +uX +AX +iL +wO +yZ +Vt +NE +AX +Lo +uF +Qg +Fi +SX Qj -nZ -cF -cF -Go -ed -ir -nS -ir -GU -if -Iz -oo -Om -Om -Sm -ir -ir -ir -ce -Ua +MF +zE +zC +Gi +xE +Qj +os +fD +AM +Ub +Ub +gm +Wx +Wx +Wx +Wx +Wx +Wx +aT +RP +Gf +EJ +Ei +bw +vJ +vJ +ee +gF +os zN -dA -ir -UE -UE -UE +zN +Jc +zN +zN +zN +TU +TU "} (77,1,1) = {" -UE -UE -Bx -AQ -wH -qI -TW -Mr -Se -Bx -Xm -ir -ir -Xm -AE -Bb -nS -nS -Xm -Xm -Bx -wB -AZ -Tr -Rc -kn -YR -OW -Wo -ir -nS -vZ -ir -ir -Xm -ed -OR -cF -Bf -cF -ob -zG -aH -cF -fn +TU +TU +TU +TU +so +mh +mh +QF +ok +ph +KY +pW +GS +dj +dc +Kg +VK +dQ +Mw +xL +Jr +QG +hn +Dd +aB +Ka +oU +uX +fD +Zl +AX +KT +ia +jS +ia +de +AX +Xi +nL +Fi +Ey +Xh Qj -kP -VF -bH -TZ -xH -TZ -cH -ed -ir -vZ -vZ -Vt -bh -mk -og -cF -cF -ed -ir -Xm -Xm -Ap -ir -ju -dA -ir -UE -UE -UE +Qj +Qj +Qj +WL +bC +Qj +os +lu +Gf +Gf +Gf +Zw +os +uX +uX +uX +bL +Gf +Gf +pY +os +TJ +sk +Sj +Br +gH +Rk +Sa +os +zN +Jc +Jc +Jc +zN +zN +TU +TU "} (78,1,1) = {" -UE -UE -Wo -Od -Uj -Ds -nM -rl -Se -Wo -Xm -Xm -Xm -zt -gv -ir -RR -nS -vZ -nS -yA -QZ -AQ -CP -Ux -Pg -rh -Yj -PG -nS -nS -ce -ce -ir -ir -ed -ed -ed -ed -ed -GB -Iw -ed -mG -ed -ed -ed -ed -ed -ed -ed -ed -ed -ed -ir -pv -ir -ed -wf -FI -cF -wv -tP -ed -Xm -Xm -kX -Ap -ir -ju -dA -ce -UE -UE -UE +TU +TU +TU +TU +rg +mh +mh +QF +Lu +pP +KY +pW +pK +as +BA +dj +pW +rf +oL +hC +eH +RI +kl +Og +Qf +bl +YQ +gT +Vy +Ca +bF +EY +EY +op +EY +gB +AX +Xi +ok +Ii +fx +zM +Qj +BH +Qr +Qj +Ys +EF +Qj +os +Ga +SO +SO +SO +yb +SP +qV +aj +aj +aj +aj +vy +cg +uX +os +DZ +fW +gh +UN +BQ +os +os +zN +Jc +Jc +zN +zN +zN +TU +TU "} (79,1,1) = {" -UE -UE -Wo -xs -WZ -Xz -EV -rJ -Jm -Wo -Xm -KR -zt -ir -aO -ZA -Oe -DJ -vZ -ir -Wo -wB -Xk -DH -dw -YI +TU +TU +TU +TU +so +uX +uX +QF +ok +ph +KY +pW +GS +up +sl +as +pW +Ka +Ka +Ka +Ka +RM +Tv +xo +aB +Ka +oU +EI +fD Tr -kf -Bx -ir -nS -ir -ce -Ap -ir -Xm -Xm -Ap -ir -fE -vC -bP -QW -nS -ir -Xm -sD -No -sD -Xm -Xm -sD -eA -jx -ce -vZ -AT -Ql -cF -mj -cF -mj -cF -Sm -Xm -YW -YP -ir -ir -ju -PB -ir -UE -UE -UE +AX +iC +bM +Hw +Lt +QU +AX +Zx +Ii +Ii +hI +js +Qj +WJ +WJ +AF +uH +uV +Qj +Gf +KM +Gf +os +Gf +Gf +Gf +os +Gf +Gf +Gf +Gf +si +Gk +Gf +aT +Tw +kP +Tl +Hv +bk +os +os +zN +Jc +Jc +zN +zN +TU +TU +TU "} (80,1,1) = {" -UE -UE -Wo -xz -Ic -Xz -Xz -rJ -sl -Bx -Xm -zt -ir -vE -vC -mU -vZ -vZ -km -XV -hL -cO -uQ -QZ -Vz -wB -kn -hN -fA -nS -nS -ir -ir -Xm -ir -ce -xO -xO -ir -xC -bP -Ki -dd -ir -fE -Xm -ce -ce -ce -Ap -sD -He -eh -eA -ce -zt -AT -Sm -fJ -RG -Go -fJ -mW -ed -Xm -nq -Ee -ir -Tb +TU +TU +TU +TU +vX +os +os +Yt +Rh +Rh +KY +pW +pW +WB +RA +WB +pW +ym +kV +al +QV +Hx +cs +fw +ZD +Ka +Hy +uX +fD +uX +AX +PI +xu +Hw +ge +xy +AX +MO +vU +QP +hI +vm +Qj +Ml +BY +Qj +fR +UU +Qj +ES +KM +Gf +Pt +sm +sm +Wx +Wx +Wx +Wx +Wx +Wx +Gf +Hq +Gf +Wx +Wx +Wx +Wx +Wx +Wx +os +OL zN -PB -ir -UE -UE -UE +zN +Jc +zN +zN +TU +TU +TU "} -(81,1,1) = {" -UE -UE -Wo -nM -iz -Ug -Ug -Uj -Se -Wo -Xm -Xm -vE -vE -sm -nS -nS -ir -ir -LJ -Wo -WQ -Wo -bi -Wo -Uz -pM -hN -Wo -Xm -nS -nS -ir -jx -xO -vC -vC -ir -nS -nS -Xm -Xm -Xm -Xm -Xm -Xm -Ap -Xm -ir -ir -ce -ir -Xm -jx -xD -vC -bP -ed -ed -ed -Sm -ed -Sm -ed -Ge -nq -ir -ce -fl -fl -ty -ir -UE -UE -UE +(81,1,1) = {" +TU +TU +TU +TU +vX +os +os +eO +KY +eA +Ey +Ey +pW +pW +pW +pW +pW +qD +Pq +kf +cF +Na +ql +Gs +Fe +Ka +vX +uX +fD +uX +AX +AX +AX +AX +AX +AX +AX +SM +os +ZS +Jk +oJ +Qj +Qj +Qj +Qj +Qj +Qj +Qj +os +lu +os +hM +Ey +KY +Wx +Hm +hP +Wx +Wm +Wx +Gf +pY +os +Wx +Nx +Jz +tn +ag +Wx +OL +JK +zN +zN +zN +zN +zN +TU +TU +TU "} (82,1,1) = {" -UE -UE -Bx -Hs -lo -cO -ra -vH -cO -qt -vn -vn -Yn -EA -nS -nS -Xm -Ee -Ee -LJ -Bx -Wl -Wo -Ei -Bx -zV -hN -hN -Bx -Xm -nS -bP -vC -hH +TU +TU +TU +TU +vX os -Xm -Xm -ir -Xm -Xm -Os -ir -ir -ir -Xm -Xm -ir -Xm -Xm -ir -ce -ce -vC +os +eO +KY +KY +Ey +Ey +KY +Ii +Ii +Ka +of +vF +dm +aQ +yi +sz +kd +bq +Fe +Ka +vX +uX +fD +uX os os -ir -uU -ce -ir -ir -Xm -Xm -Ap -Ap -xO +uX +uX +uX +ed +gu os -ce -Tb +os +os +os +os +Gf +Gf +Gf +os +Gf +QR +os +uX +fD +os +hM +Ey +KY +Wx +Cq +kZ +Wx +ca +Wx +Gf +Vw +Xc +fQ +zc +cG +Nx +aC +Wx +BD zN -dA -ir -ir -UE -UE -UE +zN +zN +zN +zN +zN +zN +TU +TU "} (83,1,1) = {" -UE -UE -Bx -ni -Se -jf -dB -Xk -hJ -Bx -ir -nS -aT -bP -nS -Xm -Ee -Ee -aO -LJ -Wo -DR -Wo -ht -Wo -Tn -pM -WV -Wo -Vt -ir -Wx -vC -DS -dd -Xm -ir -ir -Xm -Xm -ir -ir -Rg -ir -ir -Xm -Xm -ir -dd -Xm -ir -ce -ir -Xm -yx -Ap -KR -ce -ir -Xm -yx -Ap -YV +TU +TU +TU +TU +vX +os os -xO -ce -ce +eO +KY +KY +KY +KY +KY +ok +ok +Ka +kN +rm +OB +zZ +CT +sz +BP +ki +Fe +Ka +WS +uX +pr +gT +YQ +YQ +gT +gT +gT +YQ +YX +YQ +YQ +YQ +YQ +YQ +qv +YQ +YQ +qv +YQ +YQ +YQ +gT +Gh +uX +eO +KY +KY +Wx +ra +tu +sL +CS +oZ +HT +Qh +XR +Wx +Zz +Wx +SQ +Nx +Wx +BD +zN +Jc +Jc +Jc +Jc zN -fl -cv -ir -UE -UE -UE -UE +zN +zN +TU "} (84,1,1) = {" -UE -UE -Wo -Xz -tJ -wB -CP -Se -Se -Cd -nS -nS -nS -nS -AE -AE -zt -KR -aO -Bb -Bx -Wo -Bx -Wo -Wo -Bx -Bx -aF -aF -YH -QY -TY -Xm -Xm -ir -eA -ir -ir -ir -CQ -ce -IT -Fz -jv -ir -ir -dd -ir -Xm -Ap -Xm -Xm -Xm -ce -ce -KR -zt -ce -ir -ir -ir -ir -xD -Yh -Yh -ir -SH -fl -ty -ir -ir -UE -UE -UE -UE -"} -(85,1,1) = {" -UE -UE -Bx -Ug -Se -HW -HW -eB -Ab -Wo -Xm -ir -Xm -gv -AE +TU +TU +TU +TU +WS +os +os +eO +WP +xR +Bo +xR +WP +bI +Gu +Ka +yl +iB +xL +dV +CT +sz +eP +eP +aB +Ka +Pi +os +lu +os +os +os +mh +mh +uX +ed +gu +os +os +os +os +os +Gf +Gf +os +Gf +Gf +Gf +os +os +os +uX +eO +Zq +IL Wx +dT +Hc +FH +ME Wx +Gf +mZ +Gf Wx -gv -nS -tH -ir -vC -vC -Xm -Ap -Ap -zg -Oc -TY -zF +sI Wx -zD -zF -jN -Xm -Xm -AV -Ap -sD -ce -wx -AU -Ut -kw -ir -Ap -ce -ce -ce -ir -ir -KR -KR -zt -zt -ce -dd -ir -ir -hp -vC -ir -od -ir -SH +GC +mx +Wx +BD zN -cv -ir -ir -UE -UE -UE -UE -UE +Jc +Jc +zN +zN +zN +zN +TU +TU "} -(86,1,1) = {" -UE -UE -Wo -rR -Mr -kl -rv -Se -GO -Wo -Xm -ir -aO +(85,1,1) = {" +TU +TU +TU +TU +vX os -Xm -ir -ir -aO -XN -KR -nS -pk -vC -ce -ce -ce -Ap -HK -YE -zD -PN -tw +uX +eO +xR +lq +lq +lq +xR +KY +ok +Ka +vf +Pq +ic +Ly +CT +sz +eP +eP +jG +Ka +np +os +lu +os +PX +Il +Il +Il +LO +LO +LO +LO +aS +aS +Fy +aS +aS +LO +LO +LO +LO +LO +LO +Hy +os +os +eO +KY +SX Wx -qN -tm -ir -sD -by -sD -ir -ir -kg -Zg -Zg -ir -ir -Xm -UE -UE -UE -ir -ir -UE -UE -UE -UE -ir -ir -ir -Ut -Ut -Fz -HO -ir -SH -gC -cv -ir -ir -UE -UE -UE -UE -UE -UE +Wx +Wx +Wx +Wx +Wx +Gf +gU +Gf +Wx +Wx +Wx +Wx +Wx +Wx +BD +zN +zN +Jc +Jc +zN +zN +zN +zN +TU +"} +(86,1,1) = {" +TU +TU +TU +TU +vX +os +uX +eO +xR +lq +lq +lq +xR +KY +ok +Ka +Ka +Ka +Vf +Vf +kq +AB +XW +ki +aB +Ka +xf +OY +Ld +OY +It +ok +ok +go +Ii +Ii +vm +aS +aS +YV +XI +pU +aS +aS +KY +KY +Ey +Ey +Ey +vX +os +os +eO +ok +Sz +ok +bd +yz +Ey +WS +Gf +Gf +pY +os +Gf +Gf +AK +Gf +Gf +Gf +BD +zN +zN +zN +Jc +Jc +zN +zN +zN +TU "} (87,1,1) = {" -UE -UE -Wo -BJ -Se -Xz -eR -cT -Ta -Wo -Xm -ce +TU +TU +TU +TU +vX os +uX +eO +xR +EU +yD +lq +xR +Ey +Ey +IL +on +Ka +cb +jT +HZ +zU +zz +UH +bz +Ka +Zb +OY +Ld +OY +It +go +Zx +ok +go +vm +aS +aS +ac +MM +Ar +Mp +wm +aS +aS +KY +Ey +Ey +bd +vX os -Xm -ce -ir -ir -Ik -Kn -Xm -bP -xh -Ap -ce -ce -kG -BU -Dt -zF -bU -ZR -tn -gV -Wx -ir -Xm -sD -RC -ir -ir -ce -ir -ir -ir -Xm -Xm -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -ir -Zg -Ut -jr -sA -ir -Jb -ir -ir -ir -UE -UE -UE -UE -UE -UE -UE +os +eO +xp +Th +ph +KY +Fi +Fi +Ay +pH +Gf +om +YQ +YQ +SO +SO +SO +Wt +Gf +BD +zN +zN +zN +zN +zN +zN +zN +zN +TU "} (88,1,1) = {" -UE -UE -Wo -SS -TW -sK -Xz -Se -SS -Wo -ir -ir -xO -Ap -Ap -vC -vC -ir -Xm -YW -YW -vC -qY -Ap -Ap -AE -AE -zg -Cb -Kd -ir -sA -IP -hp -US -ce -Xm -jx -sD -Xm -wC -ce -ir -Xm -Xm -Xm -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -ir -ir -Zg -Zg -ir -ir -ir -ir -UE -UE -UE -UE -UE -UE -UE -UE -UE +TU +TU +TU +TU +vX +os +uX +eO +WP +xR +xR +xR +WP +KY +Ey +IL +Lu +Ka +Ka +Ka +Ka +Ka +Ka +Ka +Ka +Ka +Zb +OY +Ld +OY +It +Ii +go +ok +Bc +vm +aS +wm +wj +tt +lN +Hs +wm +wm +aS +KY +Ey +Ey +SX +vX +os +os +eO +xp +Zx +ph +Ey +KY +EG +oh +pH +Gf +Gk +Gf +Gf +Gf +Gf +Gf +Gf +os +BD +zN +zN +Sb +Sb +zN +zN +zN +Ey +TU "} (89,1,1) = {" -UE -UE -Wo -Xz -Se -wa -Ug -kf -ur -Wo -ir -Xm -Xm -Ap -ii -vC -dP -QE -QE -QE -QE -dP -GQ -vZ -Xm -aO -Xm -aO -Dt -zt -Zg -bU -hp -et -et -ce -Xm -ir -dd -YV -Xm -Xm -Xm -Xm -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -ir -ir -ir -ir -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE +Es +Jk +Jk +Jk +Yi +os +uX +ZS +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +Jk +wN +qU +QX +dk +OY +Ld +OY +It +KY +bI +go +LC +Ii +vX +RS +oz +gd +MZ +ef +mB +yv +eO +KY +Ey +SX +co +vX +os +os +eO +KY +Zx +TG +Wx +Wx +Wx +Wx +Wx +Wx +Sh +Wx +Wx +Wx +Wx +Wx +os +os +MK +zx +qY +qY +qY +zx +zx +zx +Jk +GD "} (90,1,1) = {" -UE -UE -Bx -Se -ib -AX -an -AQ -ID -Bx -ir -Xm -Xm -xO -vC -ir -QE -Nt -zK -Pf -xg -QE -LJ -nS +vX +BM +BM +BM +os +os +uX +os +os +EA +os +uX +uX +uX +os +os +os +os +os +yY +os +os +os +os +OY +OY +OY +mh +fD +uX +eO +KY +KY +go +Rh +KY +xC +LO +rd +LO +LO +it +zV +iz +JU +Ey +Ey +ah +bd +vX +os +os +eO +KY +Gu +EP Wx -Xm -Ee -aO +VX +qa Wx -ir -Ed -Zp -Ml -gG -qN -ir -jx -Xm -Xm -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE +yh +yj +il +yj +oD +yj +vB +Wx +os +os +Gf +Gf +Gf +Gf +Gf +Gf +sC +sC +sC +hM "} (91,1,1) = {" -UE -UE -Bx -sF -Sd -PV -dC -XX -Co -Bx -bT -Xm +vX +BM +ZH +BM +os +os +os +os +os +os +KS +gT +gT +gT +YQ +YQ +YQ +YQ +gT +gT +gT +gT +gT +gT +YQ +YQ +YQ +gT +mn +uX +ZS +GD +KY +bd +IJ +IJ +bd +CV +KY +CV +SX +Rh +fx +fx +va +Ey +Ey +bd +lo +Yi os -ce -ir -Xm -QE -Nt -qv -bF -of -Sf -Aw +os +eO +KY +ph +KY Wx +kn +DT Wx -Xm -Ee -Ee -aO -ir -ir -ir -gG -ir -QY -ir -dd -eA -Xm -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE +Cv +ev +sn +DF +Af +JV +zP +Wx +os +Gf +Gf +Gf +os +os +os +Gf +sC +sC +sC +eO "} (92,1,1) = {" -UE -UE -Wo -Wo -Bx -Xq -kf -Xq -Bx -mj -ir -zt -zt -ce -ce -Xm -QE -Nt -eK -nm -Rq -QE -ir +vX +BM +BM +BM +PX +iz +LO +LO +Hy +os +os +os +os +os +HV +os +os +os +uX +uX +uX +uX +uX +uX +os +os +os +os +os +os +os +eO +KY +KY +KY +SX +Xk +IL +Ii +ok +MX +Rh +Ii +fx +Ey +KY +Ey +KY +vX +os +os +os +eO +Ey +KY +KY Wx -Xm -Xm -UE -Xm -kX -aO -ir -ir -ir -ir -ir -Xm -Xm -Xm -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -"} -(93,1,1) = {" -UE -UE -UE -UE -vC -vC -vC -ir -ir -ir -ir -zt -KR -KR -ce -ce -dP -QE -QE -QE -QE -dP +DT Wx -Xm -YW -UE -UE -Xm -Ee -Xm -IO -Xm -dd -Ee -Ee -Xm -Xm -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE +Wx +jF +vV +yn +zP +Kf +WR +ox +Wx +os +Gf +xU +yt +yt +LO +LO +Hy +sC +sC +sC +eO +"} +(93,1,1) = {" +xC +LO +iz +LO +JU +KY +SX +SX +KY +LO +LO +LO +LO +LO +LO +LO +LO +LO +LO +LO +LO +LO +LO +LO +LO +LO +LO +Hy +os +os +dx +KH +Ey +Ey +Ey +bd +IL +sf +sf +Bz +fx +Tp +dR +Tp +fx +Ey +KY +Ey +OD +Ur +os +os +eO +TU +TU +TU +Wx +Xw +vK +Xw +JH +Zm +yn +zP +Kf +Co +ox +Wx +wS +Gf +ZU +KY +IL +IL +KY +xC +LO +LO +LO +JU "} (94,1,1) = {" -UE -UE -UE -UE -vC -ir -hp -hp -oy -ir -UE -ir -zt -KR -zt -ce -ce -ir -jx -ir -ir -ir -ir -Xm -dd -UE -UE -UE -UE -UE -Ee -qc -Ee -qc -Xm -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE +TU +TU +TU +TU +TU +KY +bd +bd +Jh +Rh +ok +Rh +Rh +Rh +LC +KY +KY +KY +KY +KY +KY +KY +KY +bd +Zq +bd +KY +vX +os +os +dx +hs +fx +fx +fx +Ii +HC +fx +Nu +Nu +Nu +Zx +Rh +Ii +fx +fx +Ey +Ey +OD +Ur +os +os +eO +TU +TU +TU +Wx +to +YD +Xw +Xw +fE +zR +zP +oY +oY +Ww +Wx +OU +yt +Tt +KY +KY +KY +IL +IL +IL +TU +TU +TU "} (95,1,1) = {" -UE -UE -UE -UE -UE -ir -ir -Dy -Zg -ir -UE -UE -qQ -zt -zt -zt -ce -Ap -Ap -ir -ir -Xm -YW -Xm -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE +TU +TU +TU +TU +TU +TU +TU +TU +SX +go +Zx +ok +ok +Zx +bd +TU +TU +TU +TU +TU +TU +TU +bd +eA +Jh +IL +KY +vX +os +os +os +It +Ii +Ii +Ii +fx +fx +hI +hI +CV +TM +hd +Fv +go +Ii +Rh +SX +SX +WS +os +os +os +eO +TU +TU +TU +Wx +Wc +Zm +JL +pE +ua +bt +cm +Wd +xn +oG +Wx +EG +WP +rS +rS +rS +WP +eA +IL +TU +TU +TU +TU "} (96,1,1) = {" -UE -UE -UE -UE -UE -ir -ir -ir -ir -ir -UE -UE -UE -ir -zt -KR -sD -sD -jO -ce -Ap -Ap -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -"} -(97,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -ir -Xm -sD -Ee -Ee -ir -Xm -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +bd +SX +ah +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +IL +IL +lo +Yi +os +os +PX +JU +Ii +Ii +hI +hI +xp +go +Zx +IX +hI +go +ok +Rh +HC +SX +co +SX +ty +DM +os +os +Wy +SG +TU +TU +Wx +Wx +Wx +Wx +jk +jk +Wx +Wx +Wx +Wx +Wx +Wx +KY +YF +lq +YJ +lq +AG +SX +ah +SX +TU +TU +TU "} -(98,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -ir +(97,1,1) = {" +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +SX +SX +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +vX +BM +BM +BM +eO +KY +KY +Ii +Ii +Ii +ok +Ps +ok +ok +HC +Ii +KY +Ii +Ii +OQ +SX +TU +TU +WS +BM +BM +BM +eO +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU eA -Ee -sD -Xm -ir -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE +EN +SX +KY +Ba +lq +lq +rK +AG +SX +bI +SX +TU +TU +TU "} -(99,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -ir -ir -eA -Xm -ir -ir -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE +(98,1,1) = {" +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +vX +BM +ZH +BM +eO +TU +TU +KY +KY +Ii +Ii +KY +Ii +Ii +KY +Ii +KY +KY +KY +SX +bd +TU +TU +WS +BM +pw +BM +eO +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +IL +SX +KY +YF +lq +lq +lq +AG +eA +SX +SX +eA +TU +TU +"} +(99,1,1) = {" +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +vX +BM +BM +BM +eO +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +WS +BM +BM +BM +eO +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +KY +KY +WP +xk +in +in +WP +Jh +SX +TU +TU +TU +TU "} (100,1,1) = {" -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -oy -ir -ir -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE -UE +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +xC +LO +LO +LO +JU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +ty +LO +LO +LO +JU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU +TU "} diff --git a/code/datums/ruins/jungle.dm b/code/datums/ruins/jungle.dm index e8705d7f2f89..3cf31039d161 100644 --- a/code/datums/ruins/jungle.dm +++ b/code/datums/ruins/jungle.dm @@ -26,11 +26,11 @@ 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" + name = "Abandoned Airbase" id = "airbase" - description = "A bombed out airbase from the ICW, taken back over by nature" + description = "An abandoned airbase dating back to the ICW, partially scuttled, and moved right back into by the Ramzi Clique." suffix = "jungle_bombed_starport.dmm" - ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_HAZARDOUS, RUIN_TAG_LIVEABLE) + ruin_tags = list(RUIN_TAG_HARD_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_HAZARDOUS, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/jungle/medtech name = "MedTech facility" diff --git a/code/game/area/areas/ruins/jungle.dm b/code/game/area/areas/ruins/jungle.dm index 2d2fc76f97b1..2fc2ecb9eba7 100644 --- a/code/game/area/areas/ruins/jungle.dm +++ b/code/game/area/areas/ruins/jungle.dm @@ -82,19 +82,49 @@ name = "cargo dump" icon_state = "dk_yellow" -// Bombed Syndicate Starport -/area/ruin/jungle/starport - name = "Bombed Air Base" +// Abandoned Airbase + +/area/ruin/jungle/airbase + name = "Abandoned Airbase" icon_state = "green" -/area/ruin/jungle/starport/tower - name = "Air Base Control Tower" +/area/ruin/jungle/airbase/tower + name = "Airbase Command Tower" icon_state = "bridge" -/area/ruin/jungle/starport/plasma - name = "Air Base Fuel Stores" +/area/ruin/jungle/airbase/cargo + name = "Airbase Warehouse" + icon_state = "supply" + +/area/ruin/jungle/airbase/hangar + name = "Airbase Hangar" + icon_state = "hangar" + +/area/ruin/jungle/airbase/engineering + name = "Airbase Engineering" + icon_state = "dk_yellow" + +/area/ruin/jungle/airbase/med + name = "Airbase Medical" + icon_state = "med_office" + +/area/ruin/jungle/airbase/dorms + name = "Airbase Living Space" + icon_state = "crew_quarters" + +/area/ruin/jungle/airbase/armory + name = "Airbase Armory" icon_state = "red" +/area/ruin/jungle/airbase/shed + name = "Airbase Shed" + icon_state = "storage" + +/area/ruin/jungle/airbase/turrets + name = "Abandoned Airbase Guns" + icon_state = "green" + requires_power = FALSE + // Syndicate fort /area/ruin/jungle/syndifort diff --git a/code/game/machinery/porta_turret/portable_turret_types.dm b/code/game/machinery/porta_turret/portable_turret_types.dm index 53a3fbd3fa12..20240c456f94 100644 --- a/code/game/machinery/porta_turret/portable_turret_types.dm +++ b/code/game/machinery/porta_turret/portable_turret_types.dm @@ -135,6 +135,8 @@ lethal_projectile = /obj/projectile/beam/weak/penetrator icon_state = "syndie_off" base_icon_state = "syndie" + scan_range = 7 + shot_delay = 5 /obj/machinery/porta_turret/ship/syndicate/heavy name = "Heavy Laser Turret" @@ -143,6 +145,8 @@ stun_projectile_sound = 'sound/weapons/taser.ogg' lethal_projectile = /obj/projectile/beam/laser/heavylaser lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + scan_range = 12 + shot_delay = 20 max_integrity = 300 /* New Gorlex Republic Turrets */ diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm index c0fb9232ad28..827783c768a4 100644 --- a/code/game/turfs/closed/wall/reinf_walls.dm +++ b/code/game/turfs/closed/wall/reinf_walls.dm @@ -289,11 +289,6 @@ base_icon_state = "plastitanium_wall" smoothing_flags = SMOOTH_BITMASK -/turf/closed/wall/r_wall/syndicate/nosmooth - icon = 'icons/turf/shuttle.dmi' - icon_state = "wall" - smoothing_flags = NONE - /turf/closed/wall/r_wall/syndicate/overspace icon_state = "map-overspace" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS diff --git a/code/game/turfs/open/floor/plating/jungle.dm b/code/game/turfs/open/floor/plating/jungle.dm index 19139d782c0e..8fcf0dfb9b28 100644 --- a/code/game/turfs/open/floor/plating/jungle.dm +++ b/code/game/turfs/open/floor/plating/jungle.dm @@ -62,3 +62,70 @@ light_range = 2 light_power = 0.8 light_color = LIGHT_COLOR_BLUEGREEN + +//ruinturfs + +/turf/open/floor/plating/jungleplanet + planetary_atmos = TRUE + light_color = COLOR_JUNGLEPLANET_LIGHT + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS + +/turf/open/floor/plating/jungleplanet/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/plasteel/dark/jungleplanet + planetary_atmos = TRUE + light_color = COLOR_JUNGLEPLANET_LIGHT + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS + +/turf/open/floor/plasteel/dark/jungleplanet/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/plasteel/white/jungleplanet + planetary_atmos = TRUE + light_color = COLOR_JUNGLEPLANET_LIGHT + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS + +/turf/open/floor/plasteel/white/jungleplanet/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/plasteel/mono/dark/jungleplanet + planetary_atmos = TRUE + light_color = COLOR_JUNGLEPLANET_LIGHT + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS + +/turf/open/floor/plasteel/mono/dark/jungleplanet/lit + light_range = 2 + light_power = 1 + +//cementcrete + +/turf/open/floor/concrete/jungleplanet + planetary_atmos = TRUE + light_color = COLOR_JUNGLEPLANET_LIGHT + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS + +/turf/open/floor/concrete/jungleplanet/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/concrete/slab_1/jungleplanet + planetary_atmos = TRUE + light_color = COLOR_JUNGLEPLANET_LIGHT + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS + +/turf/open/floor/concrete/slab_1/jungleplanet/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/concrete/reinforced/jungleplanet + planetary_atmos = TRUE + light_color = COLOR_JUNGLEPLANET_LIGHT + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS + +/turf/open/floor/concrete/reinforced/jungleplanet/lit + light_range = 2 + light_power = 1 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 becde9bfdb1d..19f3567cbb20 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -49,7 +49,6 @@ attack_verb_continuous = "bites" attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' - unique_name = 1 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE footstep_type = FOOTSTEP_MOB_CLAW mob_size = MOB_SIZE_LARGE @@ -82,12 +81,6 @@ if(mind) mind.store_memory("[directive]") -/mob/living/simple_animal/hostile/poison/giant_spider/attack_ghost(mob/user) - . = ..() - if(.) - return - humanize_spider(user) - /mob/living/simple_animal/hostile/poison/giant_spider/proc/humanize_spider(mob/user) if(key || !playable_spider || stat)//Someone is in it, it's dead, or the fun police are shutting it down return 0 diff --git a/code/modules/ruins/jungleplanet_ruin_code/airbase.dm b/code/modules/ruins/jungleplanet_ruin_code/airbase.dm new file mode 100644 index 000000000000..5b6d2198288d --- /dev/null +++ b/code/modules/ruins/jungleplanet_ruin_code/airbase.dm @@ -0,0 +1,36 @@ +/obj/structure/salvageable/airbase + name = "starport ruin structure" + icon = 'icons/mecha/mecha_equipment.dmi' + density = 0 + +/obj/structure/salvageable/airbase/missile_launcher + name = "\improper starfighter missile rack" + desc = "A devastating strike weapon used by daring Gorlex pilots during the ICW. The firing mechanisms, while sturdy, seem to be ruined by the passage of time." + icon_state = "mecha_missilerack" + salvageable_parts = list( + /obj/item/stack/cable_coil/cut = 80, + /obj/item/stack/ore/salvage/scraptitanium/five = 60, + /obj/item/stack/ore/salvage/scrapmetal/five = 60, + /obj/effect/spawner/random/salvage_manipulator = 30, + /obj/item/stack/sheet/metal/five = 10, + /obj/item/stack/sheet/plasteel/five = 30, + /obj/item/gun/ballistic/rocketlauncher = 10 + ) + +/obj/structure/salvageable/airbase/cannon + name = "\improper starfighter cannon assembly" + desc = "A high powered rotary cannon used by daring Gorlex pilots during the ICW. The mechanisms seem to be ruined by the passage of time." + icon_state = "mecha_scatter" + salvageable_parts = list( + /obj/item/stack/cable_coil/cut = 80, + /obj/item/stack/ore/salvage/scraptitanium/five = 60, + /obj/item/stack/ore/salvage/scrapmetal/five = 60, + /obj/effect/spawner/random/salvage_manipulator = 30, + /obj/effect/spawner/random/salvage_manipulator = 30, + /obj/item/stack/sheet/metal/five = 10, + /obj/item/stack/sheet/plasteel/five = 30, + ) + +/obj/machinery/porta_turret/ship/syndicate/heavy/starport + faction = list(FACTION_SYNDICATE, "turret") + turret_flags = TURRET_FLAG_HOSTILE diff --git a/shiptest.dme b/shiptest.dme index 0d2e04c4ecd6..960f6413f9e9 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -3323,6 +3323,7 @@ #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\jungleplanet_ruin_code\airbase.dm" #include "code\modules\ruins\lavalandruin_code\biodome_winter.dm" #include "code\modules\ruins\lavalandruin_code\puzzle.dm" #include "code\modules\ruins\lavalandruin_code\surface.dm" From e93135601b3c105f692ecc72e5fc2baa339a2580 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 7 Feb 2025 16:50:14 -0600 Subject: [PATCH 258/330] Automatic changelog generation for PR #3973 [ci skip] --- html/changelogs/AutoChangeLog-pr-3973.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3973.yml diff --git a/html/changelogs/AutoChangeLog-pr-3973.yml b/html/changelogs/AutoChangeLog-pr-3973.yml new file mode 100644 index 000000000000..e4f92922f24f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3973.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {rscadd: Bombed Airbase has been remapped.} +delete-after: true From 86c44e898cfe40308589d28e98f1dc054044ed60 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 7 Feb 2025 19:21:46 -0500 Subject: [PATCH 259/330] Drug Additions (#4064) ## About The Pull Request Starts my program for enhanced drug abuse options by implementing the start of ShipDrugs. Adds: Tramal, a weak painkiller that eventually makes the user drowsy - Made with 1 carbon - 1 oxygen, 3u ammonia catalyst, and a temp of 300 - Can be found at: The outpost medical area, painkiller supply crates. Dimorlin, an intense painkiller that gives the taker temporary analgesia - Made with 6 carbon, 2 diethylamine, 2 oxygen, 2 phenol and a temperature of 730. Requires a 10u hydrogen catalyst - Can be found in painkiller supply crates Shoalmix, A high powered combat drug straight from the Shoal. - Made with 1 vimukti, 2 dimorlin, 1 phenol, 2 atropine, temperature of 451, requires 5u plasma catalyst. - Can be found in: The black market, within Combat Cocktail injectors. Lithium Carbonate, a mood stabilizer - Made with 1 lithium - 1 carbon - 1 water. - Can be found at: the outpost medical area HGH, melatonin. It does different things for different people - cannot be made yet - does not appear anywhere yet Finobranc Powder, an addictive stimulant that increases do_after speed. - made with 1 ethanol, 1 acetone, 1 mannitol, 1 phenol, 1 sulpheric acid, heat to 290k. - Can be found in the Black Market. Retukemi - leaves that give a pleasant high, native to Teceti. - Cannot be made, yet - Found within cigarettes that formerly contained lipolicide for 'weed' ## Why It's Good For The Game Adds slightly more chem depth, and lets players get a bit deeper into drugs. ## Changelog :cl: add: Added new things add: An assortment of new chems; Tramal & Dimorlin, painkillers; Shoalmix,, a combat drug; Lithium Carbonate, an antidepressant; melatonin; a sleeping aid for humans; finobranc powder, a potent stimulant; and retukemi, its not weed. balance: Painkillers now give slight damage resistance /:cl: --------- Signed-off-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> --- code/datums/mood_events/drug_events.dm | 9 + code/game/objects/items/cigs_lighters.dm | 4 +- code/game/objects/items/storage/firstaid.dm | 18 ++ .../blackmarket_items/consumables.dm | 37 ++- code/modules/cargo/packs/medical.dm | 55 +++-- .../food_and_drinks/food/snacks_pastry.dm | 2 +- .../food_and_drinks/recipes/drinks_recipes.dm | 5 + code/modules/mob/living/carbon/life.dm | 5 +- .../simple_animal/hostile/human/survivors.dm | 2 + code/modules/movespeed/modifiers/reagent.dm | 6 + .../reagents/alcohol_reagents/mixed_drinks.dm | 26 +++ .../chemistry/reagents/drug_reagents.dm | 173 ++++++++++++++ .../chemistry/reagents/medicine_reagents.dm | 221 +++++++++++++++++- .../reagents/chemistry/recipes/drugs.dm | 17 ++ .../reagents/chemistry/recipes/medicine.dm | 30 +-- .../reagents/reagent_containers/bottle.dm | 15 ++ .../reagents/reagent_containers/chem_pack.dm | 6 + .../reagents/reagent_containers/hypospray.dm | 34 ++- .../reagents/reagent_containers/hypovial.dm | 7 + .../reagents/reagent_containers/pill.dm | 30 ++- .../research/designs/autolathe_designs.dm | 16 ++ code/modules/surgery/organs/stomach.dm | 2 - code/modules/vending/medical_wall.dm | 3 +- 23 files changed, 659 insertions(+), 64 deletions(-) diff --git a/code/datums/mood_events/drug_events.dm b/code/datums/mood_events/drug_events.dm index 6294ef67ce40..fbff7d70b01b 100644 --- a/code/datums/mood_events/drug_events.dm +++ b/code/datums/mood_events/drug_events.dm @@ -59,6 +59,11 @@ timeout = 30 SECONDS special_screen_obj = "mood_happiness_bad" +/datum/mood_event/narcotic_light + description = span_nicegreen("I feel so soft.") + mood_change = 2 + timeout = 3 MINUTES + /datum/mood_event/narcotic_medium description = span_nicegreen("I feel comfortably numb.") mood_change = 4 @@ -86,3 +91,7 @@ /datum/mood_event/legion_bad mood_change = -4 description = span_warning("Something is slithering through my veins") + +/datum/mood_event/stoned + mood_change = 6 + description = span_nicegreen("The world is so comfortable...") diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index e187029696f4..a483cd46f166 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -371,10 +371,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM starts_lit = TRUE /obj/item/clothing/mask/cigarette/rollie/cannabis - list_reagents = list(/datum/reagent/drug/space_drugs = 15, /datum/reagent/toxin/lipolicide = 35) + list_reagents = list(/datum/reagent/drug/retukemi = 50) /obj/item/clothing/mask/cigarette/rollie/mindbreaker - list_reagents = list(/datum/reagent/toxin/mindbreaker = 35, /datum/reagent/toxin/lipolicide = 15) + list_reagents = list(/datum/reagent/toxin/mindbreaker = 35, /datum/reagent/drug/retukemi = 15) /obj/item/clothing/mask/cigarette/candy name = "Little Timmy's candy cigarette" diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index 5cc98e8c6092..f0bdcff21ec3 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -472,3 +472,21 @@ /obj/item/storage/pill_bottle/trophazole/PopulateContents() for(var/i in 1 to 4) new /obj/item/reagent_containers/pill/trophazole(src) + +/obj/item/storage/pill_bottle/licarb + name = "bottle of lithium carbonate pills" + desc = "Contains pills used to stabilize mood." + custom_price = 50 + +/obj/item/storage/pill_bottle/licarb/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/pill/licarb(src) + +/obj/item/storage/pill_bottle/finobranc + name = "bottle of finobranc tablets" + desc = "Party in the Solar Cantons, tonight." + custom_price = 50 + +/obj/item/storage/pill_bottle/finobranc/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/pill/finobranc(src) diff --git a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm index 65ebd352fe3f..33b6a411ac78 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm @@ -97,10 +97,10 @@ price_max = 500 availability_prob = 50 -/datum/blackmarket_item/consumable/morphine - name = "Morphine Bottle" - desc = "Medicinal? Recreational? You can decide with this 30u bottle of morphine!" - item = /obj/item/reagent_containers/glass/bottle/morphine +/datum/blackmarket_item/consumable/dimorlin + name = "Dimorlin Bottle" + desc = "Medicinal? Recreational? You can decide with this 30u bottle of dimorlin!" + item = /obj/item/reagent_containers/glass/bottle/dimorlin price_min = 50 price_max = 150 @@ -283,3 +283,32 @@ availability_prob = 5 spawn_weighting = FALSE +/datum/blackmarket_item/consumable/shoalmix + name = "Combat Cocktail" + desc = "Last freighter we hit was a whole medical freighter. Had a bunch of crates with a beak spraypainted on. We knacked it and found these cocktail injectors inside." + item = /obj/item/reagent_containers/hypospray/medipen/combat_drug + price_min = 400 + price_max = 1200 + stock_max = 8 + availability_prob = 25 + spawn_weighting = FALSE + +/datum/blackmarket_item/consumable/finobranc + name = "Finobranc Tablets" + desc = "So get this, I know a Solarian Tgirl over the intranet, and we're chatting, and she sends me these things to try. I figure, hell yeah, try them, and got 5 days work done in one day. Now I'm sellin them. Miracle product I tell ya" + item = /obj/item/storage/pill_bottle/finobranc + price_min = 600 + price_max = 1000 + stock_max = 4 + availability_prob = 40 + spawn_weighting = FALSE + +/datum/blackmarket_item/consumable/shoalmix + name = "Shoaljuice Vial" + desc = "Our guy in back has been working on whipping up some pretty mean syrums. Says that this one is a blend he learned from a Vox. Says that it'll get the heart going on anyone." + item = /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/combat_drug + price_min = 1000 + price_max = 2000 + stock_max = 3 + availability_prob = 10 + spawn_weighting = FALSE diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index 46f4edf07421..c8b9919746e1 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -57,9 +57,11 @@ desc = "Contains a supply of painkillers. Great for stopping headaches, feeling broken bones, and screaming people!" cost = 1000 contains = list( + /obj/item/reagent_containers/chem_pack/dimorlin, /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/tramal, + /obj/item/reagent_containers/glass/bottle/tramal, ) faction = /datum/faction/syndicate/suns faction_discount = 25 @@ -202,80 +204,83 @@ faction = /datum/faction/nt faction_discount = 50 +/datum/supply_pack/medical/vials/empty_vial + name = "Empty Vial Crate" + desc = "Contains 2 empty hypospray vials, for usage in a Hypospray." + cost = 200 + contains = list( + /obj/item/reagent_containers/glass/bottle/vial/small, + /obj/item/reagent_containers/glass/bottle/vial/small + ) + crate_name = "empty vial crate" + /datum/supply_pack/medical/vials/bica_vial name = "Bicardine Vial Crate" - desc = "Contains 2 spare bicardine vials, for usage in a Hypospray." - cost = 800 + desc = "Contains a spare bicardine vial, for usage in a Hypospray." + cost = 400 contains = list( /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/bicaridine, - /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/bicaridine ) crate_name = "bicardine vial crate" /datum/supply_pack/medical/vials/kelo_vial name = "Kelotane Vial Crate" - desc = "Contains 2 spare kelotane vials, for usage in a Hypospray." - cost = 800 + desc = "Contains a spare kelotane vial, for usage in a Hypospray." + cost = 400 contains = list( /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/kelotane, - /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/kelotane ) crate_name = "kelotane vial crate" /datum/supply_pack/medical/vials/dylo_vial name = "Dylovene Vial Crate" - desc = "Contains 2 spare dylovene vials, for usage in a Hypospray." - cost = 1200 + desc = "Contains a spare dylovene vial, for usage in a Hypospray." + cost = 400 contains = list( /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/antitoxin, - /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/antitoxin ) crate_name = "dylovene vial crate" /datum/supply_pack/medical/vials/dexa_vial name = "Dexalin Vial Crate" - desc = "Contains 2 spare dexalin vials, for usage in a Hypospray." - cost = 800 + desc = "Contains a spare dexalin vial, for usage in a Hypospray." + cost = 400 contains = list( /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin, - /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin ) crate_name = "dexalin vial crate" /datum/supply_pack/medical/vials/tric_vial name = "Tricordrazine Vial Crate" - desc = "Contains 2 spare tricordrazine vials, for usage in a Hypospray." - cost = 800 + desc = "Contains a spare tricordrazine vial, for usage in a Hypospray." + cost = 300 contains = list( /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/tricord, - /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/tricord ) crate_name = "tricordrazine vial crate" /datum/supply_pack/medical/vials/morb_vial name = "Morphine Vial Crate" - desc = "Contains 2 spare morphine vials, for usage in a Hypospray." - cost = 800 + desc = "Contains a spare morphine vial, for usage in a Hypospray." + cost = 500 contains = list( /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/morphine, - /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/morphine ) crate_name = "morphine vial crate" /datum/supply_pack/medical/vials/atro_vial name = "Atropine Vial Crate" - desc = "Contains 2 spare atropine vials, for usage in a Hypospray." - cost = 800 + desc = "Contains a spare atropine vial, for usage in a Hypospray." + cost = 500 contains = list( /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/atropine, - /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/morphine ) crate_name = "atropine vial crate" /datum/supply_pack/medical/vials/erp_vial name = "Radiation Purgant Vial Crate" desc = "Contains 2 spare radiation purgant vials, for usage in a Hypospray." - cost = 800 + cost = 600 contains = list( /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/erp, /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/erp @@ -285,7 +290,7 @@ /datum/supply_pack/medical/vials/sal_vial name = "SalGlu Vial Crate" desc = "Contains 2 spare SalGlu Solution vials, for usage in a Hypospray." - cost = 800 + cost = 600 contains = list( /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/salclu, /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/salclu @@ -295,7 +300,7 @@ /datum/supply_pack/medical/vials/chit_vial name = "Chitosan Vial Crate" desc = "Contains 2 spare Chitosan vials, for usage in a Hypospray." - cost = 800 + cost = 600 contains = list( /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/chitosan, /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/chitosan diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index 7cb9f05900ba..cd07ce9eb45d 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -440,7 +440,7 @@ name = "\improper Dank-pocket" desc = "The food of choice for the seasoned botanist." icon_state = "dankpocket" - list_reagents = list(/datum/reagent/toxin/lipolicide = 3, /datum/reagent/drug/space_drugs = 3, /datum/reagent/consumable/nutriment = 4) + list_reagents = list(/datum/reagent/drug/retukemi = 3, /datum/reagent/drug/space_drugs = 3, /datum/reagent/consumable/nutriment = 4) filling_color = "#00FF00" tastes = list("meat" = 2, "dough" = 2) foodtype = GRAIN | VEGETABLES diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 156f1e03b1c1..472e46ae7cf8 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -663,3 +663,8 @@ /datum/chemical_reaction/sand_bubbles/plasma // Subbing plasma bubbles for reg required_reagents = list(/datum/reagent/consumable/molten/plasma_fizz = 3, /datum/reagent/silicon = 2) + +/datum/chemical_reaction/eudamonia + results = list(/datum/reagent/consumable/ethanol/eudamonia = 2) + required_reagents = list(/datum/reagent/medicine/lithium_carbonate = 2, /datum/reagent/consumable/ethanol/hcider = 2) + mix_message = "The LiCarb dust incorporates into the cider, producing a pleasant chemical coloration!" diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 93630c60821b..f8e7fc31ff7f 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -438,8 +438,9 @@ All effects don't start immediately, but rather get worse over time; the rate is if(drowsyness) drowsyness = max(drowsyness - restingpwr, 0) blur_eyes(2) - if(prob(5)) - AdjustSleeping(100) + if(drowsyness > 20) + if(prob(round(drowsyness/10))) + AdjustSleeping(drowsyness) //jitteriness if(jitteriness) 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 cb90ebc348a6..8d2de98a3d5e 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm @@ -179,6 +179,8 @@ ) if(prob(30)) //some pens maybe? backpack_contents += /obj/item/reagent_containers/hypospray/medipen/survival + if(prob(5)) + backpack_contents += /obj/item/reagent_containers/hypospray/medipen/combat_drug //masks mask = pick_weight(list( diff --git a/code/modules/movespeed/modifiers/reagent.dm b/code/modules/movespeed/modifiers/reagent.dm index 24108e6178d4..a66baa6c516b 100644 --- a/code/modules/movespeed/modifiers/reagent.dm +++ b/code/modules/movespeed/modifiers/reagent.dm @@ -22,6 +22,12 @@ /datum/movespeed_modifier/reagent/methamphetamine multiplicative_slowdown = -0.65 +/datum/movespeed_modifier/reagent/retukemi + multiplicative_slowdown = 0.3 + +/datum/movespeed_modifier/reagent/shoalmix + multiplicative_slowdown = -0.4 + /datum/movespeed_modifier/reagent/nitryl multiplicative_slowdown = -0.65 diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents/mixed_drinks.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents/mixed_drinks.dm index 55be0f69f84b..d059deb40fdd 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents/mixed_drinks.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents/mixed_drinks.dm @@ -1816,3 +1816,29 @@ /datum/reagent/consumable/ethanol/homesick/on_mob_metabolize(mob/living/M) var/drink_message = pick("You think of what you've left behind...", "You think of the people who miss you...", "You think of where you're from...") to_chat(M, "[drink_message]") + +/datum/reagent/consumable/ethanol/eudamonia + name = "Eudamonia" + description = "A fleeting, virtous drink that inspires vigorous debate." + color = "#6884a1" + boozepwr = 40 + quality = DRINK_VERYGOOD + overdose_threshold = 40 + taste_description = "a flourishing alcoholic bloom" + glass_name = "Eudamonia" + glass_desc = "A drink popular in academic circles, supposedly made with a distilled virtue. Most published recipes insist to use an antidepressant." + +/datum/reagent/consumable/ethanol/eudamonia/on_mob_life(mob/living/carbon/M) + var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) + if(mood.sanity <= SANITY_NEUTRAL) + mood.setSanity(min(mood.sanity+5, SANITY_GREAT)) + ..() + +/datum/reagent/consumable/ethanol/eudamonia/overdose_process(mob/living/M) + //don't mix uppers and downers, kids. + if(prob(6) && iscarbon(M)) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 4*REM) + to_chat(M, pick("Your head aches as you struggle to grasp the concepts.", "The world slows down for a precious second, a headache forming within you.", "Clusters of pain open and close within your mind's eye.", "Aches and pains fill your head as your comprehension breaks!")) + else if(prob(30)) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REM) + M.adjust_disgust(5) diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 92a367e87c4c..800228dabd73 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -448,3 +448,176 @@ if(prob(15)) M.adjustToxLoss(2, 0) ..() + +/datum/reagent/drug/finobranc + name = "Finobranc" + description = "A stimulant native to Sol. The seeds of the plant that serves as a precursor have spread throughout the frontier." + reagent_state = SOLID + color = "#FAFAFA" + overdose_threshold = 20 + addiction_threshold = 11 + taste_description = "a burst of energy" + +/datum/reagent/drug/finobranc/on_mob_metabolize(mob/living/L) + ..() + var/datum/component/mood/mood = L.GetComponent(/datum/component/mood) + if(mood) + mood.mood_modifier += 1 + if(ishuman(L)) + var/mob/living/carbon/human/drugged = L + drugged.physiology.do_after_speed -= 0.5 + +/datum/reagent/drug/finobranc/on_mob_end_metabolize(mob/living/L) + ..() + var/datum/component/mood/mood = L.GetComponent(/datum/component/mood) + if(mood) + mood.mood_modifier -= 1 + if(ishuman(L)) + var/mob/living/carbon/human/drugged = L + drugged.physiology.do_after_speed += 0.5 + +/datum/reagent/drug/finobranc/overdose_process(mob/living/M) + M.adjustOrganLoss(ORGAN_SLOT_HEART, 2) + if(ishuman(M)) + var/mob/living/carbon/human/uh_oh = M + if(prob(5) && uh_oh.can_heartattack()) + uh_oh.set_heartattack(TRUE) + M.adjust_jitter(5) + if(prob(15)) + M.drop_all_held_items() + ..() + +/datum/reagent/drug/finobranc/addiction_act_stage1(mob/living/M) + M.adjust_jitter(5, max = 150) + ..() + +/datum/reagent/drug/finobranc/addiction_act_stage2(mob/living/M) + M.adjust_jitter(15, max = 150) + ..() + +/datum/reagent/drug/finobranc/addiction_act_stage3(mob/living/M) + M.adjust_jitter(15, max = 150) + M.Dizzy(10) + ..() + +/datum/reagent/drug/finobranc/addiction_act_stage4(mob/living/carbon/human/M) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) + for(var/i = 0, i < 8, i++) + step(M, pick(GLOB.cardinals)) + M.adjust_jitter(15, max = 150) + M.Dizzy(10) + ..() + +/datum/reagent/drug/combat_drug + name = "Shoalmix" + description = "An extremely potent mix of stimulants, painkillers, and performance enhancers that originated within the Shoal." + reagent_state = SOLID + color = "#FAFAFA" + overdose_threshold = 12 + addiction_threshold = 7 + taste_description = "a metallic bitter permeating your flesh." + +/datum/reagent/drug/combat_drug/on_mob_metabolize(mob/living/L) + ..() + SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "numb", /datum/mood_event/narcotic_heavy, name) + L.playsound_local(get_turf(L), 'sound/health/fastbeat2.ogg', 40,0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) + L.add_movespeed_modifier(/datum/movespeed_modifier/reagent/shoalmix) + if(!isvox(L)) + L.playsound_local(get_turf(L), 'sound/health/fastbeat2.ogg', 40,0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) + L.adjustOrganLoss(ORGAN_SLOT_HEART, 6) + if(ishuman(L)) + var/mob/living/carbon/human/drugged = L + drugged.physiology.do_after_speed -= 0.5 + drugged.physiology.damage_resistance += 10 + drugged.physiology.hunger_mod += 1 + +/datum/reagent/drug/combat_drug/on_mob_end_metabolize(mob/living/L) + ..() + L.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/shoalmix) + if(ishuman(L)) + var/mob/living/carbon/human/drugged = L + drugged.physiology.do_after_speed += 0.5 + drugged.physiology.damage_resistance -= 10 + drugged.physiology.hunger_mod -= 1 + +/datum/reagent/drug/combat_drug/on_mob_life(mob/living/carbon/M) + ..() + M.adjust_jitter(10, max = 200) + M.adjustStaminaLoss(-18, 0) + if(prob(30) && !isvox(M)) + M.playsound_local(get_turf(M), 'sound/health/fastbeat2.ogg', 40,0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) + M.adjustOrganLoss(ORGAN_SLOT_HEART, 3) + if(prob(20)) + to_chat(M, span_boldwarning("MOVE!! MOVE!! MOVE!!")) + +/datum/reagent/drug/combat_drug/overdose_process(mob/living/M) + M.adjustOrganLoss(ORGAN_SLOT_HEART, 4) + if(ishuman(M)) + var/mob/living/carbon/human/uh_oh = M + if(uh_oh.can_heartattack()) + uh_oh.set_heartattack(TRUE) + M.adjust_jitter(80) + M.drop_all_held_items() + ..() + +/datum/reagent/drug/combat_drug/addiction_act_stage1(mob/living/M) + M.adjust_jitter(5, max = 150) + var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) + mood.setSanity(min(mood.sanity, SANITY_DISTURBED)) + ..() + +/datum/reagent/drug/combat_drug/addiction_act_stage2(mob/living/M) + M.adjust_jitter(15, max = 150) + var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) + mood.setSanity(min(mood.sanity, SANITY_UNSTABLE)) + ..() + +/datum/reagent/drug/combat_drug/addiction_act_stage3(mob/living/M) + M.adjust_jitter(15, max = 150) + M.Dizzy(10) + var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) + mood.setSanity(min(mood.sanity, SANITY_CRAZY)) + ..() + +/datum/reagent/drug/combat_drug/addiction_act_stage4(mob/living/carbon/human/M) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) + for(var/i = 0, i < 8, i++) + step(M, pick(GLOB.cardinals)) + M.adjust_jitter(15, max = 150) + M.Dizzy(20) + var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) + mood.setSanity(min(mood.sanity, SANITY_INSANE)) + ..() + + +//comes from Uke-misikeci Rasi leaves +/datum/reagent/drug/retukemi + name = "Retukemi" + description = "A marginally psychoactive compound commonly found in the leaves of the Uke-misikeci Rasi plant." + color = "#0ec84c" + overdose_threshold = INFINITY + metabolization_rate = 0.125 * REAGENTS_METABOLISM + +/datum/reagent/drug/retukemi/on_mob_metabolize(mob/living/L) + ..() + SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "stoned", /datum/mood_event/stoned, name) + L.add_movespeed_modifier(/datum/movespeed_modifier/reagent/retukemi) + if(ishuman(L)) + var/mob/living/carbon/human/drugged = L + drugged.physiology.hunger_mod += 1.5 + +/datum/reagent/drug/retukemi/on_mob_end_metabolize(mob/living/L) + ..() + L.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/retukemi) + if(ishuman(L)) + var/mob/living/carbon/human/drugged = L + drugged.physiology.hunger_mod -= 1.5 + +/datum/reagent/drug/retukemi/on_mob_life(mob/living/carbon/M) + ..() + if(prob(10)) + var/smoke_message = pick("You feel relaxed.","You feel calmed.","Your mouth feels dry.","Your throat is warm and scratchy...","You could use some water.","You feel clumsy.","You crave junk food.","You notice you've been moving more slowly.","The world feels softer and warmer...","A humming warmth spreads across your entire body.","You get lost in your thoughts for a moment...","Everything feels a little more comfortable.","You catch yourself in the middle of smiling vacantly.") + to_chat(M, span_notice("[smoke_message]")) + if(prob(2)) + var/eepy_message = pick("You feel so, so tired.", "You stifle a yawn.", "You really ought to rest for a bit...", "It'd be nice to lay down a bit...","Being in a bed sounds wonderful, right now...","You shake your head to stay awake, but the feeling doesn't let up.","You really want to sleep next to someone...","You keep thinking about how nice a pillow would be, right now.") + to_chat(M, span_notice("[eepy_message]")) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 126de2ecfbf5..d300851a1742 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -766,10 +766,16 @@ ..() ADD_TRAIT(L, TRAIT_PAIN_RESIST, type) L.add_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) + if(ishuman(L)) + var/mob/living/carbon/human/drugged = L + drugged.physiology.damage_resistance += 5 /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) + if(ishuman(L)) + var/mob/living/carbon/human/drugged = L + drugged.physiology.damage_resistance -= 5 ..() /datum/reagent/medicine/morphine/on_mob_life(mob/living/carbon/M) @@ -777,7 +783,7 @@ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "numb", /datum/mood_event/narcotic_medium, name) switch(current_cycle) if(29) - to_chat(M, "You start to feel tired..." ) + to_chat(M, span_warning("You start to feel tired...")) if(30 to 59) M.drowsyness += 1 if(60 to INFINITY) @@ -825,6 +831,139 @@ M.adjust_jitter(5) ..() +/datum/reagent/medicine/tramal + name = "Tramal" + description = "A low intensity, high duration painkiller. Causes slight drowiness in extended use." + reagent_state = LIQUID + color = "#34eeee" + metabolization_rate = 0.2 * REAGENTS_METABOLISM + overdose_threshold = 35 + addiction_threshold = 30 + +/datum/reagent/medicine/tramal/on_mob_metabolize(mob/living/L) + ..() + ADD_TRAIT(L, TRAIT_PAIN_RESIST, type) + +/datum/reagent/medicine/tramal/on_mob_end_metabolize(mob/living/L) + REMOVE_TRAIT(L, TRAIT_PAIN_RESIST, type) + ..() + +/datum/reagent/medicine/tramal/on_mob_life(mob/living/carbon/M) + if(current_cycle >= 5) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "numb", /datum/mood_event/narcotic_light, name) + switch(current_cycle) + if(60) + to_chat(M, span_warning("You feel drowsy...")) + if(61 to INFINITY) + M.drowsyness += 1 + ..() + +/datum/reagent/medicine/tramal/overdose_process(mob/living/M) + if(prob(33)) + M.Dizzy(2) + M.adjust_jitter(2) + ..() + +/datum/reagent/medicine/tramal/addiction_act_stage1(mob/living/M) + if(prob(33)) + M.adjust_jitter(2) + ..() + +/datum/reagent/medicine/tramal/addiction_act_stage2(mob/living/M) + if(prob(33)) + M.Dizzy(3) + M.adjust_jitter(3) + ..() + +/datum/reagent/medicine/tramal/addiction_act_stage3(mob/living/M) + if(prob(33)) + M.drop_all_held_items() + M.Dizzy(4) + M.adjust_jitter(4) + ..() + +/datum/reagent/medicine/tramal/addiction_act_stage4(mob/living/M) + if(prob(33)) + M.drop_all_held_items() + M.adjustToxLoss(2*REM, 0) + . = 1 + M.Dizzy(5) + M.adjust_jitter(5) + ..() + +/datum/reagent/medicine/dimorlin + name = "Dimorlin" + description = "A powerful opiate-derivative analgesiac. Extremely habit forming" + reagent_state = LIQUID + color = "#71adad" + metabolization_rate = 0.4 * REAGENTS_METABOLISM + overdose_threshold = 15 + addiction_threshold = 7 + +/datum/reagent/medicine/dimorlin/on_mob_metabolize(mob/living/L) + ..() + ADD_TRAIT(L, TRAIT_ANALGESIA, type) + L.add_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) + if(ishuman(L)) + var/mob/living/carbon/human/drugged = L + drugged.physiology.damage_resistance += 15 + +/datum/reagent/medicine/dimorlin/on_mob_end_metabolize(mob/living/L) + REMOVE_TRAIT(L, TRAIT_ANALGESIA, type) + L.remove_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) + if(ishuman(L)) + var/mob/living/carbon/human/drugged = L + drugged.physiology.damage_resistance -= 15 + ..() + +/datum/reagent/medicine/dimorlin/on_mob_life(mob/living/carbon/M) + if(current_cycle >= 3) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "numb", /datum/mood_event/narcotic_heavy, name) + ..() + +/datum/reagent/medicine/dimorlin/overdose_process(mob/living/M) + if(prob(33)) + M.losebreath++ + M.adjustOxyLoss(4, 0) + if(prob(20)) + M.AdjustUnconscious(20) + if(prob(5)) + M.adjustOrganLoss(ORGAN_SLOT_EYES, 5) + ..() + +/datum/reagent/medicine/dimorlin/addiction_act_stage1(mob/living/M) + if(prob(33)) + M.drop_all_held_items() + M.adjust_jitter(2) + ..() + +/datum/reagent/medicine/dimorlin/addiction_act_stage2(mob/living/M) + if(prob(33)) + M.drop_all_held_items() + M.adjustToxLoss(1*REM, 0) + . = 1 + M.Dizzy(3) + M.adjust_jitter(3) + ..() + +/datum/reagent/medicine/dimorlin/addiction_act_stage3(mob/living/M) + if(prob(33)) + M.drop_all_held_items() + M.adjustToxLoss(2*REM, 0) + . = 1 + M.Dizzy(4) + M.adjust_jitter(4) + ..() + +/datum/reagent/medicine/dimorlin/addiction_act_stage4(mob/living/M) + if(prob(33)) + M.drop_all_held_items() + M.adjustToxLoss(3*REM, 0) + . = 1 + M.Dizzy(5) + M.adjust_jitter(5) + ..() + /datum/reagent/medicine/oculine name = "Oculine" description = "Quickly restores eye damage, cures nearsightedness, and has a chance to restore vision to the blind." @@ -2098,12 +2237,87 @@ REMOVE_TRAIT(M, TRAIT_NOBREAK, TRAIT_GENERIC) ..() +/datum/reagent/medicine/lithium_carbonate + name = "Lithium Carbonate" + description = "A mood stabilizer discovered by most spacefaring civilizations. Fairly widespread as a result." + color = "#b3acaa" //grey. boring. + reagent_state = SOLID + metabolization_rate = REAGENTS_METABOLISM * 0.5 + overdose_threshold = 20 + +/datum/reagent/medicine/lithium_carbonate/on_mob_life(mob/living/carbon/M) + var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) + if(mood.sanity <= SANITY_GREAT) + mood.setSanity(min(mood.sanity+5, SANITY_GREAT)) + ..() + . = 1 + +/datum/reagent/medicine/lithium_carbonate/overdose_process(mob/living/M) + if(prob(5)) + M.adjust_jitter(5,100) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM) + ..() + . = 1 + +/datum/reagent/medicine/melatonin + name = "Human Sleep Hormone" + description = "A compound typically found within Solarians. The exact effects vary on the species it is administered to." + color = "#e1b1e1" //very light pink ourple + overdose_threshold = 0 + var/regenerating + var/rachnid_limb + +/datum/reagent/medicine/melatonin/on_mob_metabolize(mob/living/L) + . = ..() + if(iscarbon(L)) + var/mob/living/carbon/imbiber = L + if(isspiderperson(imbiber)) + //we check limbs, if one is missing, we break from the for loop after setting it to heal + for (var/limb in list(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)) + if(!imbiber.get_bodypart(limb)) + rachnid_limb = limb + break + +/datum/reagent/medicine/melatonin/on_mob_end_metabolize(mob/living/L) + . = ..() + if(isspiderperson(L) && regenerating) + var/mob/living/carbon/spider + spider.regenerate_limb(rachnid_limb, TRUE, FALSE) + return + + +/datum/reagent/medicine/melatonin/on_mob_life(mob/living/carbon/M) + . = ..() + if(isvox(M)) + M.adjustToxLoss(1) + if(islizard(M)) + if(prob(10)) + M.playsound_local(get_turf(M), 'sound/health/fastbeat2.ogg', 40,0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) + M.adjustOrganLoss(ORGAN_SLOT_HEART, 0.5) + if(isspiderperson(M) && rachnid_limb) + if(prob(7)) + to_chat(M, "Your body aches near [rachnid_limb]") + if(current_cycle > 20 && !regenerating) + regenerating = TRUE + + else + if(M.IsSleeping()) + if(M.getBruteLoss() && M.getFireLoss()) + if(prob(50)) + M.adjustBruteLoss(0.5) + else + M.adjustFireLoss(0.5) + else if(M.getBruteLoss()) + M.adjustBruteLoss(-0.2) + else if(M.getFireLoss()) + M.adjustFireLoss(-0.2) + /datum/reagent/medicine/chitosan name = "Chitosan" description = "Vastly improves the blood's natural ability to coagulate and stop bleeding by hightening platelet production and effectiveness. Overdosing will cause extreme blood clotting, resulting in potential brain damage." reagent_state = LIQUID color = "#CC00FF" - overdose_threshold = 10 + overdose_threshold = 11 /datum/reagent/medicine/chitosan/on_mob_life(mob/living/carbon/M) if(ishuman(M)) @@ -2113,7 +2327,8 @@ . = 1 /datum/reagent/medicine/chitosan/overdose_process(mob/living/M) - M.adjustOxyLoss(4) + if(prob(50)) + M.adjustOxyLoss(4) if(prob(10)) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2) if(prob(5)) diff --git a/code/modules/reagents/chemistry/recipes/drugs.dm b/code/modules/reagents/chemistry/recipes/drugs.dm index 6d3d1f794ff9..004c5f203d65 100644 --- a/code/modules/reagents/chemistry/recipes/drugs.dm +++ b/code/modules/reagents/chemistry/recipes/drugs.dm @@ -37,3 +37,20 @@ /datum/chemical_reaction/pumpup results = list(/datum/reagent/drug/pumpup = 5) required_reagents = list(/datum/reagent/medicine/epinephrine = 2, /datum/reagent/consumable/coffee = 5) + +/datum/chemical_reaction/finobranc + results = list(/datum/reagent/drug/finobranc = 4) + required_reagents = list(/datum/reagent/consumable/ethanol = 1, /datum/reagent/acetone = 1, /datum/reagent/medicine/mannitol = 1, /datum/reagent/phenol = 1, /datum/reagent/toxin/acid = 1) + required_temp = 290 + +/datum/chemical_reaction/shoalmix + results = list(/datum/reagent/drug/combat_drug = 4) + required_reagents = list(/datum/reagent/consumable/ethanol/vimukti = 1, /datum/reagent/medicine/dimorlin = 2, /datum/reagent/phenol = 1, /datum/reagent/medicine/atropine = 2) + required_catalysts = list(/datum/reagent/toxin/plasma = 5) + required_temp = 451 + +/datum/chemical_reaction/alt_shoalmix + results = list(/datum/reagent/drug/combat_drug = 2) + required_reagents = list(/datum/reagent/consumable/vitfro = 4, /datum/reagent/medicine/dimorlin = 1, /datum/reagent/medicine/atropine = 1) + required_catalysts = list(/datum/reagent/toxin/plasma = 5) + required_temp = 400 diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index cd1261b0824e..4702c30558b3 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -229,16 +229,24 @@ WS End */ results = list(/datum/reagent/medicine/regen_jelly = 2) required_reagents = list(/datum/reagent/medicine/omnizine = 1, /datum/reagent/toxin/slimejelly = 1) -/*WS Begin -/datum/chemical_reaction/higadrite - results = list(/datum/reagent/medicine/higadrite = 3) - required_reagents = list(/datum/reagent/phenol = 2, /datum/reagent/lithium = 1) -WS End*/ /datum/chemical_reaction/morphine results = list(/datum/reagent/medicine/morphine = 2) required_reagents = list(/datum/reagent/carbon = 2, /datum/reagent/hydrogen = 2, /datum/reagent/consumable/ethanol = 1, /datum/reagent/oxygen = 1) required_temp = 480 +/datum/chemical_reaction/tramal + results = list(/datum/reagent/medicine/tramal = 2) // these make me kinda wish i knew irl chem so i could have better recipes. + required_reagents = list(/datum/reagent/carbon = 1, /datum/reagent/oxygen = 1) + required_catalysts = list(/datum/reagent/ammonia = 2) + required_temp = 300 + +/datum/chemical_reaction/dimorlin + results = list(/datum/reagent/medicine/dimorlin = 2) + required_reagents = list(/datum/reagent/carbon = 6, /datum/reagent/diethylamine = 2, /datum/reagent/oxygen = 2, /datum/reagent/phenol = 2,) + required_temp = 730 + required_catalysts = list(/datum/reagent/hydrogen = 10) + mix_message = "The mixture rapidly incorporates, leaving a layer of liquid hydrogen atop!" + /datum/chemical_reaction/modafinil results = list(/datum/reagent/medicine/modafinil = 5) required_reagents = list(/datum/reagent/diethylamine = 1, /datum/reagent/ammonia = 1, /datum/reagent/phenol = 1, /datum/reagent/acetone = 1, /datum/reagent/toxin/acid = 1) @@ -248,14 +256,6 @@ WS End*/ results = list(/datum/reagent/medicine/psicodine = 5) required_reagents = list(/datum/reagent/medicine/mannitol = 2, /datum/reagent/water = 2, /datum/reagent/impedrezene = 1) -/*WS Begin - No Cobby - -/datum/chemical_reaction/granibitaluri - results = list(/datum/reagent/medicine/granibitaluri = 3) - required_reagents = list(/datum/reagent/acetone = 1, /datum/reagent/phenol = 1, /datum/reagent/nitrogen = 1) - required_catalysts = list(/datum/reagent/iron = 5) -WS End */ - /datum/chemical_reaction/medsuture required_reagents = list(/datum/reagent/cellulose = 10, /datum/reagent/toxin/formaldehyde = 20, /datum/reagent/medicine/polypyr = 15) //This might be a bit much, reagent cost should be reviewed after implementation. mob_react = FALSE @@ -326,6 +326,10 @@ WS End */ results = list(/datum/reagent/medicine/chartreuse = 10) required_reagents = list(/datum/reagent/medicine/puce_essence = 5, /datum/reagent/consumable/tinlux = 5, /datum/reagent/consumable/entpoly = 1) +/datum/chemical_reaction/lithium_carbonate + results = list(/datum/reagent/medicine/lithium_carbonate = 3) + required_reagents = list(/datum/reagent/lithium = 1, /datum/reagent/carbon = 1, /datum/reagent/water = 1) + /datum/chemical_reaction/chitosan results = list(/datum/reagent/medicine/chitosan = 10) required_reagents = list(/datum/reagent/silicon = 1, /datum/reagent/consumable/sugar = 2, /datum/reagent/cryptobiolin = 1) diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index 80d636202f4c..0222a90f3ea0 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -39,6 +39,21 @@ desc = "A small bottle of morphine." list_reagents = list(/datum/reagent/medicine/morphine = 30) +/obj/item/reagent_containers/glass/bottle/dimorlin + name = "dimorlin bottle" + desc = "A small bottle of dimorlin. Apply one dose at a time." + list_reagents = list(/datum/reagent/medicine/dimorlin = 30) + +/obj/item/reagent_containers/glass/bottle/tramal + name = "tramal bottle" + desc = "A small bottle of tramal." + list_reagents = list(/datum/reagent/medicine/tramal = 30) + +/obj/item/reagent_containers/glass/bottle/chitosan + name = "chitosan bottle" + desc = "A small bottle of chitosan." + list_reagents = list(/datum/reagent/medicine/chitosan = 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?" diff --git a/code/modules/reagents/reagent_containers/chem_pack.dm b/code/modules/reagents/reagent_containers/chem_pack.dm index 666f812e7054..be1a073484e4 100644 --- a/code/modules/reagents/reagent_containers/chem_pack.dm +++ b/code/modules/reagents/reagent_containers/chem_pack.dm @@ -37,3 +37,9 @@ if(sealed) return ..() + +/obj/item/reagent_containers/chem_pack/dimorlin + name = "dimorlin mixture bag" + desc = "A plastic pressure bag filled with a semi-safe mixture of Dimorlin and Saline-Glucose, for surgical usage." + list_reagents = list(/datum/reagent/medicine/dimorlin = 20, /datum/reagent/medicine/salglu_solution = 80) + sealed = TRUE diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 412ac3ae14be..5fbdc92ddc29 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -1,15 +1,15 @@ #define HYPO_SPRAY 0 #define HYPO_INJECT 1 -#define WAIT_SPRAY 25 -#define WAIT_INJECT 25 -#define SELF_SPRAY 15 -#define SELF_INJECT 15 +#define WAIT_SPRAY 15 +#define WAIT_INJECT 15 +#define SELF_SPRAY 10 +#define SELF_INJECT 10 -#define DELUXE_WAIT_SPRAY 15 -#define DELUXE_WAIT_INJECT 15 -#define DELUXE_SELF_SPRAY 10 -#define DELUXE_SELF_INJECT 10 +#define DELUXE_WAIT_SPRAY 7 +#define DELUXE_WAIT_INJECT 7 +#define DELUXE_SELF_SPRAY 4 +#define DELUXE_SELF_INJECT 4 #define COMBAT_WAIT_SPRAY 0 #define COMBAT_WAIT_INJECT 0 @@ -180,7 +180,13 @@ name = "morphine medipen" desc = "A rapid way to get you out of a tight situation and fast! You'll feel rather drowsy, though." list_reagents = list(/datum/reagent/medicine/morphine = 10) - custom_price = 75 + custom_price = 50 + +/obj/item/reagent_containers/hypospray/medipen/tramal + name = "tramal medipen" + desc = "A quick way to relieve persistant pain." + list_reagents = list(/datum/reagent/medicine/tramal = 10) + custom_price = 25 /obj/item/reagent_containers/hypospray/medipen/oxandrolone name = "oxandrolone medipen" @@ -319,6 +325,16 @@ base_icon_state = "morphen" item_state = "morphen" +/obj/item/reagent_containers/hypospray/medipen/combat_drug + name = "combat cocktail" + desc = "An injector filled with a potent combat drug mixture. Straight from the Shoal." + list_reagents = list(/datum/reagent/drug/combat_drug = 6, /datum/reagent/medicine/bicaridinep = 6, /datum/reagent/medicine/dermaline = 6) + volume = 18 + amount_per_transfer_from_this = 18 + icon_state = "syndipen" + base_icon_state = "syndipen" + item_state = "syndipen" + //A vial-loaded hypospray. Cartridge-based! /obj/item/hypospray/mkii name = "hypospray mk.II" diff --git a/code/modules/reagents/reagent_containers/hypovial.dm b/code/modules/reagents/reagent_containers/hypovial.dm index bcd3d38022b8..3f4182ae9e89 100644 --- a/code/modules/reagents/reagent_containers/hypovial.dm +++ b/code/modules/reagents/reagent_containers/hypovial.dm @@ -165,8 +165,15 @@ /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/chitosan name = "hypovial (chitosan)" icon_state = "hypovial-b" + amount_per_transfer_from_this = 5 comes_with = list(/datum/reagent/medicine/chitosan = 60) +/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/combat_drug + name = "hypovial (shoal juice)" + icon_state = "hypovial-b" + amount_per_transfer_from_this = 10 + comes_with = list(/datum/reagent/drug/combat_drug = 20, /datum/reagent/medicine/bicaridinep = 10, /datum/reagent/medicine/dermaline = 10, /datum/reagent/medicine/synaptizine = 20) + /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/CMO name = "deluxe hypovial" icon_state = "hypoviallarge-cmos" diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index ba3cd6a540f1..1a4822c254b5 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -94,11 +94,17 @@ /obj/item/reagent_containers/pill/morphine name = "morphine pill" - desc = "Commonly used to treat insomnia." + desc = "Commonly used to treat pain and restlessness." icon_state = "pill8" - list_reagents = list(/datum/reagent/medicine/morphine = 15) + list_reagents = list(/datum/reagent/medicine/morphine = 10) rename_with_volume = TRUE +/obj/item/reagent_containers/pill/tramal + name = "tramal pill" + desc = "Commonly used to treat insomnia." + icon_state = "pill9" + list_reagents = list(/datum/reagent/medicine/tramal = 10) + /obj/item/reagent_containers/pill/stimulant name = "stimulant pill" desc = "Often taken by overworked employees, athletes, and the inebriated. You'll snap to attention immediately!" @@ -182,6 +188,20 @@ icon_state = "pill22" rename_with_volume = TRUE +/obj/item/reagent_containers/pill/licarb + name = "lithium carbonate pill" + desc = "Used to treat depression." + list_reagents = list(/datum/reagent/medicine/lithium_carbonate = 10) + icon_state = "pill22" + rename_with_volume = TRUE + +/obj/item/reagent_containers/pill/hsh + name = "HSH pill" + desc = "A pill of Human Sleep Hormone." + list_reagents = list(/datum/reagent/medicine/melatonin = 10) + icon_state = "pill22" + rename_with_volume = TRUE + ///////////////////////////////////////// Psychologist inventory pills /obj/item/reagent_containers/pill/happinesspsych name = "mood stabilizer pill" @@ -260,6 +280,12 @@ icon_state = "pill21" list_reagents = list(/datum/reagent/three_eye = 25) +/obj/item/reagent_containers/pill/finobranc + name = "finobranc tablet" + desc = "In an ideal world, you'd be snorting this. We don't live in an ideal world." + icon_state = "pill18" + list_reagents = list(/datum/reagent/drug/finobranc = 5) + /*WS Begin - No Cobbychem /obj/item/reagent_containers/pill/c2/probital diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 8e65ad070ad5..512a6fe781b7 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -610,6 +610,22 @@ build_path = /obj/item/storage/pill_bottle category = list("initial", "Medical", "Medical Designs") +/datum/design/hypospray_vial + name = "Hypospray Vial" + id = "vial" + build_type = AUTOLATHE + materials = list(/datum/material/plastic = 100, /datum/material/glass = 500) + build_path = /obj/item/reagent_containers/glass/bottle/vial/small + category = list("initial", "Medical", "Medical Designs") + +/datum/design/chemical_bottle + name = "Glass Bottle" + id = "bottle" + build_type = AUTOLATHE + materials = list(/datum/material/glass = 300) + build_path = /obj/item/reagent_containers/glass/bottle + category = list("initial", "Medical", "Medical Designs") + /datum/design/chem_jug name = "Chemical Jug" id = "chem_jug" diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm index 42bf9f5adeae..aaa7ad5e6e51 100644 --- a/code/modules/surgery/organs/stomach.dm +++ b/code/modules/surgery/organs/stomach.dm @@ -78,8 +78,6 @@ 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 diff --git a/code/modules/vending/medical_wall.dm b/code/modules/vending/medical_wall.dm index c8f62eb0c75d..67801ddfbe1e 100644 --- a/code/modules/vending/medical_wall.dm +++ b/code/modules/vending/medical_wall.dm @@ -14,9 +14,10 @@ /obj/item/reagent_containers/hypospray/medipen/synap = 6, /obj/item/reagent_containers/hypospray/medipen/mannitol = 10, /obj/item/reagent_containers/hypospray/medipen/tricord = 6, - /obj/item/reagent_containers/hypospray/medipen/morphine = 6, + /obj/item/reagent_containers/hypospray/medipen/tramal = 6, /obj/item/reagent_containers/hypospray/medipen/antihol = 10, /obj/item/reagent_containers/hypospray/medipen/anti_rad = 10, + /obj/item/storage/pill_bottle/licarb = 4, ) premium = list( /obj/item/reagent_containers/medigel/styptic = 3, From a9ef37a49143b2f69793b362208b4abfecbdc83e Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 7 Feb 2025 18:32:25 -0600 Subject: [PATCH 260/330] Automatic changelog generation for PR #4064 [ci skip] --- html/changelogs/AutoChangeLog-pr-4064.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4064.yml diff --git a/html/changelogs/AutoChangeLog-pr-4064.yml b/html/changelogs/AutoChangeLog-pr-4064.yml new file mode 100644 index 000000000000..4c125a0ee04a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4064.yml @@ -0,0 +1,7 @@ +author: Erikafox +changes: + - {rscadd: 'An assortment of new chems; Tramal & Dimorlin, painkillers; Shoalmix,, + a combat drug; Lithium Carbonate, an antidepressant; melatonin; a sleeping aid + for humans; finobranc powder, a potent stimulant; and retukemi, its not weed.'} + - {balance: Painkillers now give slight damage resistance} +delete-after: true From c1838b079cda20631c2fb6f6164894b2bdff69ba Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 8 Feb 2025 01:00:49 +0000 Subject: [PATCH 261/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3973.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4064.yml | 7 ------- html/changelogs/AutoChangeLog-pr-4092.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4105.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4111.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4112.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4131.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4132.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4140.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4142.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4143.yml | 6 ------ html/changelogs/archive/2025-02.yml | 23 +++++++++++++++++++++++ 12 files changed, 23 insertions(+), 50 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3973.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4064.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4092.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4105.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4111.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4112.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4131.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4132.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4140.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4142.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4143.yml diff --git a/html/changelogs/AutoChangeLog-pr-3973.yml b/html/changelogs/AutoChangeLog-pr-3973.yml deleted file mode 100644 index e4f92922f24f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3973.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {rscadd: Bombed Airbase has been remapped.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4064.yml b/html/changelogs/AutoChangeLog-pr-4064.yml deleted file mode 100644 index 4c125a0ee04a..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4064.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Erikafox -changes: - - {rscadd: 'An assortment of new chems; Tramal & Dimorlin, painkillers; Shoalmix,, - a combat drug; Lithium Carbonate, an antidepressant; melatonin; a sleeping aid - for humans; finobranc powder, a potent stimulant; and retukemi, its not weed.'} - - {balance: Painkillers now give slight damage resistance} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4092.yml b/html/changelogs/AutoChangeLog-pr-4092.yml deleted file mode 100644 index 976c2bbd11dd..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4092.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: zimon9 -changes: - - {balance: increased the projectile speed of sharplite weaponry} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4105.yml b/html/changelogs/AutoChangeLog-pr-4105.yml deleted file mode 100644 index 63c69c6999b7..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4105.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: MemeSnorfer -changes: - - {balance: Lowers the price of the civilian Viper revolver to 1500cr (from 2500cr) - and the military Viper revolver to 1750cr (from 3000cr).} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4111.yml b/html/changelogs/AutoChangeLog-pr-4111.yml deleted file mode 100644 index 5226e807c6d5..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4111.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Jedi-Toothpaste -changes: - - {rscadd: allows you to reskin ammo cans} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4112.yml b/html/changelogs/AutoChangeLog-pr-4112.yml deleted file mode 100644 index 502e746b919f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4112.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {balance: Space Basilisks and Dwarf Legions are decently weaker.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4131.yml b/html/changelogs/AutoChangeLog-pr-4131.yml deleted file mode 100644 index 49f510fcd15b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4131.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {bugfix: 'CLIP bowman sprites, PGF bowman sound protection.'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4132.yml b/html/changelogs/AutoChangeLog-pr-4132.yml deleted file mode 100644 index 9b1c602360a8..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4132.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {bugfix: some decal layering and grilles on indie_space have been fixed.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4140.yml b/html/changelogs/AutoChangeLog-pr-4140.yml deleted file mode 100644 index 068e6335ec71..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4140.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {bugfix: saunas are no longer burning hot} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4142.yml b/html/changelogs/AutoChangeLog-pr-4142.yml deleted file mode 100644 index a9344fb59ea2..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4142.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {bugfix: Extra cargo listing} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4143.yml b/html/changelogs/AutoChangeLog-pr-4143.yml deleted file mode 100644 index b25b677a12b9..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4143.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Erikafox -changes: - - {rscadd: dynamic simplemobs now add their spread to bullets.} - - {balance: frontiersmen officers now shoot faster and shoot more} - - {balance: frontiersmen shotgunners shoot pb. we cqc in this bitch.} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index c7dad0b48006..63adef9c2ca7 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -48,3 +48,26 @@ - rscdel: clown/mime masks in the few places they appeared - rscdel: clown poster - rscdel: clown shooting targets from everywhere they appear +2025-02-08: + Erikafox: + - rscadd: An assortment of new chems; Tramal & Dimorlin, painkillers; Shoalmix,, + a combat drug; Lithium Carbonate, an antidepressant; melatonin; a sleeping aid + for humans; finobranc powder, a potent stimulant; and retukemi, its not weed. + - balance: Painkillers now give slight damage resistance + - rscadd: dynamic simplemobs now add their spread to bullets. + - balance: frontiersmen officers now shoot faster and shoot more + - balance: frontiersmen shotgunners shoot pb. we cqc in this bitch. + - bugfix: some decal layering and grilles on indie_space have been fixed. + - bugfix: saunas are no longer burning hot + - rscadd: Bombed Airbase has been remapped. + - bugfix: CLIP bowman sprites, PGF bowman sound protection. + Jedi-Toothpaste: + - rscadd: allows you to reskin ammo cans + MemeSnorfer: + - balance: Lowers the price of the civilian Viper revolver to 1500cr (from 2500cr) + and the military Viper revolver to 1750cr (from 3000cr). + firebudgy: + - balance: Space Basilisks and Dwarf Legions are decently weaker. + - bugfix: Extra cargo listing + zimon9: + - balance: increased the projectile speed of sharplite weaponry From 25335f3d4b936b118be541b10ddb37670f457f50 Mon Sep 17 00:00:00 2001 From: Theos Date: Sat, 8 Feb 2025 03:42:31 -0500 Subject: [PATCH 262/330] fixes the long scope removing the rail light crate (#4152) ## About The Pull Request coder....... i remember youre typepaths...... ## Changelog :cl: fix: rail light is back /:cl: Signed-off-by: Theos --- code/modules/cargo/packs/weapon_attachments.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cargo/packs/weapon_attachments.dm b/code/modules/cargo/packs/weapon_attachments.dm index 0fee8efdd8ca..15b541778346 100644 --- a/code/modules/cargo/packs/weapon_attachments.dm +++ b/code/modules/cargo/packs/weapon_attachments.dm @@ -59,7 +59,7 @@ contains = list(/obj/item/attachment/scope) crate_name = "scope crate" -/datum/supply_pack/attachment/rail_light +/datum/supply_pack/attachment/long_scope name = "Long Scope Crate" desc = "Contains a single high powered scope to be mounted on a firearm." cost = 800 From cb3d906907708ea010f082c60eac95035b9d81e5 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 8 Feb 2025 02:52:38 -0600 Subject: [PATCH 263/330] Automatic changelog generation for PR #4152 [ci skip] --- html/changelogs/AutoChangeLog-pr-4152.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4152.yml diff --git a/html/changelogs/AutoChangeLog-pr-4152.yml b/html/changelogs/AutoChangeLog-pr-4152.yml new file mode 100644 index 000000000000..6f494ab779b4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4152.yml @@ -0,0 +1,4 @@ +author: SomeguyManperson +changes: + - {bugfix: rail light is back} +delete-after: true From d55767436789455b44efebb197c788acc8c67c25 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sat, 8 Feb 2025 03:50:21 -0500 Subject: [PATCH 264/330] Washing machine density fix + nimbus bathroom lock (#4135) ## About The Pull Request makes washing machines that are set to not be dense when loaded not become dense later adds a bathroom lock to the nimbus. ## Changelog :cl: add: nimbus bathroom lock fix: some washing machines no longer magically become dense /:cl: --- _maps/shuttles/cybersun/cybersun_nimbus.dmm | 12 +++++++++++- code/game/machinery/washing_machine.dm | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/_maps/shuttles/cybersun/cybersun_nimbus.dmm b/_maps/shuttles/cybersun/cybersun_nimbus.dmm index 603df6567a27..8f3d6328eec9 100644 --- a/_maps/shuttles/cybersun/cybersun_nimbus.dmm +++ b/_maps/shuttles/cybersun/cybersun_nimbus.dmm @@ -2197,6 +2197,15 @@ pixel_y = 6 }, /obj/item/soap/deluxe, +/obj/machinery/button/door{ + pixel_y = -20; + pixel_x = 22; + dir = 1; + name = "door lock"; + normaldoorcontrol = 1; + specialfunctions = 4; + id = "nimbbath" + }, /turf/open/floor/plasteel/patterned/brushed, /area/ship/cargo) "NU" = ( @@ -2460,7 +2469,8 @@ /area/ship/crew/ccommons) "SN" = ( /obj/machinery/door/airlock/hatch{ - name = "Restroom" + name = "Restroom"; + id_tag = "nimbbath" }, /obj/effect/turf_decal/spline/fancy/opaque/white, /turf/open/floor/plasteel/tech, diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 6fe9ec2a653f..c3adddb336fc 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -349,5 +349,6 @@ GLOBAL_LIST_INIT(dye_registry, list( /obj/machinery/washing_machine/open_machine(drop = 1) ..() - density = TRUE //because machinery/open_machine() sets it to 0 + if(initial(density)) + density = TRUE //because machinery/open_machine() sets it to 0 color_source = null From 2c25d624d65a8d9c0961198eea57da7b16ba0c76 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 8 Feb 2025 03:07:01 -0600 Subject: [PATCH 265/330] Automatic changelog generation for PR #4135 [ci skip] --- html/changelogs/AutoChangeLog-pr-4135.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4135.yml diff --git a/html/changelogs/AutoChangeLog-pr-4135.yml b/html/changelogs/AutoChangeLog-pr-4135.yml new file mode 100644 index 000000000000..ef22d6d84f1f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4135.yml @@ -0,0 +1,5 @@ +author: Erikafox +changes: + - {rscadd: nimbus bathroom lock} + - {bugfix: some washing machines no longer magically become dense} +delete-after: true From 55d76cc8faea73470d3720a552a87adcc29c4fa3 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Sat, 8 Feb 2025 03:51:21 -0500 Subject: [PATCH 266/330] Fixes a runtime with SecurEye and updates bodycamera descriptions (#4103) ## About The Pull Request This PR should fix a runtime that had been popping up with bodycameras during their testmerges. It should also fix part of the description for them that I'd erroneously made bold. ## Why It's Good For The Game Runtimes are not good, and the description was a little confusing in what words were made bold. A single missing character causes untold havoc yet again. ## Changelog :cl: fix: fixed securEye runtime fix: fixed bodycamera description typo /:cl: --- code/game/objects/items/bodycamera.dm | 2 +- .../modular_computers/file_system/programs/secureye.dm | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/bodycamera.dm b/code/game/objects/items/bodycamera.dm index 9472578f2e12..e4fa01e4a946 100644 --- a/code/game/objects/items/bodycamera.dm +++ b/code/game/objects/items/bodycamera.dm @@ -39,7 +39,7 @@ if(in_range(src, user)) . += "The body camera is set to a nametag of '[c_tag]'." . += "The body camera is set to transmit on the '[network[1]]' network." - . += "It looks like you can modify the camera settings by using a multitool on it." + . += "It looks like you can modify the camera settings by using a multitool on it." /obj/item/bodycamera/AltClick(mob/user) . = ..() diff --git a/code/modules/modular_computers/file_system/programs/secureye.dm b/code/modules/modular_computers/file_system/programs/secureye.dm index 419ea05a5af0..a7843cd00d02 100644 --- a/code/modules/modular_computers/file_system/programs/secureye.dm +++ b/code/modules/modular_computers/file_system/programs/secureye.dm @@ -173,7 +173,11 @@ var/list/visible_turfs = list() - if(!active_camera.loc) + if(!active_camera) + show_camera_static() + return + else if (active_camera.loc == null) + show_camera_static() return var/cam_location = active_camera.loc From d2b637f8fd662e09956d687f8cb3ea3540650277 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 8 Feb 2025 03:19:12 -0600 Subject: [PATCH 267/330] Automatic changelog generation for PR #4103 [ci skip] --- html/changelogs/AutoChangeLog-pr-4103.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4103.yml diff --git a/html/changelogs/AutoChangeLog-pr-4103.yml b/html/changelogs/AutoChangeLog-pr-4103.yml new file mode 100644 index 000000000000..a03f2bbb7cc1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4103.yml @@ -0,0 +1,5 @@ +author: zimon9 +changes: + - {bugfix: fixed securEye runtime} + - {bugfix: fixed bodycamera description typo} +delete-after: true From d9d39c187e139d2115db11fb4adfd59238384022 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sat, 8 Feb 2025 04:43:39 -0500 Subject: [PATCH 268/330] add some faction mech discounts (#4139) ## Changelog :cl: balance: cybersun now gets discounts on cybersun mech designs. clip gets a discount on the Durand for the same reason /:cl: --- code/modules/cargo/packs/mechs.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/cargo/packs/mechs.dm b/code/modules/cargo/packs/mechs.dm index 0853299b142a..aff3898804da 100644 --- a/code/modules/cargo/packs/mechs.dm +++ b/code/modules/cargo/packs/mechs.dm @@ -53,6 +53,8 @@ Build Your Own Suit /obj/item/circuitboard/mecha/odysseus/main ) crate_name = "202r Construction Kit" + faction = /datum/faction/syndicate/cybersun + faction_discount = 40 /datum/supply_pack/mech/gygax_parts name = "501p construction kit" @@ -72,6 +74,8 @@ Build Your Own Suit /obj/item/circuitboard/mecha/gygax/targeting ) crate_name = "501p Construction Kit" + faction = /datum/faction/syndicate/cybersun + faction_discount = 40 /datum/supply_pack/mech/mpgygax_parts name = "NT-501p-MP construction kit" @@ -112,6 +116,8 @@ Build Your Own Suit /obj/item/circuitboard/mecha/durand/targeting ) crate_name = "Durand Construction Kit" + faction = /datum/faction/clip + faction_discount = 20 /* Mech Equipment From 8b97a24123fc55f21af61d0d24f914a73807c4f2 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 8 Feb 2025 03:54:11 -0600 Subject: [PATCH 269/330] Automatic changelog generation for PR #4139 [ci skip] --- html/changelogs/AutoChangeLog-pr-4139.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4139.yml diff --git a/html/changelogs/AutoChangeLog-pr-4139.yml b/html/changelogs/AutoChangeLog-pr-4139.yml new file mode 100644 index 000000000000..4ea2871f0aca --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4139.yml @@ -0,0 +1,5 @@ +author: Erikafox +changes: + - {balance: cybersun now gets discounts on cybersun mech designs. clip gets a discount + on the Durand for the same reason} +delete-after: true From 27425e6ba523a84b0f9f608f72055c2539aae8f1 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 9 Feb 2025 01:06:00 +0000 Subject: [PATCH 270/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4103.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4135.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4139.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4152.yml | 4 ---- html/changelogs/archive/2025-02.yml | 11 +++++++++++ 5 files changed, 11 insertions(+), 19 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4103.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4135.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4139.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4152.yml diff --git a/html/changelogs/AutoChangeLog-pr-4103.yml b/html/changelogs/AutoChangeLog-pr-4103.yml deleted file mode 100644 index a03f2bbb7cc1..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4103.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: zimon9 -changes: - - {bugfix: fixed securEye runtime} - - {bugfix: fixed bodycamera description typo} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4135.yml b/html/changelogs/AutoChangeLog-pr-4135.yml deleted file mode 100644 index ef22d6d84f1f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4135.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Erikafox -changes: - - {rscadd: nimbus bathroom lock} - - {bugfix: some washing machines no longer magically become dense} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4139.yml b/html/changelogs/AutoChangeLog-pr-4139.yml deleted file mode 100644 index 4ea2871f0aca..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4139.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Erikafox -changes: - - {balance: cybersun now gets discounts on cybersun mech designs. clip gets a discount - on the Durand for the same reason} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4152.yml b/html/changelogs/AutoChangeLog-pr-4152.yml deleted file mode 100644 index 6f494ab779b4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4152.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: SomeguyManperson -changes: - - {bugfix: rail light is back} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index 63adef9c2ca7..6fe6d9b354c5 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -71,3 +71,14 @@ - bugfix: Extra cargo listing zimon9: - balance: increased the projectile speed of sharplite weaponry +2025-02-09: + Erikafox: + - balance: cybersun now gets discounts on cybersun mech designs. clip gets a discount + on the Durand for the same reason + - rscadd: nimbus bathroom lock + - bugfix: some washing machines no longer magically become dense + SomeguyManperson: + - bugfix: rail light is back + zimon9: + - bugfix: fixed securEye runtime + - bugfix: fixed bodycamera description typo From 5ac51c2be64c605db0807c66bd6c997770da03bb Mon Sep 17 00:00:00 2001 From: Burning02 <141873051+Burning02@users.noreply.github.com> Date: Sun, 9 Feb 2025 02:07:50 -0500 Subject: [PATCH 271/330] Minor changes to the Banshee (#4116) ## About The Pull Request This includes some minor changes to the Banshee, the most extreme being an armoury change. Armoury changes: Swaps one of the two Asps for a Bulldog, reducing the starting budget by 500, and adding two missing webbings to the armoury too (The armour vests look gormless without them) Bridge changes: Player feedback, the consoles (Specially the comns console) felt too far from the helms. Changes that to make it right next to the console, along with re-organizing the bridge slightly, including changing the ID console to a MOD console. Misc changes: Adds two plasma air tanks to the airlock. Realized this in hindsight that potentially any phorid crewmates will be severely lacking in air, especially large tanks for EVA. With more player feedback, also moves some posters over slightly, so that they don't overlap with objects behind them when an airlock is opened.
    Aforementioned changes ![Screenshot 2025-01-31 192054](https://github.com/user-attachments/assets/d1075e09-c087-41e7-b28b-806e8edbe76a) ![Screenshot 2025-01-31 192047](https://github.com/user-attachments/assets/05bcd263-e13c-4148-bf7d-0f8787d8b605) ![Screenshot 2025-01-31 192040](https://github.com/user-attachments/assets/4686131b-84a9-467e-b87c-2c7c27d6535d)
    ## Why It's Good For The Game Addresses two problems some players had on my ship, and also changes the starting equipment slightly. While 2 Asps could get some work done, they always felt lacking when in-use compared to more larger threats (Ramzi/Frontiersmen mobs). While the Bulldog won't be doing much more work compared to the Asp it replaced, it'll be more useful nonetheless. ## Changelog :cl: balance: Minor changes to the interior of the Banshee, along with a gun swap /:cl: --- .../syndicate_hardliners_banshee.dmm | 195 ++++++++++-------- 1 file changed, 108 insertions(+), 87 deletions(-) diff --git a/_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm b/_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm index c3bd56b5842c..468a9f7c6378 100644 --- a/_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm +++ b/_maps/shuttles/syndicate/syndicate_hardliners_banshee.dmm @@ -1,12 +1,12 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aY" = ( -/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ - dir = 4 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, /turf/open/floor/plasteel/mono/white, /area/ship/bridge) "bo" = ( @@ -307,19 +307,20 @@ dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ - dir = 8 - }, /obj/structure/cable{ icon_state = "1-2" }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, /turf/open/floor/plasteel/mono/white, /area/ship/bridge) "hK" = ( +/obj/item/radio/intercom/wideband/directional/east, /obj/machinery/computer/helm{ - dir = 8 + dir = 8; + icon_state = "computer-left" }, -/obj/item/radio/intercom/wideband/directional/east, /turf/open/floor/plasteel/mono/white, /area/ship/bridge) "hT" = ( @@ -429,11 +430,13 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "jq" = ( -/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable{ icon_state = "1-4" }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, /turf/open/floor/plasteel/mono/white, /area/ship/bridge) "jr" = ( @@ -458,22 +461,19 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/central) "ko" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, /turf/open/floor/plating, /area/ship/engineering) "kw" = ( /obj/structure/railing{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, /obj/effect/turf_decal/industrial/traffic{ dir = 4 }, @@ -484,6 +484,9 @@ pixel_x = -16; pixel_y = 17 }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, /turf/open/floor/plasteel/dark, /area/ship/engineering) "kF" = ( @@ -652,13 +655,13 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 6 }, -/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ - dir = 8 - }, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable{ icon_state = "1-2" }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 8 + }, /turf/open/floor/plasteel/mono/white, /area/ship/bridge) "mV" = ( @@ -722,28 +725,11 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/central) "nK" = ( -/obj/structure/closet/secure_closet/armorycage{ - anchored = 1; - can_be_unanchored = 1 - }, /obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/industrial/fire/cee{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/end{ - dir = 1 +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 10 }, -/obj/item/ammo_box/magazine/m57_39_asp, -/obj/item/ammo_box/magazine/m57_39_asp, -/obj/item/ammo_box/magazine/m57_39_asp, -/obj/item/ammo_box/magazine/m57_39_asp, -/obj/item/ammo_box/magazine/m57_39_asp, -/obj/item/ammo_box/magazine/m57_39_asp, -/obj/item/clothing/suit/armor/hardliners, -/obj/item/clothing/suit/armor/hardliners, -/obj/item/clothing/head/helmet/hardliners, -/obj/item/clothing/head/helmet/hardliners, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/mono/white, /area/ship/bridge) "or" = ( /obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ @@ -839,6 +825,8 @@ /obj/item/clothing/under/syndicate/hardliners/jumpsuit, /obj/effect/decal/cleanable/dirt, /obj/item/melee/axe/sledgehammer, +/obj/item/melee/knife/survival, +/obj/item/storage/toolbox/syndicate, /turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) "pf" = ( @@ -1037,10 +1025,8 @@ /obj/structure/chair/handrail{ dir = 1 }, -/obj/structure/sign/poster/random{ - pixel_y = -32 - }, /obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/machinery/airalarm/directional/south, /turf/open/floor/plasteel/mono/white, /area/ship/hallway/central) "sY" = ( @@ -1084,6 +1070,7 @@ /obj/structure/extinguisher_cabinet/directional/west{ pixel_y = 4 }, +/obj/machinery/portable_atmospherics/pump, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "uv" = ( @@ -1119,6 +1106,8 @@ }, /obj/item/clothing/suit/space/syndicate/surplus, /obj/item/clothing/head/helmet/space/syndicate/surplus, +/obj/item/tank/internals/plasmaman, +/obj/item/tank/internals/plasmaman, /obj/item/tank/internals/oxygen/red, /obj/item/clothing/mask/breath, /obj/structure/closet/emcloset/wall/directional/east, @@ -1211,13 +1200,12 @@ /turf/open/floor/plating, /area/ship/engineering) "xF" = ( -/obj/structure/guncloset, -/obj/effect/turf_decal/industrial/fire/cee, -/obj/effect/turf_decal/siding/thinplating/dark/end, /obj/machinery/airalarm/directional/west, -/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, -/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, -/turf/open/floor/plasteel/dark, +/obj/machinery/modular_computer/console/preset/command{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/mono, +/turf/open/floor/plasteel/mono/white, /area/ship/bridge) "xS" = ( /obj/effect/turf_decal/techfloor{ @@ -1243,6 +1231,9 @@ /obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ dir = 8 }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 4 + }, /turf/open/floor/plasteel/mono/white, /area/ship/bridge) "yE" = ( @@ -1277,11 +1268,13 @@ color = "#730622"; dir = 1 }, -/obj/machinery/airalarm/directional/south, /obj/structure/chair/bench/grey/directional/north{ color = "#ABB0B8" }, /obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/structure/sign/poster/random{ + pixel_y = -32 + }, /turf/open/floor/plasteel/mono/white, /area/ship/hallway/central) "ze" = ( @@ -1291,17 +1284,15 @@ /turf/open/floor/engine/hull, /area/ship/external/dark) "zm" = ( -/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ - dir = 9 - }, -/obj/machinery/computer/crew{ - icon_state = "computer-left" - }, /obj/machinery/button/door{ id = "Bansheebridgewindow"; name = "Bridge windows"; pixel_y = 20 }, +/obj/machinery/computer/crew/syndie, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/end{ + dir = 1 + }, /turf/open/floor/plasteel/mono/white, /area/ship/bridge) "zr" = ( @@ -1408,9 +1399,6 @@ /obj/machinery/power/terminal{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 8 - }, /obj/structure/cable{ icon_state = "0-4" }, @@ -1421,6 +1409,9 @@ icon_state = "2-4" }, /obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/engineering) "CN" = ( @@ -1809,15 +1800,14 @@ /turf/open/floor/engine/hull, /area/ship/external/dark) "Jm" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-2" - }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding{ color = "#474747"; dir = 1 }, +/obj/structure/sign/poster/contraband/syndiemoth{ + pixel_x = -32 + }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "JK" = ( @@ -2009,6 +1999,9 @@ pixel_y = -20; dir = 1 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) "MK" = ( @@ -2034,7 +2027,6 @@ }, /obj/item/storage/fancy/cigarettes/cigpack_syndicate, /obj/item/lighter/enigma, -/obj/item/spacecash/bundle/c500, /turf/open/floor/plasteel/mono/white, /area/ship/bridge) "MU" = ( @@ -2101,9 +2093,6 @@ /turf/open/floor/plasteel/mono/white, /area/ship/crew/cryo) "Nn" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -2120,6 +2109,9 @@ /obj/structure/cable{ icon_state = "1-4" }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, /turf/open/floor/plating, /area/ship/engineering) "Nu" = ( @@ -2174,6 +2166,8 @@ /obj/item/clothing/under/syndicate/hardliners/jumpsuit, /obj/effect/decal/cleanable/dirt, /obj/item/melee/axe/sledgehammer, +/obj/item/melee/knife/survival, +/obj/item/storage/toolbox/syndicate, /turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) "Oj" = ( @@ -2271,13 +2265,13 @@ /turf/open/floor/plasteel/dark, /area/ship/crew) "Qf" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, /turf/open/floor/plating, /area/ship/engineering) "Qq" = ( @@ -2359,6 +2353,9 @@ /obj/structure/sign/warning/incident{ pixel_x = -32 }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) "Ru" = ( @@ -2446,22 +2443,36 @@ /turf/open/floor/plasteel/dark, /area/ship/engineering) "SG" = ( -/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ - dir = 1 +/obj/structure/closet/secure_closet/armorycage{ + anchored = 1; + can_be_unanchored = 1 + }, +/obj/effect/turf_decal/industrial/fire/cee{ + dir = 8 }, -/obj/machinery/computer/card{ - icon_state = "computer-middle" +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 }, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/ammo_box/magazine/m12g_bulldog, +/obj/item/ammo_box/magazine/m12g_bulldog, +/obj/item/storage/box/ammo/a12g_buckshot, +/obj/item/clothing/suit/armor/hardliners, +/obj/item/clothing/suit/armor/hardliners, +/obj/item/storage/belt/security/webbing/hardliners, +/obj/item/storage/belt/security/webbing/hardliners, +/obj/item/clothing/head/helmet/hardliners, +/obj/item/clothing/head/helmet/hardliners, /obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/mono/white, +/turf/open/floor/plasteel/dark, /area/ship/bridge) "SH" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/effect/turf_decal/siding/thinplating/dark, -/obj/structure/sign/poster/contraband/syndiemoth{ - pixel_x = -32 +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) @@ -2492,13 +2503,14 @@ /turf/open/floor/plating, /area/ship/hallway/central) "Tq" = ( -/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ - dir = 8 - }, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable{ icon_state = "2-8" }, +/obj/machinery/computer/cargo{ + icon_state = "computer-right"; + dir = 8 + }, /turf/open/floor/plasteel/mono/white, /area/ship/bridge) "TG" = ( @@ -2560,6 +2572,9 @@ /obj/machinery/holopad/secure{ pixel_y = 7 }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, /turf/open/floor/plasteel/mono/white, /area/ship/bridge) "Vb" = ( @@ -2586,7 +2601,6 @@ dir = 5 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/landmark/start/assistant, /obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ dir = 8 }, @@ -2651,14 +2665,17 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) "Xg" = ( -/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ - dir = 5 +/obj/structure/guncloset, +/obj/effect/turf_decal/industrial/fire/cee{ + dir = 4 }, -/obj/machinery/computer/cargo{ - icon_state = "computer-right" +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 }, +/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, +/obj/item/gun/ballistic/shotgun/automatic/bulldog/no_mag, /obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/mono/white, +/turf/open/floor/plasteel/dark, /area/ship/bridge) "XH" = ( /obj/structure/marker_beacon{ @@ -2750,6 +2767,9 @@ icon_state = "0-2" }, /obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 8 + }, /turf/open/floor/plasteel/mono/white, /area/ship/bridge) "YN" = ( @@ -2799,6 +2819,7 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, +/obj/effect/decal/cleanable/oil/slippery, /turf/open/floor/plasteel/dark, /area/ship/engineering) "ZR" = ( From 259052d11e0023e3aa89d158028b6aab07bb57d9 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 9 Feb 2025 01:18:36 -0600 Subject: [PATCH 272/330] Automatic changelog generation for PR #4116 [ci skip] --- html/changelogs/AutoChangeLog-pr-4116.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4116.yml diff --git a/html/changelogs/AutoChangeLog-pr-4116.yml b/html/changelogs/AutoChangeLog-pr-4116.yml new file mode 100644 index 000000000000..5638cf6af48b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4116.yml @@ -0,0 +1,4 @@ +author: Burning02 +changes: + - {balance: 'Minor changes to the interior of the Banshee, along with a gun swap'} +delete-after: true From 999bcfe9985b0033fbb33718bd3641f592479795 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 10 Feb 2025 01:06:42 +0000 Subject: [PATCH 273/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4116.yml | 4 ---- html/changelogs/archive/2025-02.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4116.yml diff --git a/html/changelogs/AutoChangeLog-pr-4116.yml b/html/changelogs/AutoChangeLog-pr-4116.yml deleted file mode 100644 index 5638cf6af48b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4116.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Burning02 -changes: - - {balance: 'Minor changes to the interior of the Banshee, along with a gun swap'} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index 6fe6d9b354c5..37521f4fbed3 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -82,3 +82,6 @@ zimon9: - bugfix: fixed securEye runtime - bugfix: fixed bodycamera description typo +2025-02-10: + Burning02: + - balance: Minor changes to the interior of the Banshee, along with a gun swap From f887d985c98a107a8ad3d591d9a6c48101de197f Mon Sep 17 00:00:00 2001 From: whatnot <135062404+stiel0248@users.noreply.github.com> Date: Sun, 9 Feb 2025 18:56:50 -0800 Subject: [PATCH 274/330] Adds the Vagrant-Class Hunting Vessel (#3980) ## About The Pull Request Adds the Vagrant-Class Hunting Vessel, a small 5 crew ship featuring a rocky terrarium ready and waiting for botanists and hunters willing to prove themselves. ![image](https://github.com/user-attachments/assets/b8fa6f9d-da4c-46d2-88cd-13ee1017454c) ![image](https://github.com/user-attachments/assets/fcf29930-def1-46d2-b342-98cb9d95acc9) Also adds two new plushies, and some new ship-friendly rock floor tiles. ![frederickimg](https://github.com/user-attachments/assets/391f787e-aeaa-411e-876e-d62d65c30fbf) ## Why It's Good For The Game I feel the SRM desperately needs more representation in the playerbase, and I hope that by adding a smaller, less taxing ship will encourage others to play them more often. Frederick. https://github.com/user-attachments/assets/33a3d37c-cb1d-4788-aa49-b3e93b069fca ## Changelog :cl: stiel0248, Ical92, KiloAndromeda add: Adds the Vagrant-Class, a small crew SRM vessel focused on hunting and making a neat campsite in the comfort of a rock terrarium. add: Adds Frederick and Toy landmine add: Adds various ship-friendly rock tiles. :cl: --- _maps/configs/srm_vagrant.json | 45 + _maps/shuttles/roumain/srm_vagrant.dmm | 3728 +++++++++++++++++ .../effects/spawners/random/entertainment.dm | 1 + code/game/objects/items/plushes.dm | 41 + .../turfs/open/floor/plating/misc_plating.dm | 4 + .../turfs/open/floor/plating/rockplanet.dm | 16 + icons/obj/plushes.dmi | Bin 32513 -> 33001 bytes 7 files changed, 3835 insertions(+) create mode 100644 _maps/configs/srm_vagrant.json create mode 100644 _maps/shuttles/roumain/srm_vagrant.dmm diff --git a/_maps/configs/srm_vagrant.json b/_maps/configs/srm_vagrant.json new file mode 100644 index 000000000000..feacdc29bb9c --- /dev/null +++ b/_maps/configs/srm_vagrant.json @@ -0,0 +1,45 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Vagrant-class Hunting Vessel", + "faction": "/datum/faction/srm", + "prefix": "SRSV", + "namelists": [ + "SAINT-ROUMAIN", + "BEASTS" + ], + "map_short_name": "Vagrant-class", + "map_path": "_maps/shuttles/roumain/srm_vagrant.dmm", + "description": "One of the smallest vessels available to Montagnes of the Saint-Roumaine-Militia, the Vagrant-Class provides hunters with an affordable, swift journey to their hunting grounds. This vessel features a rocky terrarium prepared with a seed bank perfectly fit for producing trickwines. Hunters and apprenticing shadows alike can find comfort around a campfire, utilizing a strong armory and potent brews to push them through their trials in service to the huntsman.", + "tags": [ + "Botany", + "Combat", + "Specialist" + ], + "map_id": "srm_vagrant", + "limit": 1, + "job_slots": { + "Hunter Montagne": { + "outfit": "/datum/outfit/job/roumain/captain", + "officer": true, + "slots": 1 + }, + "Hunter Colligne": { + "outfit": "/datum/outfit/job/roumain/hop", + "officer": true, + "slots": 1 + }, + "Flamebearer": { + "outfit": "/datum/outfit/job/roumain/flamebearer", + "slots": 1 + }, + "Hunter": { + "outfit": "/datum/outfit/job/roumain/security", + "slots": 1 + }, + "Shadow": { + "outfit": "/datum/outfit/job/roumain/assistant", + "slots": 1 + } + }, + "enabled": true +} diff --git a/_maps/shuttles/roumain/srm_vagrant.dmm b/_maps/shuttles/roumain/srm_vagrant.dmm new file mode 100644 index 000000000000..7d1c8624f981 --- /dev/null +++ b/_maps/shuttles/roumain/srm_vagrant.dmm @@ -0,0 +1,3728 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ag" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, +/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/brown/end, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"ah" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"ai" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/jukebox/boombox, +/obj/structure/table/wood, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/safe, +/area/ship/roumain) +"ap" = ( +/obj/structure/flora/rock/rockplanet{ + icon_state = "redrock2" + }, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"aE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/table/wood/fancy, +/obj/item/flashlight/lamp/green{ + pixel_y = 0; + pixel_x = 0 + }, +/obj/effect/turf_decal/siding/brown/corner, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"aG" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"aJ" = ( +/obj/structure/closet/crate/wooden{ + anchored = 1 + }, +/obj/item/reagent_containers/food/snacks/meat/steak, +/obj/item/reagent_containers/food/snacks/meat/steak, +/obj/item/reagent_containers/food/snacks/meat/steak, +/obj/item/reagent_containers/food/snacks/meat/steak, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken, +/obj/item/reagent_containers/food/snacks/grown/carrot, +/obj/item/reagent_containers/food/snacks/grown/carrot, +/obj/item/food/bread/plain, +/obj/item/reagent_containers/food/snacks/grown/apple, +/obj/item/reagent_containers/food/snacks/grown/apple, +/obj/item/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/drinks/beer, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine, +/obj/item/reagent_containers/condiment/enzyme, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"bz" = ( +/obj/structure/destructible/tribal_torch{ + pixel_x = 10; + pixel_y = 3 + }, +/obj/effect/turf_decal/siding/brown, +/turf/open/floor/wood/walnut, +/area/ship/security) +"bF" = ( +/turf/template_noop, +/area/template_noop) +"bG" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"bH" = ( +/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/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"bT" = ( +/obj/machinery/atmospherics/components/unary/shuttle/heater{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantstarboardengineshuts"; + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"bZ" = ( +/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/electrical) +"cc" = ( +/obj/structure/destructible/tribal_torch{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/siding/brown, +/turf/open/floor/wood/walnut, +/area/ship/security) +"cf" = ( +/mob/living/simple_animal/chicken, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"cn" = ( +/obj/structure/platform/wood{ + dir = 4 + }, +/obj/structure/railing/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 9 + }, +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/paper_bin/bundlenatural{ + pixel_y = 4; + pixel_x = 4; + layer = 2.9 + }, +/obj/item/pen/charcoal{ + pixel_x = -7; + pixel_y = 3; + layer = 2.8 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"cp" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/roumain) +"cL" = ( +/obj/machinery/shower{ + pixel_y = 24 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/door/window, +/obj/structure/curtain/bounty, +/obj/item/soap/deluxe, +/turf/open/floor/plasteel/mono, +/area/ship/roumain) +"cZ" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"df" = ( +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"dj" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantatriumshuts" + }, +/turf/open/floor/plating, +/area/ship/roumain) +"dt" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantatriumshuts"; + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plating, +/area/ship/roumain) +"dE" = ( +/obj/structure/table/wood/fancy, +/obj/item/book/manual/srmlore{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_y = 1; + pixel_x = 10 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_y = -1; + pixel_x = 6 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_y = -1; + pixel_x = -5 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_y = 0; + pixel_x = -9 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_y = 17; + pixel_x = 11 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_y = 18; + pixel_x = 7 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_y = 18; + pixel_x = -5 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_y = 17; + pixel_x = -9 + }, +/turf/open/floor/grass/ship, +/area/ship/roumain) +"dG" = ( +/obj/structure/table/wood, +/obj/item/book/manual/trickwines_4_brewers{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/item/reagent_containers/food/drinks/breakawayflask{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/breakawayflask{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/reagent_containers/food/drinks/breakawayflask{ + pixel_x = -6; + pixel_y = 14 + }, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"dW" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/engineering/engine) +"es" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/fermenting_barrel/distiller, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"eN" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "vagrantbaydoors" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "vagrant_holo" + }, +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"eS" = ( +/obj/structure/platform/wood{ + dir = 9 + }, +/obj/structure/destructible/tribal_torch{ + pixel_x = 1; + pixel_y = -7 + }, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"fa" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/plating/sandy_dirt/ship, +/area/ship/roumain) +"fd" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantportengineshuts" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"fj" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/structure/closet/secure_closet/flamebearer, +/obj/item/clothing/suit/armor/roumain/flamebearer, +/obj/item/clothing/head/cowboy/sec/roumain/flamebearer, +/obj/item/lighter, +/obj/item/clothing/shoes/cowboy, +/obj/item/clothing/shoes/cowboy/black, +/obj/item/melee/knife/hunting, +/obj/item/storage/backpack/satchel/leather, +/obj/item/gps{ + pixel_x = -7 + }, +/obj/item/clothing/accessory/waistcoat/roumain, +/obj/item/flashlight/lantern, +/obj/item/clothing/under/suit/roumain, +/obj/item/clothing/shoes/combat, +/obj/item/storage/fancy/candle_box{ + pixel_y = 3; + pixel_x = 8 + }, +/turf/open/floor/wood/walnut, +/area/ship/security) +"fm" = ( +/obj/structure/chair/pew/right, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"fT" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/red/arrow_cw{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller/directional/west, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/dark, +/area/ship/roumain) +"fV" = ( +/obj/machinery/button/door{ + pixel_x = 0; + pixel_y = -10; + name = "Airlock Shutters"; + id = "airlockshutters" + }, +/turf/closed/wall/r_wall, +/area/ship/roumain) +"fY" = ( +/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-4" + }, +/obj/effect/turf_decal/siding/brown/end{ + dir = 1 + }, +/obj/effect/turf_decal/siding/brown/corner{ + dir = 1; + pixel_x = 0; + pixel_y = -27 + }, +/obj/effect/turf_decal/siding/brown/corner{ + dir = 4; + pixel_x = 0; + pixel_y = -27 + }, +/turf/open/floor/wood/birch, +/area/ship/security) +"fZ" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"gg" = ( +/obj/structure/chair/pew/left{ + dir = 1 + }, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/asteroid/rockplanet/cracked/safe, +/area/ship/roumain) +"gz" = ( +/obj/effect/turf_decal/siding/brown/corner, +/obj/structure/closet/secure_closet/collignes, +/obj/item/clothing/suit/armor/roumain/colligne, +/obj/item/clothing/head/cowboy/sec/roumain/colligne, +/obj/item/ammo_box/c38, +/obj/item/ammo_box/c38, +/obj/item/storage/box/ammo/c38, +/obj/item/gun/ballistic/revolver/detective, +/obj/item/storage/backpack/satchel/leather, +/obj/item/gps{ + pixel_x = -7 + }, +/obj/item/lighter{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/suit/roumain, +/obj/item/flashlight/lantern, +/obj/item/melee/knife/combat, +/obj/item/clothing/accessory/waistcoat/roumain, +/turf/open/floor/wood/walnut, +/area/ship/security) +"gJ" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"gP" = ( +/obj/effect/turf_decal/siding/brown, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"gQ" = ( +/turf/closed/wall/r_wall, +/area/ship/medical) +"gV" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Brewing Shed" + }, +/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/effect/decal/cleanable/blood/drip{ + pixel_y = -1; + pixel_x = -6 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"hb" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantstarboardengineshuts"; + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"hh" = ( +/obj/machinery/button/door{ + pixel_x = 0; + pixel_y = 13; + name = "Airlock Shutters"; + id = "airlockshutters"; + dir = 1 + }, +/turf/closed/wall/r_wall, +/area/ship/roumain) +"hq" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/safe, +/area/ship/roumain) +"hr" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket/wooden, +/obj/item/storage/bag/trash, +/obj/effect/turf_decal/siding/brown{ + dir = 9 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"hS" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "vagrantbaydoors" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"ia" = ( +/turf/closed/wall/r_wall, +/area/ship/bridge) +"ie" = ( +/obj/docking_port/stationary{ + width = 30; + height = 15; + dwidth = 15 + }, +/turf/template_noop, +/area/template_noop) +"il" = ( +/obj/structure/loom, +/turf/open/floor/plating/asteroid/rockplanet/cracked/safe, +/area/ship/roumain) +"iq" = ( +/obj/structure/rack, +/obj/item/stack/sheet/metal/twenty{ + pixel_x = 5; + pixel_y = 2 + }, +/obj/item/stack/sheet/glass/twenty{ + pixel_x = -5; + pixel_y = 1 + }, +/obj/item/stack/sheet/mineral/wood/twentyfive, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"iU" = ( +/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/safe, +/area/ship/roumain) +"iW" = ( +/obj/structure/closet/secure_closet/montagnes{ + anchored = 1 + }, +/obj/item/clothing/accessory/waistcoat/roumain, +/obj/item/storage/guncase/pistol/montagne, +/obj/item/storage/box/ammo/a44roum, +/obj/item/gps{ + pixel_x = -7 + }, +/obj/item/storage/fancy/candle_box{ + pixel_y = 3; + pixel_x = 8 + }, +/obj/item/flashlight/lantern, +/obj/item/lighter{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/clothing/head/cowboy/sec/roumain/montagne, +/obj/item/clothing/suit/armor/roumain/montagne, +/obj/item/clothing/under/suit/roumain, +/obj/item/clothing/shoes/cowboy/black, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/cowboy, +/obj/item/melee/knife/combat, +/obj/item/storage/backpack/satchel/leather, +/obj/effect/turf_decal/siding/brown/corner{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"ja" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/wood/walnut, +/area/ship/roumain) +"jj" = ( +/obj/structure/flora/rock/rockplanet, +/obj/structure/platform/wood{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"jo" = ( +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"jw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/curtain/cloth, +/obj/item/bedsheet/brown, +/obj/structure/bed{ + dir = 8; + icon_state = "dirty_mattress" + }, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"jy" = ( +/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/item/tank/internals/emergency_oxygen/double, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"jB" = ( +/turf/open/floor/wood/birch, +/area/ship/cargo) +"jM" = ( +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"kl" = ( +/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/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/cracked/safe, +/area/ship/roumain) +"km" = ( +/obj/structure/closet/emcloset/wall/directional/east, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/red/arrow_cw{ + dir = 8 + }, +/obj/item/clothing/suit/space/eva{ + pixel_x = -8 + }, +/obj/item/clothing/head/helmet/space/eva{ + pixel_y = 8; + pixel_x = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/roumain) +"ky" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/bonfire, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/safe, +/area/ship/roumain) +"kD" = ( +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"kJ" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantportengineshuts"; + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"kR" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantwindowshuts" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plating, +/area/ship/medical) +"kZ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/obj/structure/destructible/tribal_torch, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"lg" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"lo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/structure/cable{ + icon_state = "5-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/siding/brown{ + dir = 1 + }, +/obj/effect/turf_decal/siding/brown, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"lp" = ( +/obj/machinery/cryopod/poor{ + dir = 8 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/birch, +/area/ship/crew/cryo) +"lw" = ( +/obj/machinery/power/shuttle/engine/fueled/plasma, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"lA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"lM" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/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/engine) +"lQ" = ( +/obj/machinery/holopad/emergency/command, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/wood/birch, +/area/ship/bridge) +"lW" = ( +/obj/item/reagent_containers/glass/mortar/bone, +/obj/item/pestle{ + pixel_y = 6 + }, +/obj/structure/closet/cabinet, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/filter, +/obj/item/reagent_containers/glass/beaker, +/obj/item/storage/firstaid/roumain, +/obj/item/stack/sheet/mineral/plasma/five, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"lX" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/binary/valve/layer4{ + dir = 1; + name = "Disposals Outlet Valve" + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"mi" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/cargo) +"mn" = ( +/obj/machinery/power/shuttle/engine/fueled/plasma, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"mo" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"mz" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"mZ" = ( +/obj/structure/railing/wood, +/obj/structure/railing/wood{ + 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 = 8 + }, +/turf/open/floor/plasteel/stairs/wood/walnut{ + dir = 4 + }, +/area/ship/cargo) +"nc" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/table/wood/fancy, +/obj/item/paper_bin/bundlenatural{ + pixel_y = 7; + pixel_x = -5; + layer = 2.9 + }, +/obj/item/pen/charcoal{ + pixel_x = 4; + pixel_y = 0; + layer = 2.8 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/item/disk/holodisk/roumain{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"ni" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + piping_layer = 2 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"nk" = ( +/obj/machinery/hydroponics/soil, +/obj/structure/platform/wood{ + dir = 4 + }, +/obj/structure/railing/wood{ + dir = 4 + }, +/turf/open/floor/plating/sandy_dirt/ship, +/area/ship/roumain) +"no" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/wood{ + name = "Restroom" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/roumain) +"nr" = ( +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/asteroid/rockplanet/cracked/safe, +/area/ship/roumain) +"os" = ( +/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 = 9 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"oB" = ( +/obj/structure/fermenting_barrel{ + anchored = 1 + }, +/turf/open/floor/grass/ship, +/area/ship/roumain) +"oC" = ( +/obj/structure/flora/tree/srm{ + bound_height = 32 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_x = 13; + pixel_y = -3 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_y = -4 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_x = -5; + pixel_y = -1 + }, +/obj/item/candle/infinite{ + layer = 5.1; + pixel_x = -10; + pixel_y = -2 + }, +/turf/open/floor/grass/ship, +/area/ship/roumain) +"oO" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"pp" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + name = "Air Supply Pump" + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"ps" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/trimline/opaque/red/arrow_cw{ + dir = 4 + }, +/obj/structure/destructible/tribal_torch{ + pixel_x = -10; + pixel_y = 1 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/roumain) +"pD" = ( +/obj/item/roller, +/obj/item/storage/firstaid/regular, +/obj/structure/closet/crate/medical, +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"pN" = ( +/obj/structure/sink{ + dir = 8; + pixel_y = 8; + pixel_x = 16 + }, +/obj/structure/destructible/tribal_torch{ + pixel_x = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/item/trash/can/food/beans{ + pixel_x = -8; + pixel_y = 13 + }, +/turf/open/floor/wood/walnut, +/area/ship/roumain) +"qh" = ( +/obj/structure/platform/wood{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/destructible/tribal_torch, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"qu" = ( +/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/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"qK" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"qM" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell{ + desc = "A sparse patch of grass without color."; + light_power = 1; + light_range = 0; + name = "dead grass" + }, +/mob/living/simple_animal/chicken, +/turf/open/floor/plating/asteroid/rockplanet/cracked/safe, +/area/ship/roumain) +"qN" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantatriumshuts"; + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/roumain) +"qQ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/closet/secure_closet/shadow, +/obj/effect/turf_decal/siding/brown/corner{ + dir = 4 + }, +/obj/item/clothing/under/suit/roumain, +/obj/item/flashlight/lantern, +/obj/item/lighter, +/obj/item/clothing/shoes/cowboy/black, +/obj/item/clothing/shoes/cowboy, +/obj/item/clothing/shoes/combat, +/obj/item/storage/backpack/satchel/leather, +/obj/item/gps{ + pixel_x = -7 + }, +/obj/item/clothing/accessory/waistcoat/roumain, +/obj/item/melee/knife/hunting, +/obj/item/clothing/suit/armor/roumain/shadow, +/obj/item/clothing/head/cowboy/sec/roumain/shadow, +/turf/open/floor/wood/walnut, +/area/ship/security) +"qR" = ( +/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, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"re" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 10 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"rg" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/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/brown/end{ + dir = 1 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"rz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/corner, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"rH" = ( +/obj/machinery/atmospherics/components/unary/shuttle/heater{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantportengineshuts"; + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"rY" = ( +/obj/structure/railing/wood, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/sandy_dirt/ship, +/area/ship/roumain) +"sF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"sH" = ( +/obj/machinery/door/airlock/glass{ + 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 = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/siding/brown/end{ + dir = 8 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"sI" = ( +/obj/item/clothing/glasses/welding{ + pixel_x = 1; + pixel_y = 6; + layer = 3.1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/table/wood, +/obj/item/storage/toolbox/electrical{ + pixel_x = 0; + pixel_y = 5 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 0; + pixel_y = -1 + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_x = 0; + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"sP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/solgov/roumain, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/clothing/mask/breath, +/obj/effect/turf_decal/siding/brown, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"sV" = ( +/obj/structure/platform/wood{ + dir = 10 + }, +/obj/structure/railing/wood, +/obj/structure/bed{ + dir = 8; + icon_state = "dirty_mattress" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"sW" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"ti" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/destructible/tribal_torch{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"tA" = ( +/obj/structure/destructible/tribal_torch{ + pixel_x = 10; + pixel_y = 0 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"un" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/brown, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"uy" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/medical) +"uV" = ( +/obj/structure/chair/pew/left, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"vk" = ( +/obj/machinery/button/door{ + id = "vagrantatriumshuts"; + name = "Atrium Shutters"; + dir = 8; + pixel_y = 1; + pixel_x = 21; + layer = 2.7 + }, +/obj/structure/table/wood/fancy, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_y = 16; + pixel_x = 5 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 16; + pixel_x = -6 + }, +/obj/item/clothing/mask/cigarette/cigar/havana{ + pixel_x = 7; + pixel_y = -1 + }, +/obj/item/storage/box/matches{ + pixel_y = 8; + pixel_x = -9 + }, +/obj/machinery/button/door{ + id = "vagrantbridgeshutters"; + dir = 8; + pixel_x = 21; + name = "Bridge shutters"; + pixel_y = 10; + layer = 2.6 + }, +/obj/machinery/button/door{ + id = "vagrantwindowshuts"; + dir = 8; + pixel_x = 21; + name = "Window Shutters"; + pixel_y = -8; + layer = 2.8 + }, +/obj/item/radio/intercom/wideband/directional/south, +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"vq" = ( +/obj/machinery/button/shieldwallgen{ + dir = 8; + pixel_x = 19; + pixel_y = -4; + id = "vagrant_holo" + }, +/obj/machinery/button/door{ + dir = 8; + id = "vagrantbaydoors"; + name = "blast door control"; + pixel_x = 21; + pixel_y = 7 + }, +/obj/structure/destructible/tribal_torch, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/siding/brown, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"wJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"wP" = ( +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"wV" = ( +/obj/structure/flora/grass/rockplanet/dead, +/obj/structure/closet/crate/hydroponics, +/obj/item/hatchet, +/obj/item/shovel{ + pixel_x = 5 + }, +/obj/item/cultivator/rake{ + pixel_x = -4 + }, +/obj/item/storage/bag/plants, +/obj/item/reagent_containers/glass/bucket/wooden{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/reagent_containers/glass/bucket/wooden{ + pixel_x = 2; + pixel_y = 3 + }, +/turf/open/floor/plating/sandy_dirt/ship, +/area/ship/roumain) +"wY" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/destructible/tribal_torch{ + pixel_x = -8; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"xc" = ( +/turf/closed/wall/r_wall, +/area/ship/engineering/electrical) +"xt" = ( +/obj/machinery/computer/cryopod/retro/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/cryo) +"xA" = ( +/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/engine) +"xK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"xS" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass/ship, +/area/ship/roumain) +"xU" = ( +/obj/structure/chair/wood/wings{ + dir = 4 + }, +/turf/open/floor/wood/birch, +/area/ship/bridge) +"yb" = ( +/obj/structure/railing/corner/wood, +/obj/structure/railing/corner/wood{ + 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 = 8 + }, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"yc" = ( +/obj/structure/platform/wood, +/obj/structure/railing/wood, +/obj/structure/bed{ + dir = 8; + icon_state = "dirty_mattress" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"yD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/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 = 8 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"yF" = ( +/obj/structure/kitchenspike, +/turf/open/floor/plating/asteroid/rockplanet/cracked/safe, +/area/ship/roumain) +"yI" = ( +/obj/effect/turf_decal/sand/plating, +/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/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"yU" = ( +/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/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"yX" = ( +/obj/structure/table/wood, +/obj/item/storage/pill_bottle/dice{ + pixel_x = -5; + pixel_y = 9 + }, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_x = 1; + pixel_y = 4 + }, +/obj/item/lighter{ + pixel_x = 9; + pixel_y = -3 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"za" = ( +/obj/structure/destructible/tribal_torch, +/obj/structure/platform/wood{ + dir = 4 + }, +/obj/structure/railing/wood{ + dir = 4 + }, +/turf/open/floor/plating/sandy_dirt/ship, +/area/ship/roumain) +"zd" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine{ + pixel_x = -6; + pixel_y = 14 + }, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine{ + pixel_x = 7; + pixel_y = 15 + }, +/obj/item/stack/sheet/animalhide/goliath_hide/polar_bear_hide{ + amount = 3; + pixel_x = 4; + pixel_y = -6 + }, +/obj/item/stack/sheet/bone{ + amount = 6; + pixel_x = -4; + pixel_y = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"zP" = ( +/turf/closed/wall/r_wall, +/area/ship/engineering/engine) +"Ab" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantbridgeshutters"; + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Ag" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"Ar" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/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/item/tank/internals/emergency_oxygen/double{ + pixel_x = 4; + pixel_y = -6 + }, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"AB" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/button/door{ + id = "vagrantportengineshuts"; + name = "Engine Shutters"; + dir = 1; + pixel_x = -7; + pixel_y = -20 + }, +/obj/structure/destructible/tribal_torch, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Bq" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"BD" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantatriumshuts" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/roumain) +"BO" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/door/poddoor/shutters{ + id = "airlockshutters" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/roumain) +"BY" = ( +/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/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/cracked/safe, +/area/ship/roumain) +"Cb" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Cp" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantbridgeshutters" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"CG" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable{ + icon_state = "1-8" + }, +/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/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"Dc" = ( +/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 + }, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"Df" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "vagrantbaydoors" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "vagrant_holo" + }, +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Dj" = ( +/obj/effect/turf_decal/sand/plating, +/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/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"Dl" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "vagrantstarboardengineshuts"; + name = "Engine Shutters"; + pixel_x = 0; + pixel_y = 21 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"DJ" = ( +/obj/structure/sink/puddle, +/turf/open/floor/grass/ship, +/area/ship/roumain) +"El" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "airlockshutters" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/roumain) +"Eo" = ( +/obj/structure/railing/wood, +/turf/open/floor/plasteel/stairs/wood/walnut{ + dir = 4 + }, +/area/ship/roumain) +"EM" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "airlockshutters" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/roumain) +"Fa" = ( +/obj/machinery/autolathe, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"Fr" = ( +/obj/structure/chair/pew/right{ + dir = 1 + }, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"Fs" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/table/wood/fancy, +/obj/item/folder/red{ + pixel_x = 3; + pixel_y = 39 + }, +/obj/item/binoculars{ + pixel_x = -4 + }, +/obj/item/megaphone{ + pixel_y = 9; + pixel_x = 3 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"FA" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Starboard Engine Room" + }, +/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{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"FJ" = ( +/obj/effect/turf_decal/sand/plating, +/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/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"FK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"Gf" = ( +/obj/structure/closet/firecloset/wall/directional/north, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"Gg" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"Go" = ( +/obj/docking_port/mobile{ + dir = 2; + preferred_direction = 4; + port_direction = 8 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Gu" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/flora/grass/rockplanet/dead, +/obj/structure/railing/corner, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"GT" = ( +/turf/open/floor/plasteel/stairs/wood/walnut{ + dir = 4 + }, +/area/ship/roumain) +"GV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"GZ" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantbridgeshutters"; + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Hg" = ( +/obj/structure/closet/secure_closet/hunter, +/obj/item/clothing/accessory/waistcoat/roumain, +/obj/item/storage/backpack/satchel/leather, +/obj/item/melee/knife/survival, +/obj/item/gps{ + pixel_x = -7 + }, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/cowboy, +/obj/item/clothing/shoes/cowboy/black, +/obj/item/lighter, +/obj/item/clothing/suit/armor/witchhunter, +/obj/item/flashlight/lantern, +/obj/item/clothing/head/cowboy/sec/roumain, +/obj/item/clothing/suit/armor/roumain, +/obj/item/clothing/under/suit/roumain, +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/security) +"Hn" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/engineering/electrical) +"Hy" = ( +/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"HC" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"HU" = ( +/turf/closed/wall/r_wall, +/area/ship/security) +"HZ" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"Ii" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/flora/grass/rockplanet/dead, +/obj/effect/turf_decal/sand/plating, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"Ik" = ( +/obj/structure/flora/rock/rockplanet{ + icon_state = "redrock3" + }, +/obj/structure/platform/wood{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"Il" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"Io" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/seeds/lavaland/cactus, +/obj/item/seeds/lavaland/cactus, +/obj/item/seeds/cotton, +/obj/item/seeds/cotton, +/obj/item/seeds/sunflower/moonflower, +/obj/item/seeds/sunflower/moonflower, +/obj/item/seeds/lavaland/inocybe, +/obj/item/seeds/lavaland/inocybe, +/obj/item/seeds/chili/ice, +/obj/item/seeds/chili/ice, +/obj/item/seeds/wheat/rice, +/obj/item/seeds/wheat/rice, +/obj/item/seeds/potato, +/obj/item/seeds/potato, +/obj/item/seeds/lemon, +/obj/item/seeds/lemon, +/turf/open/floor/plating/sandy_dirt/ship, +/area/ship/roumain) +"IZ" = ( +/obj/structure/crate_shelf, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"Ja" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"Jb" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"Jh" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/brown, +/obj/structure/filingcabinet, +/obj/item/computer_hardware/card_slot, +/obj/item/folder, +/obj/item/folder/blue, +/obj/item/folder/yellow, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"Jp" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"Jx" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/security) +"JE" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/bridge) +"JR" = ( +/obj/effect/turf_decal/stoneborder{ + dir = 1 + }, +/obj/effect/turf_decal/stoneborder, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/structure/toilet, +/obj/effect/decal/cleanable/blood/gibs/old, +/turf/open/floor/plasteel/mono/dark, +/area/ship/roumain) +"Kx" = ( +/obj/structure/platform/wood{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"KD" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/safe, +/area/ship/roumain) +"KN" = ( +/obj/item/toy/plush/landmine, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"KQ" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable{ + icon_state = "1-2" + }, +/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/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"KR" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"KW" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantwindowshuts" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plating, +/area/ship/crew/cryo) +"Lb" = ( +/obj/structure/closet/crate/freezer, +/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/snacks/egg, +/obj/item/stack/ore/glass/basalt{ + amount = 25; + pixel_y = -2; + pixel_x = -9 + }, +/obj/item/stack/ore/glass/basalt{ + amount = 25; + pixel_y = -2; + pixel_x = -9 + }, +/obj/item/stack/ore/glass/basalt{ + amount = 25; + pixel_y = -2; + pixel_x = -9 + }, +/obj/item/stack/ore/glass/basalt{ + amount = 25; + pixel_y = -2; + pixel_x = -9 + }, +/turf/open/floor/plating/sandy_dirt/ship, +/area/ship/roumain) +"Lp" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantwindowshuts" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plating, +/area/ship/security) +"LM" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/destructible/tribal_torch{ + pixel_x = -9; + pixel_y = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"LO" = ( +/obj/effect/turf_decal/sand/plating, +/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/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"LP" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"LW" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell{ + desc = "A sparse patch of grass without color."; + light_power = 1; + light_range = 0; + name = "dead grass" + }, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"Me" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_y = 11; + pixel_x = 0 + }, +/obj/item/flashlight/lantern{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/item/radio{ + pixel_y = 7; + pixel_x = -5 + }, +/obj/item/radio{ + pixel_y = 7; + pixel_x = -5 + }, +/obj/item/radio{ + pixel_y = 7; + pixel_x = -5 + }, +/obj/item/radio{ + pixel_y = 7; + pixel_x = -5 + }, +/obj/item/radio{ + pixel_y = 7; + pixel_x = -5 + }, +/obj/item/flashlight/lantern{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/item/flashlight/lantern{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/item/flashlight/lantern{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/item/flashlight/lantern{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/item/lighter{ + pixel_x = 1; + pixel_y = -5 + }, +/obj/item/lighter{ + pixel_x = 1; + pixel_y = -5 + }, +/obj/item/lighter{ + pixel_x = 1; + pixel_y = -5 + }, +/obj/item/lighter{ + pixel_x = 1; + pixel_y = -5 + }, +/obj/item/lighter{ + pixel_x = 1; + pixel_y = -5 + }, +/obj/item/lighter{ + pixel_x = 1; + pixel_y = -5 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/birch, +/area/ship/crew/cryo) +"Mq" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/sandy_dirt/ship, +/area/ship/roumain) +"My" = ( +/turf/closed/wall/r_wall, +/area/ship/roumain) +"MC" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable{ + icon_state = "4-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/dark, +/obj/structure/destructible/tribal_torch, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"MO" = ( +/obj/machinery/door/airlock/glass{ + name = "Cryopods" + }, +/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{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/wood/walnut, +/area/ship/crew/cryo) +"Ni" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance{ + name = "Port Engine Room" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"Nr" = ( +/obj/machinery/computer/cargo{ + dir = 8; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"NF" = ( +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/sandy_dirt/ship, +/area/ship/roumain) +"NN" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/trimline/opaque/red/arrow_cw{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/roumain) +"NQ" = ( +/obj/structure/platform/wood{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"NS" = ( +/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/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"NW" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/door/poddoor/shutters{ + id = "airlockshutters" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/roumain) +"Ob" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"On" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"Op" = ( +/turf/open/floor/grass/ship, +/area/ship/roumain) +"OC" = ( +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/grass/ship, +/area/ship/roumain) +"OH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/wood/birch, +/area/ship/security) +"OJ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Pj" = ( +/obj/structure/platform/wood{ + dir = 9 + }, +/obj/structure/bed{ + dir = 8; + icon_state = "dirty_mattress" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"Pt" = ( +/obj/structure/platform/wood{ + dir = 1 + }, +/obj/structure/bed{ + dir = 8; + icon_state = "dirty_mattress" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"PC" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"PE" = ( +/obj/structure/railing/corner/wood, +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/sandy_dirt/ship, +/area/ship/roumain) +"PS" = ( +/turf/open/floor/wood/birch, +/area/ship/security) +"Qa" = ( +/obj/structure/platform/wood{ + dir = 4 + }, +/obj/structure/railing/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 10 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"Qo" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/table/wood, +/obj/machinery/cell_charger, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Qs" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Armory" + }, +/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/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/birch, +/area/ship/security) +"QA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/table/wood/fancy, +/obj/machinery/fax/roumain{ + layer = 3.22 + }, +/obj/effect/turf_decal/siding/brown, +/turf/open/floor/wood/walnut, +/area/ship/bridge) +"Rk" = ( +/turf/open/floor/plating/sandy_dirt/ship, +/area/ship/roumain) +"RA" = ( +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/cryo) +"RH" = ( +/obj/structure/rack, +/obj/machinery/door/window/brigdoor/westleft, +/obj/item/ammo_box/magazine/illestren_a850r{ + pixel_x = -2; + pixel_y = -8 + }, +/obj/item/ammo_box/magazine/illestren_a850r{ + pixel_x = 5; + pixel_y = -3 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/item/storage/toolbox/ammo/shotgun, +/obj/item/storage/box/ammo/a8_50r, +/obj/item/storage/box/ammo/a12g_slug, +/obj/item/storage/box/ammo/a8_50r/match, +/turf/open/floor/wood/walnut, +/area/ship/security) +"Ss" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/railing, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"Sx" = ( +/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/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"SR" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck{ + pixel_x = -5; + pixel_y = 1 + }, +/obj/item/toy/cards/deck/tarot{ + pixel_y = 7; + pixel_x = 8 + }, +/obj/item/toy/cards/deck/kotahi{ + pixel_y = 10; + pixel_x = -4 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"SV" = ( +/turf/closed/wall/r_wall, +/area/ship/cargo) +"Td" = ( +/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/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"Te" = ( +/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/catwalk/over/plated_catwalk/dark, +/obj/structure/destructible/tribal_torch, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"TE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/wood/birch, +/area/ship/bridge) +"TU" = ( +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-9" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"Uh" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"Uj" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/asteroid/rockplanet/wet/safe, +/area/ship/roumain) +"Ut" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantatriumshuts"; + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/roumain) +"UF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/turf_decal/siding/brown/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/brown/corner{ + dir = 1 + }, +/turf/open/floor/wood/birch, +/area/ship/cargo) +"UH" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"UT" = ( +/obj/structure/bedsheetbin{ + pixel_x = -3; + pixel_y = -8 + }, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"UV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/wood/walnut, +/area/ship/security) +"Ve" = ( +/turf/open/floor/wood/birch, +/area/ship/bridge) +"Vy" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantbridgeshutters" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Vz" = ( +/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/dark, +/obj/machinery/airalarm/directional/north, +/obj/structure/destructible/tribal_torch, +/turf/open/floor/plating/asteroid/rockplanet/cracked/safe, +/area/ship/roumain) +"VB" = ( +/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/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/machinery/door/airlock/command/glass/seclock{ + name = "Bridge" + }, +/turf/open/floor/wood/birch, +/area/ship/bridge) +"VE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"VG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/rack, +/obj/item/storage/bag/ore, +/obj/item/pickaxe{ + pixel_x = 1; + pixel_y = 8 + }, +/obj/item/pickaxe{ + pixel_x = 1; + pixel_y = 8 + }, +/obj/item/mining_scanner{ + pixel_x = 5; + pixel_y = 6 + }, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"VI" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/wood/birch, +/area/ship/bridge) +"VL" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"VO" = ( +/obj/machinery/door/window/brigdoor/westright, +/obj/structure/guncloset{ + anchored = 1 + }, +/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration, +/obj/item/gun/ballistic/rifle/illestren/factory{ + pixel_x = -4; + pixel_y = -5 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration, +/turf/open/floor/wood/walnut, +/area/ship/security) +"Wg" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/item/stack/sheet/mineral/plasma/twenty, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"Ws" = ( +/obj/structure/destructible/tribal_torch{ + pixel_x = -9; + pixel_y = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"Wu" = ( +/turf/closed/wall/r_wall, +/area/ship/crew/cryo) +"Ww" = ( +/obj/structure/chair/wood/wings{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/cargo) +"WM" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"WO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/obj/item/melee/spear/bone{ + pixel_y = 2; + pixel_x = 0 + }, +/obj/item/melee/spear/bone{ + pixel_y = 8; + pixel_x = -6 + }, +/obj/item/melee/spear/bone{ + pixel_y = 0; + pixel_x = 4 + }, +/obj/item/melee/spear/bone{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine, +/obj/structure/rack, +/turf/open/floor/wood/walnut, +/area/ship/security) +"WU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/table/wood, +/obj/item/storage/toolbox/fishing{ + pixel_x = -1; + pixel_y = 5 + }, +/obj/item/storage/toolbox/fishing{ + pixel_x = 1; + pixel_y = 0 + }, +/turf/open/floor/wood/walnut, +/area/ship/security) +"XB" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantatriumshuts" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plating, +/area/ship/roumain) +"XG" = ( +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/asteroid/rockplanet/safe, +/area/ship/roumain) +"XO" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Yr" = ( +/obj/effect/turf_decal/sand/plating, +/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/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/rockplanet/cracked/safe, +/area/ship/roumain) +"YL" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "vagrantbridgeshutters"; + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Ze" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"ZA" = ( +/turf/open/floor/plating/asteroid/rockplanet/cracked/safe, +/area/ship/roumain) +"ZF" = ( +/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 = 1 + }, +/obj/effect/decal/cleanable/blood/drip{ + pixel_y = -4 + }, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/decal/cleanable/blood/footprints{ + layer = 3 + }, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"ZI" = ( +/obj/structure/chair/wood/wings{ + dir = 4 + }, +/obj/item/toy/plush/frederick{ + layer = 3.1 + }, +/turf/open/floor/wood/birch, +/area/ship/bridge) +"ZO" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, +/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/brown/end, +/obj/effect/turf_decal/siding/brown/corner{ + dir = 8; + pixel_x = 0; + pixel_y = 27 + }, +/obj/effect/turf_decal/siding/brown/corner{ + pixel_x = 0; + pixel_y = 27 + }, +/turf/open/floor/wood/birch, +/area/ship/bridge) + +(1,1,1) = {" +bF +bF +bF +bF +bF +bF +bF +Ut +qN +qN +qN +dt +bF +bF +bF +bF +bF +bF +bF +"} +(2,1,1) = {" +bF +bF +bF +bF +bF +bF +bF +BD +Io +Lb +wV +XB +bF +bF +bF +bF +bF +bF +bF +"} +(3,1,1) = {" +bF +bF +bF +bF +bF +bF +Ut +dj +Op +Op +Rk +dj +dt +bF +bF +bF +bF +bF +bF +"} +(4,1,1) = {" +bF +bF +bF +bF +bF +bF +BD +Op +Op +oC +OC +oB +XB +bF +bF +bF +bF +bF +bF +"} +(5,1,1) = {" +bF +bF +bF +bF +bF +Ut +dj +xS +Rk +DJ +OC +fa +dj +dt +bF +bF +bF +bF +bF +"} +(6,1,1) = {" +bF +bF +bF +bF +bF +My +za +nk +Mq +dE +PE +nk +za +My +bF +bF +bF +bF +bF +"} +(7,1,1) = {" +bF +bF +lw +XO +XO +My +Ik +sV +NF +Rk +rY +Pj +jj +My +UH +UH +mn +bF +bF +"} +(8,1,1) = {" +bF +Hn +rH +kJ +kJ +xc +UT +yc +GT +GT +Eo +Pt +ap +zP +hb +hb +bT +dW +bF +"} +(9,1,1) = {" +bF +xc +cZ +bZ +PC +xc +il +ZA +iU +gJ +gJ +qM +Ja +zP +xA +lg +VL +zP +bF +"} +(10,1,1) = {" +bF +xc +HZ +rz +LP +xc +yF +Uj +hq +ai +Il +gJ +kl +FA +lM +VE +Ag +zP +bF +"} +(11,1,1) = {" +bF +xc +ni +pp +Qo +xc +mz +gJ +Gu +sW +Jb +gJ +yI +zP +Dl +jo +Ze +zP +bF +"} +(12,1,1) = {" +oO +xc +sI +mo +AB +xc +wJ +LW +Ss +ky +Ii +Ob +NS +zP +ti +Bq +TU +zP +KN +"} +(13,1,1) = {" +GV +fd +Wg +lX +fZ +Ni +qR +gJ +Gg +ah +qK +iU +yI +zP +zP +zP +zP +zP +jM +"} +(14,1,1) = {" +bF +Hn +xc +Hy +WM +xc +LO +gJ +Jp +aJ +Uh +df +MC +gQ +wY +lW +gQ +uy +bF +"} +(15,1,1) = {" +bF +Cb +hh +My +My +fV +Te +cf +Uj +KD +gJ +ZA +NS +gV +ZF +jw +kR +bF +bF +"} +(16,1,1) = {" +bF +Cb +El +fT +ps +EM +Yr +nr +uV +yX +gg +df +yI +gQ +aG +dG +kR +bF +bF +"} +(17,1,1) = {" +bF +Cb +NW +km +NN +BO +bH +qu +fm +SR +Fr +FJ +Dj +gQ +es +zd +gQ +bF +bF +"} +(18,1,1) = {" +ie +Cb +cp +My +My +My +My +yU +df +iU +XG +NS +Wu +Wu +Wu +Wu +uy +bF +bF +"} +(19,1,1) = {" +bF +bF +bF +My +cL +ja +no +bG +BY +XG +FJ +CG +MO +RA +xt +KW +bF +bF +bF +"} +(20,1,1) = {" +bF +bF +bF +My +JR +pN +My +My +Vz +ZA +Te +My +Wu +Me +lp +Wu +bF +bF +bF +"} +(21,1,1) = {" +bF +bF +JE +ia +ia +ia +ia +ia +Td +KQ +Sx +HU +HU +HU +HU +HU +Jx +bF +bF +"} +(22,1,1) = {" +bF +bF +Vy +aE +nc +Fs +iW +ia +SV +sH +SV +HU +gz +fj +Hg +qQ +HU +bF +bF +"} +(23,1,1) = {" +bF +bF +Vy +sP +Ve +VI +tA +ia +LM +lo +Ws +HU +bz +PS +PS +UV +Lp +bF +bF +"} +(24,1,1) = {" +bF +bF +Vy +QA +lQ +TE +ZO +VB +rg +UF +ag +Qs +fY +OH +OH +WO +Lp +bF +bF +"} +(25,1,1) = {" +bF +bF +Vy +Jh +xU +ZI +vk +ia +Gf +Dc +Ww +HU +cc +PS +PS +WU +Lp +bF +bF +"} +(26,1,1) = {" +bF +bF +YL +Cp +kD +Nr +ia +ia +Qa +yb +cn +HU +HU +VO +RH +HU +Jx +bF +bF +"} +(27,1,1) = {" +bF +bF +bF +Ab +GZ +ia +ia +Kx +qh +mZ +eS +NQ +HU +HU +HU +Jx +bF +bF +bF +"} +(28,1,1) = {" +bF +bF +bF +bF +bF +SV +IZ +hr +HC +yD +HC +re +wP +SV +bF +bF +bF +bF +bF +"} +(29,1,1) = {" +bF +bF +bF +bF +bF +SV +VG +lA +sF +os +xK +un +Ar +SV +bF +bF +bF +bF +bF +"} +(30,1,1) = {" +bF +bF +bF +bF +bF +SV +iq +pD +jB +FK +jB +gP +jy +SV +bF +bF +bF +bF +bF +"} +(31,1,1) = {" +bF +bF +bF +bF +bF +SV +Fa +kZ +On +KR +On +vq +jy +SV +bF +bF +bF +bF +bF +"} +(32,1,1) = {" +bF +bF +bF +bF +bF +mi +SV +SV +Df +hS +eN +SV +SV +mi +bF +bF +bF +bF +bF +"} +(33,1,1) = {" +bF +bF +bF +bF +bF +bF +jM +OJ +OJ +OJ +OJ +OJ +Go +bF +bF +bF +bF +bF +bF +"} diff --git a/code/game/objects/effects/spawners/random/entertainment.dm b/code/game/objects/effects/spawners/random/entertainment.dm index 8e51ddf384c0..75028ca12e11 100644 --- a/code/game/objects/effects/spawners/random/entertainment.dm +++ b/code/game/objects/effects/spawners/random/entertainment.dm @@ -249,6 +249,7 @@ /obj/item/toy/plush/spider, /obj/item/toy/plush/tali, /obj/item/toy/plush/xader, + /obj/item/toy/plush/frederick, /obj/effect/spawner/random/entertainment/plushie/moth // fair chances ) diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index dd00d3abd1fd..03c37fbce833 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -863,3 +863,44 @@ var/mutable_appearance/base_overlay_among = mutable_appearance(icon, "plushie_among_visor") base_overlay_among.appearance_flags = RESET_COLOR add_overlay(base_overlay_among) + +/obj/item/toy/plush/frederick + name = "Frederick plushie" + desc = "A plushie of Frederick, a lovable dragon head cricket." + icon_state = "plushie_frederick" + gender = MALE + +/obj/item/toy/plush/landmine + name = "\improper G-80 Landmine plushie" + desc = "A plushie depicting an adorable anti-infantry explosive. Just don't step on it." + icon = 'icons/obj/landmine.dmi' + icon_state = "mine_armed" + should_squeak = FALSE + +/obj/item/toy/plush/landmine/Initialize() + . = ..() + var/static/list/loc_connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), + COMSIG_ATOM_EXITED = PROC_REF(on_exited), + ) + AddElement(/datum/element/connect_loc, loc_connections) + +/obj/item/toy/plush/landmine/proc/on_entered(datum/source, atom/movable/arrived) + SIGNAL_HANDLER + if(!(arrived.movement_type == GROUND)) + return + + if(ismob(arrived)) + var/mob/living/fool = arrived + fool.do_alert_animation(fool) + fool.Immobilize(15 DECISECONDS, TRUE) // Shorter because it's fake + to_chat(fool, span_userdanger("You step on \the [src] and freeze.")) + visible_message(span_danger("[icon2html(src, viewers(src))] *click*")) + playsound(src, 'sound/machines/click.ogg', 100, TRUE) + +/obj/item/toy/plush/landmine/proc/on_exited(datum/source, atom/movable/gone) + SIGNAL_HANDLER + if(!isturf(loc) || iseffect(gone) || istype(gone, /obj/item/mine)) + return + playsound(src, 'sound/items/mine_activate_short.ogg', 80, FALSE) + diff --git a/code/game/turfs/open/floor/plating/misc_plating.dm b/code/game/turfs/open/floor/plating/misc_plating.dm index 684420c8eb89..f1cf31218b42 100644 --- a/code/game/turfs/open/floor/plating/misc_plating.dm +++ b/code/game/turfs/open/floor/plating/misc_plating.dm @@ -276,3 +276,7 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE +/turf/open/floor/plating/sandy_dirt/ship + 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 69257e346ef8..889e2779ec52 100644 --- a/code/game/turfs/open/floor/plating/rockplanet.dm +++ b/code/game/turfs/open/floor/plating/rockplanet.dm @@ -11,6 +11,10 @@ digResult = /obj/item/stack/ore/glass/rockplanet light_color = COLOR_ROCKPLANET_LIGHT +/turf/open/floor/plating/asteroid/rockplanet/safe + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = FALSE + /turf/open/floor/plating/asteroid/rockplanet/lit light_range = 2 light_power = 0.6 @@ -28,10 +32,18 @@ baseturfs = /turf/open/floor/plating/asteroid/rockplanet/lit turf_type = /turf/open/floor/plating/asteroid/rockplanet/lit +/turf/open/floor/plating/asteroid/rockplanet/cracked/safe + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = FALSE + /turf/open/floor/plating/asteroid/rockplanet/wet icon_state = "wet_soft0" base_icon_state = "wet_soft" +/turf/open/floor/plating/asteroid/rockplanet/wet/safe + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = FALSE + /turf/open/floor/plating/asteroid/rockplanet/wet/lit light_range = 2 light_power = 0.6 @@ -41,6 +53,10 @@ icon_state = "wet_cracked0" base_icon_state = "wet_cracked" +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/safe + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = FALSE + /turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit light_range = 2 light_power = 0.6 diff --git a/icons/obj/plushes.dmi b/icons/obj/plushes.dmi index 2c982a8ac8f9c4b273e83a6c8401e413f50b53d9..2ca4cc2875b7af9d68c2c210158f4146af6f4ac1 100644 GIT binary patch delta 14476 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 z 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 delta 13985 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
    N2vj(3}tpOG_lk*OC(RZ9G!a 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 C=*iUp From 7b8d460a727dc7c7f5d9fcda21a9c5fe3a573b77 Mon Sep 17 00:00:00 2001 From: Ratvar <61395690+Ratvarr@users.noreply.github.com> Date: Mon, 10 Feb 2025 20:43:32 -0800 Subject: [PATCH 275/330] New Ruin: ICW Stolen Base (Not horrifically destroyed on github edition) (#4006) ## About The Pull Request Adds a new ruin to Waste Planets, the ICW Era Cybersun Venture, that has had quite a few groups come by... And this is not an extra PR merged too! Isn't that swell. I am in agony.
    Screenshots

    ![image](https://github.com/user-attachments/assets/284d1527-1663-4488-ad8f-44420f2ed42e) ![image](https://github.com/user-attachments/assets/1fec18b4-f174-49ef-bb05-9eef76ade413) It's a little big, so I have to split it between ingame screenshots ![image](https://github.com/user-attachments/assets/789b4410-fa80-48c7-b064-f8d9d4a3da02) ![image](https://github.com/user-attachments/assets/5c5ee2b5-f871-45f9-b6fe-555e69f3e0f6) ![image](https://github.com/user-attachments/assets/37c695c9-e2f4-4605-98fc-b0b7b8cfe00f) ![image](https://github.com/user-attachments/assets/3cc4cb71-d986-47e2-9a40-34ef142d684a)

    ## Why It's Good For The Game More ruins = Good Intended to be difficult, but has some pretty good loot for the price. And some interesting fluff behind the story... ## Changelog :cl: add: Long range sensors have detected an unknown signal broadcasting over local GPS on the local long-term waste-world... /:cl: --- .../WasteRuins/wasteplanet_icwbase.dmm | 18713 ++++++++++++++++ code/datums/ruins/wasteplanet.dm | 8 + code/game/area/areas/ruins/wasteplanet.dm | 38 + code/game/turfs/open/floor/mineral_floor.dm | 6 + .../turfs/open/floor/plating/wasteplanet.dm | 25 + .../mob/living/simple_animal/corpse.dm | 73 + 6 files changed, 18863 insertions(+) create mode 100644 _maps/RandomRuins/WasteRuins/wasteplanet_icwbase.dmm diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_icwbase.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_icwbase.dmm new file mode 100644 index 000000000000..51ee1a93d69b --- /dev/null +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_icwbase.dmm @@ -0,0 +1,18713 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"ab" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = -9; + pixel_y = 11; + icon_state = "floor6-old" + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ac" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/weather, +/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/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ae" = ( +/obj/effect/turf_decal/weather, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"af" = ( +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 10 + }, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"ah" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"ak" = ( +/obj/effect/turf_decal/weather, +/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 + }, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"al" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"aq" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"as" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 10 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"at" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"aw" = ( +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet) +"ay" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 8 + }, +/obj/structure/chair/comfy/blue/corpo/directional/east, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"az" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"aA" = ( +/obj/structure/table/chem, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"aB" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"aD" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/middle, +/obj/effect/turf_decal/syndicateemblem/middle/right{ + dir = 1 + }, +/obj/effect/turf_decal/syndicateemblem/middle/left{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"aE" = ( +/obj/structure/frame/computer, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"aG" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"aL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"aM" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"aO" = ( +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -4; + pixel_y = 0 + }, +/obj/effect/spawner/random/trash/botanical_waste, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"aQ" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/shreds{ + pixel_x = -3; + pixel_y = 0 + }, +/obj/item/shard/plastitanium{ + pixel_x = 5; + pixel_y = -4 + }, +/turf/open/floor/plating/wasteplanet{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"aR" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = -21 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"aV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"aX" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"aY" = ( +/obj/structure/dresser{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/purple, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"aZ" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercorner, +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercorner{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"bc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 25; + pixel_y = -9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"bd" = ( +/obj/machinery/deepfryer, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"be" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"bh" = ( +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/salvage/half, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"bj" = ( +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"bo" = ( +/obj/structure/salvageable/computer{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"bp" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = -1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 1 + }, +/obj/machinery/fax/frontiersmen, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"bz" = ( +/obj/effect/turf_decal/industrial/warning/dust/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"bG" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"bH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals, +/turf/open/floor/plasteel/freezer, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"bN" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/suit/space/hardsuit/security/independent/frontier, +/obj/machinery/suit_storage_unit/inherit, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"bO" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"bP" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"bQ" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 10 + }, +/obj/effect/turf_decal/dept/cargo{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"bR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 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, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"bS" = ( +/obj/structure/table/chem, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/medical/supplies, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"bT" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercee{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 2 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"bU" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 5 + }, +/obj/machinery/power/smes/engineering{ + input_level = 200000; + output_level = 200000 + }, +/obj/structure/cable{ + icon_state = "0-10" + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"bV" = ( +/obj/effect/turf_decal/industrial/warning/dust, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"bW" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"bX" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"bY" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"cc" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ce" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"cg" = ( +/obj/effect/turf_decal/syndicateemblem/middle/middle{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"ch" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ck" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"cm" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 10 + }, +/obj/machinery/photocopier, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"cn" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/end, +/obj/effect/turf_decal/weather, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"cr" = ( +/obj/machinery/light/directional/north, +/obj/item/bedsheet/syndie{ + pixel_y = 14 + }, +/obj/item/bedsheet/syndie, +/obj/effect/spawner/bunk_bed, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"cw" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"cx" = ( +/obj/item/reagent_containers/food/snacks/bait/worm, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 9; + pixel_y = -13 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -13; + pixel_y = -13 + }, +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/organ/liver/plasmaman{ + pixel_x = 4; + pixel_y = 6 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"cy" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"cz" = ( +/obj/machinery/door/airlock/medical{ + dir = 4; + name = "Locker Room" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/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/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"cA" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"cB" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"cC" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"cD" = ( +/obj/structure/table/chem, +/obj/item/storage/belt/medical/webbing/frontiersmen/surgery, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/machinery/light/dim/directional/south, +/obj/item/paper{ + pixel_x = -7; + pixel_y = 8; + default_raw_text = "LEAVE THE FUCKING PILE OF CORPSES ALONE STOP TRYING TO USE IT AS A SURGICAL LOCATION FOR FUCKS SAKE"; + name = "harshly penned note" + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"cE" = ( +/obj/effect/turf_decal/weather, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "floorscorched2" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"cF" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"cH" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"cI" = ( +/obj/item/ammo_casing/spent, +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"cK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"cM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "gib3-old"; + pixel_x = -6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"cN" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/circuit/red/anim, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"cP" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"cR" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"cT" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/dept/medical{ + pixel_x = 0; + pixel_y = 6 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"cU" = ( +/obj/effect/turf_decal/industrial/warning/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"cW" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/effect/turf_decal/corner/opaque/white/border{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"cX" = ( +/obj/structure/fluff/fokoff_sign, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"cY" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"cZ" = ( +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/wasteplanet) +"df" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/door/airlock/vault, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"dg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/supplypod_rubble, +/obj/structure/closet/crate/secure/engineering, +/obj/item/stack/ore/salvage/scrapmetal/twenty, +/obj/item/stack/ore/salvage/scrapmetal/twenty, +/obj/item/stack/ore/salvage/scraptitanium/five, +/obj/item/stack/ore/salvage/scrapsilver, +/obj/item/stack/ore/salvage/scrapsilver, +/obj/item/stack/ore/salvage/scrapplasma, +/obj/item/stack/ore/salvage/scrapbluespace, +/obj/item/stack/ore/salvage/scraptitanium, +/obj/item/stack/ore/salvage/scraptitanium, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"dh" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"dj" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"dl" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"dn" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"do" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"dp" = ( +/obj/structure/sign/warning/radiation/rad_area, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"ds" = ( +/obj/effect/spawner/random/salvage/metal{ + pixel_x = -10; + pixel_y = 5 + }, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "plastitanium_dam2" + }, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"dt" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"dy" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"dA" = ( +/obj/effect/turf_decal/trimline/opaque/lightgrey/filled/line{ + dir = 5 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"dC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/freezer, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"dD" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/end{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/item/toy/beach_ball/holoball{ + pixel_x = 0; + pixel_y = 17 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"dE" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"dG" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"dH" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"dM" = ( +/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/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"dO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"dQ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"dS" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/spawner/random/salvage/metal{ + pixel_x = -5; + pixel_y = 0 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/stack/cable_coil/pink{ + pixel_x = 9; + pixel_y = 12 + }, +/obj/item/wirecutters{ + pixel_x = 11; + pixel_y = 0 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"dW" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"dX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"ed" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"ee" = ( +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology/glass{ + name = "Quarantine" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ef" = ( +/obj/structure/chair/sofa/blue/corpo/left/directional/south, +/obj/item/bedsheet/medical{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercee, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ej" = ( +/obj/effect/turf_decal/techfloor/orange/corner, +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"en" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ep" = ( +/obj/effect/turf_decal/weather, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"er" = ( +/obj/machinery/power/rtg/advanced{ + power_gen = 25000 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "0-10" + }, +/turf/open/floor/plating/catwalk_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"es" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ev" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ex" = ( +/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/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/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/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"eA" = ( +/obj/item/toy/cards/deck/cas, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/money_small, +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/item/spacecash/bundle/c1000, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"eB" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals/neutered, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"eD" = ( +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"eF" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"eI" = ( +/obj/effect/decal/cleanable/blood/footprints, +/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/borderfloorblack, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"eJ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"eM" = ( +/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/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"eO" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Connection Point" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"eR" = ( +/obj/structure/holohoop, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"eS" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"eU" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/industrial/warning/full, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"eW" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/structure/safe/floor, +/obj/item/gun/ballistic/automatic/pistol/asp, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/ammo_box/magazine/m57_39_asp, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/head/radiation, +/obj/item/clothing/suit/radiation, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor7-old" + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1; + pixel_x = 6; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"eX" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"eY" = ( +/obj/structure/holohoop{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fa" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fb" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fc" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"fd" = ( +/obj/structure/bed, +/obj/item/bedsheet/syndie, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/carpet/green, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"ff" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/radiation/waste/intense, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor3-old" + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"fh" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/structure/cable{ + icon_state = "1-2" + }, +/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/west, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"fi" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip4" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fo" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/item/reagent_containers/syringe{ + pixel_x = 0; + pixel_y = 10 + }, +/obj/item/stack/medical/gauze{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip5" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fq" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/end, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ft" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fu" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fw" = ( +/obj/effect/spawner/random/anomaly/waste, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet) +"fA" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fB" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fD" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 25; + pixel_y = -6 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"fG" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"fH" = ( +/obj/structure/fluff/oldturret, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"fI" = ( +/obj/effect/turf_decal/weather, +/obj/structure/cable{ + icon_state = "5-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"fK" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fL" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window, +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"fM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"fO" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"fP" = ( +/obj/structure/fluff/oldturret, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"fR" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 9 + }, +/obj/structure/girder/reinforced, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/salvage/metal{ + pixel_x = -4; + pixel_y = 4 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fT" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"fW" = ( +/obj/effect/turf_decal/arrows{ + pixel_y = -8; + dir = 1 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"fY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"fZ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"gg" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gh" = ( +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "floorscorched1" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gi" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gl" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_cw{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"gp" = ( +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"gq" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"gr" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = -2; + pixel_y = -3; + icon_state = "gib2-old" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"gs" = ( +/obj/structure/girder/reinforced, +/obj/effect/spawner/random/salvage/metal{ + pixel_x = 0; + pixel_y = -5 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gu" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/entertainment/money_small, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"gv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"gw" = ( +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed{ + icon_state = "dirty_mattress" + }, +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -12; + pixel_y = -2 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 13; + pixel_y = 0 + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"gz" = ( +/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/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gB" = ( +/obj/structure/bed, +/obj/item/bedsheet/cosmos, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = 6; + pixel_y = 15 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/carpet/purple, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"gD" = ( +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 25 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"gF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"gJ" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gL" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"gM" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer5{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"gR" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/weather, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gU" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/radiation/waste, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gV" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"gX" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"gZ" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ha" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"hc" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/weather, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered{ + environment_smash = 0 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"he" = ( +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"hg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"hh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercorner, +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercorner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"hi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"hj" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"hl" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = -1 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"hn" = ( +/obj/effect/decal/cleanable/blood/old{ + pixel_x = 11; + pixel_y = -5 + }, +/obj/machinery/light/small/broken/directional/north, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 8 + }, +/obj/machinery/iv_drip, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ho" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"hp" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"hq" = ( +/obj/structure/table_frame, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor5-old" + }, +/obj/machinery/defibrillator_mount{ + pixel_x = 0; + pixel_y = -27 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"hs" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"hv" = ( +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"hw" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"hx" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = -14; + pixel_y = 9 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"hy" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"hB" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"hC" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"hD" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"hE" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"hH" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"hL" = ( +/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/syndiered/border{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"hM" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"hP" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 10 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -10; + pixel_y = -23 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = 0 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"hU" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"hW" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"hX" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/machinery/light/broken/directional/north, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"hZ" = ( +/obj/effect/turf_decal/syndicateemblem/middle/right{ + dir = 8 + }, +/obj/effect/turf_decal/syndicateemblem/bottom/middle, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"ia" = ( +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"id" = ( +/obj/effect/turf_decal/road/line/opaque/syndiered{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"ie" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ii" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ij" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ik" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_cw{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"il" = ( +/mob/living/simple_animal/hostile/human/frontier/internals{ + environment_smash = 0 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"io" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"ip" = ( +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"iy" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"iB" = ( +/obj/effect/turf_decal/weather, +/obj/structure/cable{ + icon_state = "4-10" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"iC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"iE" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"iG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"iJ" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/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/blood/footprints{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"iO" = ( +/obj/structure/table/chem, +/obj/item/radio/intercom/table{ + dir = 1; + pixel_x = 4; + pixel_y = 9 + }, +/obj/item/radio/headset/syndicate/alt{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter/over_window, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 8 + }, +/obj/item/paper{ + pixel_x = -5; + pixel_y = -8; + default_raw_text = "emg kit is right below u btw incase sensors are right"; + name = "quickly written note" + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"iU" = ( +/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/dark, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"iW" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 8 + }, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"iX" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 6 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ja" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"jd" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/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 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"jh" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "wall_thermite" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ji" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"jj" = ( +/obj/structure/fluff/oldturret, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"jk" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"jq" = ( +/obj/structure/sign/poster/contraband/syndiemoth{ + pixel_x = -32; + desc = "A Syndicate-commissioned poster that uses Syndie Moth(TM?) to tell the viewer to keep the nuclear authentication disk unsecured. It's signed by 'AspEv'." + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mob_spawn/human/corpse/syndicatecaptain, +/turf/open/floor/carpet/green, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"ju" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/wood, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"jv" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"jB" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"jC" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "gib3" + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"jD" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"jE" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"jF" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 9 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"jG" = ( +/obj/machinery/door/poddoor/shutters{ + id = "icwbase" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"jH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer5, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"jI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"jJ" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"jM" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"jQ" = ( +/obj/effect/turf_decal/industrial/stand_clear/red{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"jR" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"jX" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/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, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"jY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"jZ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"kc" = ( +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"kd" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"kg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/radiation/waste, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"km" = ( +/obj/structure/closet/wall/blue/directional/east{ + locked = 1; + secure = 1; + name = "secure cybersun locker" + }, +/obj/item/clothing/under/rank/medical/chief_medical_officer/cybersun, +/obj/item/clothing/under/syndicate/cybersun/research, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = -21; + pixel_y = 11 + }, +/obj/item/clothing/suit/armor/vest/capcarapace/cybersun, +/obj/item/clothing/head/beret/cmo/cybersun, +/turf/open/floor/carpet/purple, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"kn" = ( +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -7; + pixel_y = -3 + }, +/obj/effect/spawner/random/trash/grime, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ko" = ( +/obj/effect/turf_decal/industrial/warning/dust, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kp" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/radiation/waste/intense, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ks" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kt" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ku" = ( +/turf/closed/wall/mineral/plastitanium, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kx" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"kA" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kB" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/weather, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kG" = ( +/obj/structure/cable, +/obj/machinery/porta_turret/ship/frontiersmen{ + reqpower = 0; + faction = list("Frontiersmen"); + dir = 5 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"kH" = ( +/obj/effect/turf_decal/industrial/warning/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kI" = ( +/obj/effect/turf_decal/road/line/opaque/syndiered{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"kJ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kN" = ( +/obj/effect/turf_decal/weather, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kO" = ( +/obj/effect/turf_decal/weather, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kS" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip5" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"kT" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"kU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"kY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/vault, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"ld" = ( +/obj/effect/turf_decal/syndicateemblem/middle/middle, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/structure/girder/reinforced, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/salvage/metal{ + pixel_x = 2; + pixel_y = -5 + }, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "damaged5" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"lk" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ll" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ln" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"lo" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"lp" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/button/shieldwallgen{ + dir = 1; + pixel_x = 4; + pixel_y = -25; + id = "icwbaseholo" + }, +/obj/machinery/button/door{ + dir = 1; + id = "icwbase"; + name = "Cargo Bay Shutters"; + pixel_x = -5; + pixel_y = -27 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"lr" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"lt" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"lx" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ly" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"lz" = ( +/obj/effect/turf_decal/industrial/warning/dust/corner, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"lB" = ( +/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/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"lF" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/structure/girder/reinforced, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"lG" = ( +/obj/structure/chair/office/dark, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"lJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"lK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorwhite, +/obj/structure/filingcabinet/double/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"lM" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/tool/sydnie, +/obj/effect/spawner/random/engineering, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/north, +/obj/structure/cable{ + icon_state = "5-8" + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"lN" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"lO" = ( +/obj/structure/table/chem, +/obj/machinery/chem_press, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"lQ" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/west, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"lT" = ( +/obj/structure/sign/warning/biohazard, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"lU" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"lY" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"ma" = ( +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mc" = ( +/obj/machinery/light/directional/north, +/obj/item/storage/firstaid/radiation, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/clothing/head/radiation, +/obj/item/clothing/head/radiation, +/obj/item/clothing/suit/radiation, +/obj/item/clothing/suit/radiation, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/structure/closet/radiation/empty, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"me" = ( +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mg" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mi" = ( +/obj/effect/radiation/waste, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mm" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + 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 = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mo" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mq" = ( +/obj/structure/closet/secure_closet/freezer{ + anchored = 1; + name = "refrigerator" + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"ms" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/virology{ + dir = 4; + name = "Treatment Center" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"mt" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/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/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mv" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"mw" = ( +/obj/effect/turf_decal/industrial/warning/dust, +/obj/machinery/light/dim/directional/south, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mz" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"mC" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mD" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mE" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/obj/effect/decal/cleanable/blood/footprints, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"mF" = ( +/obj/structure/urinal{ + dir = 4; + pixel_x = -18; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"mG" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mK" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/effect/spawner/random/entertainment/arcade, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"mN" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/dim/directional/north, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered{ + environment_smash = 0 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mP" = ( +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -11; + pixel_y = 1 + }, +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mR" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"mS" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mT" = ( +/obj/structure/table/chem, +/obj/structure/sink/chem, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"mW" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"mY" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/light/dim/directional/east, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nb" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ne" = ( +/obj/structure/salvageable/machine, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"nf" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered{ + environment_smash = 0 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"ng" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 25 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"ni" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"nk" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/porta_turret/ship/frontiersmen{ + reqpower = 0; + faction = list("Frontiersmen") + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"nn" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 6 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"nq" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/trimline/opaque/syndiered/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/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/item/stack/ore/salvage/scrapsilver{ + pixel_x = -6; + pixel_y = -5 + }, +/obj/item/stack/ore/salvage/scraptitanium{ + pixel_x = 3; + pixel_y = -1 + }, +/obj/item/stack/ore/salvage/scrapuranium{ + pixel_x = -8; + pixel_y = 6 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = 14; + pixel_y = 15 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"nx" = ( +/obj/structure/salvageable/computer, +/obj/item/paper{ + pixel_x = -7; + pixel_y = -6; + name = "printed diary"; + default_raw_text = "New Watch (it's digital so I can read it) 23:09/ 13/09/505 Everything's coming up Frontie, baby. We're all moved in, now. We've got a solid hideout, the moat acidity isn't neutralizing, and the place is more or less good enough for us. Our stick-ups and tricks are paying off enough that we got enough material to get the place more or less good enough to live in full-time. Still not enough to rip up the corposhit, but oh well. Omar says enough good luck like this means we'll be able to get better material in another month or two, unless things get lean, again.Kit and I are more or less official, now. I let her proofread these for spelling mistakes, too (thanks, Kit). I lifted a better mattress so we're both sleeping better, too. Auhkra thinks she can futz with the telecommunications shit in here to get on pirate lines (talk to other Fronties and mercs out here), and on pirate networks (pirate more shit to watch and files). Kit's welding work is, in her words, 'way better now that she's got a girl friend', so patch jobs are getting better, too. Saying and writing is bad luck, but I think we're gonna be alright." + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"nz" = ( +/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{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nA" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nE" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nG" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nI" = ( +/obj/structure/fluff/paper/stack{ + pixel_x = -7; + pixel_y = -15 + }, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/item/paper/crumpled/bloody{ + name = "bloody scrawlings"; + pixel_x = -8; + pixel_y = 3; + default_raw_text = "While this list of potential viable testers are, for now, mostly for preliminary tests, they all share a primary function: low cellular adaptability, and high potential rejection rates for cybernetic rejection. Both of these, of course, are primary concerns for our company and clientele, but from our close workers who have ingratiated us with their work, we are nearing a latchkey discovery. The potential for bioadapative prosthetics and augmentations that are grown, not made, inches ever closer to becoming reality. We need only wait for our colleagues to bear fruit -- and in a manner of speaking, 'birth' their viable product. A brighter future under both suns, I suppose." + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = -21; + pixel_y = 11 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/carpet/purple, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"nJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nL" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nS" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nT" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nW" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"nY" = ( +/obj/structure/fluff/paper/stack{ + dir = 5; + pixel_y = -9; + layer = 2.89; + pixel_x = -1 + }, +/obj/item/documents/syndicate/cybersun/biodynamics{ + desc = "\"Top Secret\" Cybersun Biodynamics documents. A vast majority of the confidential documents require years of investment in internal code terms, prerequisite information and debriefings, and a bare minimum of a doctorate in biomechanical science. What can be gathered is a list of patients designated as potentially viable for the project in question, making notes of each patient's physiology in minute detail, down to their ability to accept nondescript terms for in-house medical procedures. While otherwise impenetrable, there is a personal note from a researcher involved in much less technical, more personal dialogue in Kalixcian Common. These documents are verified with a teal wax seal. These seem to be a decade old."; + name = "Cybersun research notes"; + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/documents/syndicate/cybersun/biodynamics{ + desc = "\"Top Secret\" Cybersun Biodynamics documents. A vast majority of the confidential documents require years of investment in internal code terms, prerequisite information and debriefings, and a bare minimum of a doctorate in biomechanical science. What can be gathered is a list of patients designated as potentially viable for the project in question, making notes of each patient's physiology in minute detail, down to their ability to accept nondescript terms for in-house medical procedures. While otherwise impenetrable, there is a personal note from a researcher involved in much less technical, more personal dialogue in Kalixcian Common. These documents are verified with a teal wax seal. These seem to be a decade old."; + pixel_x = 8; + pixel_y = -12 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/turf/open/floor/carpet/purple, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"oa" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/borderfull, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 8 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = -21 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"of" = ( +/obj/structure/table, +/obj/item/cutting_board, +/obj/machinery/smartfridge/food{ + dir = 8; + pixel_x = 22; + pixel_y = 0 + }, +/obj/item/melee/knife/butcher, +/obj/effect/turf_decal/corner/opaque/white/border{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"oi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"oj" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/item/ammo_casing/spent, +/obj/structure/girder/wasteworld, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ol" = ( +/obj/structure/filingcabinet/double/grey{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/diagonal, +/obj/effect/turf_decal/corner/opaque/cybersunteal/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"on" = ( +/obj/effect/turf_decal/weather, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"oo" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = -1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/pipedispenser, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"op" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"oq" = ( +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology/glass{ + name = "Quarantine" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ot" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/decal/cleanable/blood/squirt, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/carpet/green, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"ou" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"ov" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"oE" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"oF" = ( +/obj/structure/salvageable/computer, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"oH" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"oJ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/item/gun/ballistic/automatic/assault/skm, +/obj/structure/safe, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"oL" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/middle{ + dir = 1 + }, +/obj/effect/turf_decal/syndicateemblem/middle/left{ + dir = 1 + }, +/obj/effect/turf_decal/syndicateemblem/middle/left{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/salvageable/computer{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"oN" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"oO" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercorner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercorner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"oR" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 1 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"oS" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/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/airlock/grunge{ + name = "Connection Point" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"oU" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/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 = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"oZ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pc" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_cw, +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"pd" = ( +/obj/effect/decal/cleanable/blood/old{ + pixel_x = -7; + pixel_y = 9; + icon_state = "gib2-old" + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor6" + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"pf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ph" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorblack, +/obj/item/stack/ore/salvage/scrapgold{ + pixel_x = -10; + pixel_y = -13 + }, +/obj/item/stack/ore/salvage/scrapgold{ + pixel_x = 10; + pixel_y = 5 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"pi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/corner/opaque/white/border{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"pj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "floorscorched1" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = 10; + pixel_y = 17; + icon_state = "gib2-old" + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 10 + }, +/obj/item/melee/knife/survival{ + pixel_x = -4; + pixel_y = 9 + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"pm" = ( +/obj/structure/salvageable/machine, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"pp" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pq" = ( +/obj/effect/spawner/random/trash, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 11; + pixel_y = -4 + }, +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pr" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 6; + pixel_y = -7 + }, +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "gib1-old"; + pixel_x = -3; + pixel_y = -6 + }, +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/generic, +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/organ/ears/cat{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/organ/tail/lizard{ + pixel_x = 9; + pixel_y = -10 + }, +/obj/item/storage/case{ + pixel_x = 9; + pixel_y = -11 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"ps" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor5-old" + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"pu" = ( +/obj/machinery/telecomms/bus, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"pw" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"pB" = ( +/obj/effect/turf_decal/arrows{ + pixel_y = -8; + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pC" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 10 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology/glass{ + name = "Quarantine" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"pD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter{ + environment_smash = 0 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"pE" = ( +/obj/structure/table/wood/fancy/purple, +/obj/item/folder/syndicate{ + icon_state = "folder_sred"; + pixel_x = 6; + pixel_y = 1 + }, +/obj/effect/spawner/random/bureaucracy/pen, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/purple, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"pF" = ( +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pI" = ( +/obj/structure/table/chem, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/spawner/random/medical/supplies, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"pL" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"pM" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/structure/girder/displaced, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/salvage/metal{ + pixel_x = -6; + pixel_y = 2 + }, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "damaged5" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pN" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pQ" = ( +/obj/machinery/button/crematorium{ + dir = 1; + pixel_x = 0; + pixel_y = -21 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"pT" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pU" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/weather, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/door/airlock/vault, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"pW" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/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, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"pX" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pY" = ( +/obj/effect/decal/cleanable/robot_debris/gib, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"pZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"qa" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"qb" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/weather, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qd" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = -1 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/effect/spawner/random/decoration, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"qe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercorner{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercorner{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"qh" = ( +/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/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qk" = ( +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qn" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"qr" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/weather, +/obj/structure/cable{ + icon_state = "2-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/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qs" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/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/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qt" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"qw" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter/over_window, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Connection Point" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"qz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/supplypod_rubble, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qD" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qE" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 25 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"qF" = ( +/obj/machinery/light/directional/north, +/obj/structure/table/chem, +/obj/machinery/microwave, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"qH" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/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/trimline/opaque/syndiered/filled/line{ + dir = 9 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qI" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 9 + }, +/obj/structure/table/chem, +/obj/item/clothing/neck/stethoscope, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"qK" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qN" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qP" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"qR" = ( +/obj/structure/chair/wood, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"qT" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 6 + }, +/obj/effect/turf_decal/dept/cargo{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"qW" = ( +/obj/structure/chair/office/dark, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"qY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ra" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = -21 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"rb" = ( +/obj/effect/turf_decal/industrial/warning/dust, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"re" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/machinery/holopad/secure, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"rf" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"rh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/medical{ + name = "Treatment Bay" + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"rl" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/structure/girder/displaced, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ro" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 5 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"rp" = ( +/obj/item/soap/syndie, +/obj/effect/decal/cleanable/dirt, +/obj/item/gun/ballistic/automatic/pistol/himehabu{ + spawn_no_ammo = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/carpet/green, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"rr" = ( +/obj/structure/table, +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/turf_decal/corner/opaque/white/border{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"rs" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"rB" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"rE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"rF" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"rH" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"rI" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/colocup/lean, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"rJ" = ( +/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/syndiered/border{ + pixel_x = 0; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"rL" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1; + pixel_x = 0; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"rN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"rP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = 6; + pixel_y = 15 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + 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 = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"rT" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"rV" = ( +/obj/effect/spawner/random/salvage/metal{ + pixel_x = 6; + pixel_y = 3 + }, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "plastitanium_dam5" + }, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"rY" = ( +/obj/structure/chair/comfy/orange/corpo/directional, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/gibs, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = 3; + pixel_y = 10; + icon_state = "floor6-old" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/cybersunmedicaldirector, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/carpet/green, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"sb" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + piping_layer = 2; + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"sf" = ( +/obj/effect/spawner/random/trash, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"sg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/medical{ + name = "Treatment Bay" + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"si" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"so" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercee{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 2 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 25 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"sp" = ( +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"sq" = ( +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"st" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/machinery/door/airlock/grunge{ + name = "Connection Point" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"sv" = ( +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"sz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"sA" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"sB" = ( +/obj/effect/turf_decal/corner/opaque/white/border, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"sD" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/radsuit, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"sE" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"sG" = ( +/obj/structure/chair/comfy/blue/corpo/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"sJ" = ( +/obj/effect/turf_decal/techfloor/orange/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning, +/obj/effect/turf_decal/radiation, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"sK" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/structure/salvageable/computer{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"sL" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"sN" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/porta_turret/ship/frontiersmen{ + reqpower = 0; + faction = list("Frontiersmen"); + dir = 10 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"sS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = -21; + pixel_y = 11 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"sT" = ( +/obj/structure/table/wood/fancy/red_gold, +/obj/item/toy/balloon/syndicate{ + pixel_x = 0; + pixel_y = 4 + }, +/obj/item/toy/cards/deck/syndicate{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/effect/spawner/random/entertainment/cigarette, +/obj/effect/spawner/random/entertainment/money_small, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"sU" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"sX" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/money_small, +/obj/effect/spawner/random/entertainment/lighter, +/obj/effect/spawner/random/entertainment/cigar, +/obj/machinery/jukebox/boombox{ + pixel_x = -5; + pixel_y = -7 + }, +/obj/item/toy/cards/deck/cas/black, +/obj/item/paper{ + default_raw_text = "03:29 / 24/11/505 We haven't seen any vessel track in weeks. We've been running lean for a while, now. Whatever ships that do come by jump on seeing us, or have us outgunned. Connie's dead after the last raid, and the vessel we bounced was on dire straits, too. Cherry and Urna'rix don't seem like they're gonna recover from that raid after the shots they took, either.Riksi says we're not going to make the end of the next month for rations and supplies unless something changes, and we've had to give up on fixing any new parts of the place. We're just spending material on keeping what we have together, now.Kit's been getting half of my rations, but I don't know how I can keep doing that much longer. I'm the muscle, and I'm getting too weak to focus. We need a turnaround. We're cutting off patrols and going back to just hiding on the surface until we get a signal of someone entering in. I can only fucking hope."; + pixel_x = -13; + pixel_y = 9; + name = "diary page" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/item/spacecash/bundle/c100, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"sY" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"sZ" = ( +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"te" = ( +/obj/item/clothing/head/helmet/bulletproof/x11/frontier, +/obj/item/clothing/head/helmet/bulletproof/x11/frontier, +/obj/item/clothing/head/helmet/bulletproof/x11/frontier/fireproof, +/obj/item/clothing/mask/gas/frontiersmen, +/obj/item/clothing/mask/gas/frontiersmen, +/obj/item/clothing/mask/gas/frontiersmen, +/obj/item/clothing/suit/armor/frontier/fireproof, +/obj/item/clothing/under/frontiersmen/fireproof, +/obj/item/clothing/under/frontiersmen, +/obj/item/clothing/under/frontiersmen, +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/suit/armor/vest/frontier, +/obj/item/clothing/suit/armor/vest/frontier, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/closet{ + icon_state = "syndicate"; + name = "Armour" + }, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"tg" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"tl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"tr" = ( +/obj/machinery/light/directional/north, +/obj/structure/fluff/empty_cryostasis_sleeper{ + name = "Non-functional Experimental Lifeform Stasis Unit"; + desc = "A not so comfortable looking bed with some nozzles at the top and bottom. It will keep someone in stasis. It seems like it has been sitting here for ages. This one seems to be broken, and has been rendered non-functional by age and wear." + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ts" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"tu" = ( +/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, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"tv" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"tw" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"tx" = ( +/obj/effect/turf_decal/techfloor/orange/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"ty" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 10 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"tC" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"tD" = ( +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"tE" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"tF" = ( +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "wall_thermite" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"tI" = ( +/obj/machinery/door/airlock/medical{ + name = "Morgue"; + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"tL" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 5 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"tM" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"tN" = ( +/obj/effect/spawner/random/salvage/half, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"tQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"tT" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"tU" = ( +/obj/effect/decal/cleanable/food/flour, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/white/border, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"tX" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"tY" = ( +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"tZ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"ud" = ( +/obj/effect/decal/cleanable/robot_debris/gib{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/effect/spawner/random/salvage/half, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"uf" = ( +/obj/machinery/smartfridge/chemistry{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ug" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"uh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"uj" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"uk" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/old, +/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/ruin/wasteplanet/wasteplanet_icwbase/hab) +"um" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 5 + }, +/obj/effect/decal/cleanable/glass/plastitanium, +/obj/machinery/light/small/broken/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"un" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"us" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ut" = ( +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"uu" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"uA" = ( +/obj/structure/fluff/oldturret, +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"uJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"uK" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = 3; + pixel_y = -10; + icon_state = "floor6-old" + }, +/obj/effect/decal/cleanable/shreds, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"uM" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "damaged5" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"uO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/salvage/half, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"uR" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"uS" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"uV" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"uZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"va" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/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 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/obj/machinery/door/airlock/vault, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"ve" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vg" = ( +/obj/effect/radiation/waste/intense, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vi" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"vk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vl" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vm" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vn" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/curtain/cloth/grey, +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"vq" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/broken/directional/north, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vs" = ( +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -5; + pixel_y = -3 + }, +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vw" = ( +/obj/effect/turf_decal/industrial/warning/dust, +/obj/effect/supplypod_rubble, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vB" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vF" = ( +/obj/effect/turf_decal/syndicateemblem/top/right{ + dir = 8 + }, +/obj/effect/turf_decal/syndicateemblem/middle/right{ + dir = 4 + }, +/obj/effect/turf_decal/syndicateemblem/middle/left{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/salvageable/computer{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"vH" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/structure/girder/displaced, +/obj/effect/spawner/random/salvage/metal{ + pixel_x = -2; + pixel_y = -3 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vJ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/oil, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -10; + pixel_y = -7 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = 10; + pixel_y = 13 + }, +/obj/item/weldingtool/electric{ + pixel_x = 9; + pixel_y = -8 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = -4; + pixel_y = 12 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vL" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"vQ" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/structure/table/chem, +/obj/effect/spawner/random/medical/minor_healing, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"vS" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"vT" = ( +/obj/item/wheelchair, +/obj/item/wheelchair{ + pixel_x = 0; + pixel_y = 7 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/structure/rack, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"vV" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = -10; + pixel_y = 15 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"vY" = ( +/obj/structure/urinal{ + dir = 4; + pixel_x = -18; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"wa" = ( +/obj/item/radio/intercom/wideband/table{ + dir = 1; + pixel_x = -4; + pixel_y = 9 + }, +/obj/item/radio/headset/syndicate/alt{ + pixel_x = 6; + pixel_y = 7 + }, +/obj/structure/table/chem, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"wd" = ( +/obj/structure/chair/sofa/red/corpo/right/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 5 + }, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"wf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed{ + icon_state = "dirty_mattress" + }, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = -9; + pixel_y = 11; + icon_state = "floor6-old" + }, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/effect/mob_spawn/human/corpse/cybersunfieldmedic, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -11; + pixel_y = 7 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 12; + pixel_y = 2 + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"wg" = ( +/obj/structure/fluff/oldturret, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"wl" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/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/ruin/wasteplanet/wasteplanet_icwbase/hab) +"wm" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"wo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"wp" = ( +/obj/effect/decal/cleanable/robot_debris/gib{ + pixel_x = -4; + pixel_y = 18 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/spawner/random/salvage/half, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"wq" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"wr" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"wt" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"wu" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/virology{ + dir = 4; + name = "Isolation Lab" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"wv" = ( +/obj/effect/turf_decal/syndicateemblem/top/right{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/girder/reinforced, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"wy" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"wB" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"wE" = ( +/obj/structure/table/chem, +/obj/machinery/chem_press, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"wH" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"wL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"wN" = ( +/obj/effect/turf_decal/weather, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"wT" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"wU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/window/brigdoor/northleft, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"wX" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"wY" = ( +/obj/structure/dresser{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/green, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"xc" = ( +/obj/effect/turf_decal/weather, +/obj/effect/supplypod_rubble, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xf" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xg" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/item/broken_missile{ + pixel_x = -5; + pixel_y = -11 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xh" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xi" = ( +/obj/machinery/door/airlock/freezer{ + dir = 4; + name = "Freezer" + }, +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"xm" = ( +/obj/structure/salvageable/machine, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"xn" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"xr" = ( +/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/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xt" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xu" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/stand_clear/red, +/obj/effect/turf_decal/road/line/edge/transparent/syndiered{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"xv" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 6 + }, +/obj/structure/closet/secure_closet/freezer{ + name = "fridge" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"xx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"xA" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"xB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"xD" = ( +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"xE" = ( +/obj/structure/girder/reinforced, +/obj/effect/spawner/random/salvage/metal{ + pixel_x = 9; + pixel_y = -3 + }, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "damaged5" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xF" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/salvage/half, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"xG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters{ + id = "icwbase" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"xH" = ( +/obj/effect/turf_decal/weather, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "damaged4" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xL" = ( +/obj/effect/spawner/random/trash{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xM" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 9 + }, +/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/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"xP" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"xQ" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xR" = ( +/obj/effect/radiation/waste, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xV" = ( +/obj/effect/turf_decal/weather, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/external, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"xX" = ( +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + dir = 8; + id = "icwbaseholo"; + locked = 1 + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/poddoor/shutters{ + id = "icwbase" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"xY" = ( +/obj/effect/spawner/random/salvage/half, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"xZ" = ( +/obj/machinery/telecomms/receiver, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"ya" = ( +/obj/structure/bed{ + icon_state = "dirty_mattress" + }, +/obj/effect/mob_spawn/human/corpse/vigilitasprivatetroopercorpse, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -7; + pixel_y = -4 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"yb" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ye" = ( +/obj/structure/frame, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"yf" = ( +/turf/open/water/acid, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"yk" = ( +/obj/effect/decal/cleanable/robot_debris/gib, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/salvage/half, +/obj/structure/girder/displaced, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"yl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/bordercorner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"yn" = ( +/obj/structure/closet/crate/rations, +/obj/effect/turf_decal/road/line/edge/transparent/syndiered{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"yq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/mine, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"yr" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ys" = ( +/obj/effect/supplypod_rubble, +/obj/structure/closet/crate/secure/engineering, +/obj/item/stack/ore/salvage/scrapmetal/twenty, +/obj/item/stack/ore/salvage/scrapmetal/twenty, +/obj/item/stack/ore/salvage/scraptitanium/five, +/obj/item/stack/ore/salvage/scrapsilver, +/obj/item/stack/ore/salvage/scrapsilver, +/obj/item/stack/ore/salvage/scrapplasma, +/obj/item/stack/ore/salvage/scrapgold/five, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"yt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/rtg/advanced{ + power_gen = 25000 + }, +/turf/open/floor/plating/catwalk_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"yw" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/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/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"yz" = ( +/obj/effect/turf_decal/industrial/warning/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"yA" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"yG" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"yH" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/structure/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"yK" = ( +/obj/machinery/button/shieldwallgen{ + pixel_x = 9; + pixel_y = -12; + id = "icwbaseholo" + }, +/obj/machinery/button/door{ + id = "icwbase"; + name = "Cargo Bay Shutters"; + pixel_x = -1; + pixel_y = -11 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"yL" = ( +/obj/machinery/light/broken/directional/north, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"yM" = ( +/obj/effect/spawner/random/trash, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"yN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 25 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"yR" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"yX" = ( +/obj/structure/falsewall/plastitanium, +/obj/effect/decal/cleanable/blood/splatter/over_window, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"za" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"zb" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/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 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"zf" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/weather, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"zh" = ( +/obj/structure/closet/secure_closet/freezer{ + anchored = 1; + name = "refrigerator" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/freezer, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"zj" = ( +/obj/machinery/computer/security/wooden_tv, +/obj/structure/table/wood, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"zk" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"zm" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/porta_turret/ship/frontiersmen{ + reqpower = 0; + faction = list("Frontiersmen") + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"zp" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_cw{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/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, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"zs" = ( +/obj/structure/chair/sofa/red/corpo/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"zt" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"zu" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"zv" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"zx" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"zy" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/dim/directional/west, +/obj/structure/door_assembly/door_assembly_grunge, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"zz" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/obj/effect/radiation/waste/intense, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"zA" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"zD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"zF" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"zH" = ( +/obj/structure/girder/reinforced, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"zJ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/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/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"zL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"zP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"zR" = ( +/obj/structure/chair/sofa/red/corpo/left/directional/north, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"zT" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"zU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/spawner/random/structure/crate_abandoned, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"zW" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 9 + }, +/obj/structure/rack, +/obj/item/chair/plastic, +/obj/item/chair/plastic{ + pixel_x = 0; + pixel_y = 3 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"zX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Aa" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/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/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/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/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Ad" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Ae" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ag" = ( +/obj/structure/table/wood/fancy/green, +/obj/item/folder/syndicate{ + icon_state = "folder_sred"; + pixel_x = 4; + pixel_y = 1 + }, +/obj/effect/spawner/random/bureaucracy/pen, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 8 + }, +/turf/open/floor/carpet/green, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Ah" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/white/border{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Ak" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 25; + pixel_y = -6 + }, +/obj/effect/spawner/random/entertainment/money_small, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"An" = ( +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/porta_turret/ship/frontiersmen{ + reqpower = 0; + faction = list("Frontiersmen") + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"Ao" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"As" = ( +/obj/effect/decal/cleanable/blood/footprints, +/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, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Au" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Av" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning{ + dir = 2 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Ax" = ( +/obj/item/bedsheet/syndie{ + pixel_y = 14 + }, +/obj/item/bedsheet/syndie, +/obj/effect/spawner/bunk_bed, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"AA" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/right{ + dir = 8 + }, +/obj/effect/turf_decal/syndicateemblem/middle/left{ + dir = 1 + }, +/obj/effect/turf_decal/syndicateemblem/middle/right{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"AC" = ( +/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, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_box/magazine/m57_39_asp/empty, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"AE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"AH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"AL" = ( +/obj/structure/table/chem, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 4 + }, +/obj/effect/spawner/random/medical/chem_jug, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"AM" = ( +/obj/structure/girder/wasteworld, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"AN" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"AO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed{ + icon_state = "dirty_mattress" + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/mob_spawn/human/corpse/syndicatesoldier, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 4; + pixel_y = -9 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -8; + pixel_y = 5 + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"AR" = ( +/obj/structure/closet/crate/chem, +/obj/item/reagent_containers/glass/chem_jug/hydrogen, +/obj/item/reagent_containers/glass/chem_jug/hydrogen, +/obj/item/reagent_containers/glass/chem_jug/hydrogen, +/obj/effect/turf_decal/road/line/edge/transparent/syndiered{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"AS" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"AV" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"AX" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"AY" = ( +/obj/effect/spawner/random/trash, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Bb" = ( +/obj/effect/decal/cleanable/blood/footprints, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Bd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/carpet/purple, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Bh" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder/wasteworld, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Bl" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/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/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Bs" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/mob/living/simple_animal/hostile/human/frontier/internals, +/obj/effect/decal/cleanable/oil, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = 5; + pixel_y = 4 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Bv" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Bw" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Bx" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"BA" = ( +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"BD" = ( +/obj/structure/salvageable/machine, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"BE" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"BG" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/structure/toilet{ + pixel_y = 12 + }, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"BI" = ( +/obj/structure/dresser, +/obj/structure/bedsheetbin{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"BJ" = ( +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"BM" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"BN" = ( +/obj/structure/bodycontainer/crematorium{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"BO" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"BQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = 6; + pixel_y = 15 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/structure/filingcabinet/double/grey, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"BS" = ( +/obj/effect/supplypod_rubble, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"BW" = ( +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"BZ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Cb" = ( +/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 = 10 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Cc" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Cd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed{ + icon_state = "dirty_mattress" + }, +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = 11; + pixel_y = -5 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -9; + pixel_y = -6 + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Cg" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ci" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ck" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 5 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2, +/obj/effect/spawner/random/medical/supplies, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Cp" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Cr" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Cu" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Cy" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 10 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"CA" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"CC" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"CD" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = -1 + }, +/obj/machinery/light/dim/directional/south, +/obj/structure/closet/crate/secure/loot, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"CE" = ( +/obj/structure/girder/displaced, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mob_spawn/human/corpse/nanotrasenassaultsoldier, +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 2 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"CJ" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"CM" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/large{ + name = "emergency scrubbing unit crate" + }, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"CP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"CR" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"CS" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee{ + dir = 1 + }, +/obj/structure/chair/office/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor7-old" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor6-old"; + pixel_x = -16; + pixel_y = 15 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1; + pixel_x = 5; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/blood/innards, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -10; + pixel_y = -23 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"CT" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = -1 + }, +/obj/item/paper_bin/carbon{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/paper_bin{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/effect/spawner/random/bureaucracy/pen{ + pixel_x = -7; + pixel_y = 9 + }, +/obj/effect/spawner/random/bureaucracy/pen{ + pixel_x = 6; + pixel_y = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"CU" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = -1 + }, +/obj/structure/table/glass, +/obj/item/cutting_board, +/obj/item/melee/knife/kitchen{ + pixel_x = -4; + pixel_y = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"CX" = ( +/obj/structure/salvageable/machine, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scrapgold{ + pixel_x = -4; + pixel_y = 7 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"CY" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"CZ" = ( +/obj/effect/turf_decal/trimline/opaque/lightgrey/filled/line{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Dh" = ( +/obj/structure/closet/crate/grave/loot, +/obj/item/gun/energy/e_gun/empty_cell, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip5" + }, +/obj/effect/mob_spawn/human/corpse/vigilitasprivatetroopercorpse, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"Dj" = ( +/obj/structure/closet/crate/secure/engineering{ + name = "replacement supplies" + }, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/mineral/plastitanium/fifty, +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/plastic/five, +/obj/item/wallframe/advanced_airlock_controller, +/obj/item/wallframe/advanced_airlock_controller, +/obj/item/wallframe/advanced_airlock_controller, +/obj/item/wallframe/apc, +/obj/item/wallframe/apc, +/obj/item/wallframe/apc, +/obj/item/wallframe/airalarm, +/obj/item/wallframe/airalarm, +/obj/item/wallframe/airalarm, +/obj/item/stack/cable_coil/red, +/obj/item/stack/cable_coil/red, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Do" = ( +/obj/effect/spawner/bunk_bed, +/obj/item/bedsheet/syndie, +/obj/item/bedsheet/syndie{ + pixel_y = 14 + }, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Dp" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Dq" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/middle{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Ds" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Dt" = ( +/obj/effect/turf_decal/weather, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Dw" = ( +/obj/effect/turf_decal/weather, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Dy" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Dz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"DC" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"DE" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"DF" = ( +/obj/effect/turf_decal/syndicateemblem/middle/left{ + dir = 8 + }, +/obj/effect/turf_decal/syndicateemblem/bottom/middle{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"DH" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"DL" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"DO" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"DQ" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"DR" = ( +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"DT" = ( +/obj/machinery/sleeper/syndie, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"DW" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"DX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"DY" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"DZ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/stand_clear/red, +/obj/effect/turf_decal/road/line/edge/transparent/syndiered, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Eb" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/suit_storage_unit/radsuit, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Ec" = ( +/obj/machinery/disposal/bin, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/structure/sign/warning/deathsposal{ + pixel_x = 0; + pixel_y = -30 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Eg" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/left{ + dir = 8 + }, +/obj/effect/turf_decal/syndicateemblem/middle/right{ + dir = 8 + }, +/obj/effect/turf_decal/syndicateemblem/middle/right{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Eh" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"Ei" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"El" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/dirt, +/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/airlock/grunge{ + name = "Connection Point" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"En" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Ep" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/item/stack/ore/salvage/scrapgold{ + pixel_x = 5; + pixel_y = 9 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"Ev" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/obj/structure/bed/roller, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"EE" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/caution/red{ + 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 = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"EG" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/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/machinery/light/broken/directional/north, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"EJ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_cw{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"EK" = ( +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet) +"EO" = ( +/obj/structure/chair/sofa/red/corpo/corner/directional/west, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 6 + }, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"EP" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 10 + }, +/obj/structure/safe, +/obj/item/gun/ballistic/automatic/smg/sidewinder/no_mag, +/obj/item/ammo_box/magazine/m57_39_sidewinder/empty, +/obj/item/ammo_box/magazine/m57_39_sidewinder/empty, +/obj/item/clothing/head/helmet/syndie, +/obj/item/clothing/head/helmet/syndie, +/obj/item/clothing/suit/armor/vest/syndie, +/obj/item/clothing/suit/armor/vest/syndie, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"ER" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ES" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"EU" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"EW" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/grunge{ + name = "Connection Point" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"EX" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"EZ" = ( +/obj/machinery/telecomms/relay/preset/frontiersmen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"Fc" = ( +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet) +"Ff" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Fg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Fj" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 10 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Fl" = ( +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Fp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Fs" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Fu" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/syndi/cybersun/paramed, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning{ + dir = 2 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Fv" = ( +/obj/structure/chair/wood, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered{ + name = "Kitt" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Fy" = ( +/obj/structure/table/chem, +/obj/item/surgicaldrill{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"FA" = ( +/obj/effect/turf_decal/weather, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "damaged5" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"FB" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"FC" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"FI" = ( +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"FL" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"FP" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/structure/closet/crate/solarpanel_small, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"FS" = ( +/obj/structure/chair/comfy/orange/corpo/directional, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = -21; + pixel_y = 11 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/purple, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"FV" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"FY" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Gb" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Gg" = ( +/obj/structure/closet/crate/grave/loot, +/obj/effect/mob_spawn/human/corpse/vigilitasprivatetroopercorpse, +/obj/item/gun/energy/e_gun/smg, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"Gi" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 5 + }, +/obj/structure/table, +/obj/machinery/microwave, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Gj" = ( +/obj/structure/fluff/oldturret, +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Gk" = ( +/obj/effect/turf_decal/arrows{ + pixel_y = -8; + dir = 1 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Gm" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/industrial/warning/full, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Gp" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Gq" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/item/storage/bottles/moonshine/sealed{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/item/storage/bottles/moonshine/sealed{ + pixel_x = 3; + pixel_y = -3 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Gt" = ( +/obj/item/gps/computer{ + pixel_x = 0; + pixel_y = -17; + name = "degraded GPS system"; + gpstag = "F-HQ" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 9 + }, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"Gu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Gy" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Gz" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"GG" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"GJ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = -1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"GL" = ( +/obj/effect/turf_decal/industrial/outline/blue, +/obj/machinery/hydroponics/constructable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"GM" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"GN" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = -11; + pixel_y = 7; + icon_state = "floor6-old" + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"GP" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"GQ" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/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, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"GS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"GU" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"GW" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"GX" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + 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{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/weather, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"GY" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/industrial/outline/blue, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Ha" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Hb" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/door_assembly/door_assembly_ext, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Hc" = ( +/obj/effect/radiation/waste/intense, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Hd" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Hh" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Hm" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Hn" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ho" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 9 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Hr" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/weather, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Hs" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning{ + dir = 2 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Hu" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Hv" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Hw" = ( +/obj/structure/kitchenspike, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -11; + pixel_y = 16 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -9; + pixel_y = -4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "gib1-old"; + pixel_x = -3; + pixel_y = -6 + }, +/obj/effect/decal/cleanable/garbage, +/obj/effect/gibspawner/human/bodypartless, +/obj/effect/mob_spawn/human/corpse/damaged, +/turf/open/floor/plasteel/freezer, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"HA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"HD" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/borderfull, +/obj/machinery/light/directional/north, +/obj/item/storage/firstaid/radiation, +/obj/item/storage/firstaid/toxin, +/obj/structure/rack, +/obj/item/radio/weather_monitor, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"HE" = ( +/turf/template_noop, +/area/template_noop) +"HK" = ( +/obj/machinery/vending/cigarette/syndicate, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 9 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"HM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/salvage/half, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"HN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"HP" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"HS" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/dim/directional/east, +/obj/structure/closet/crate/medical, +/obj/effect/spawner/random/medical/medkit, +/obj/effect/spawner/random/medical/medkit, +/obj/effect/spawner/random/medical/medkit, +/obj/effect/spawner/random/medical/beaker, +/obj/effect/spawner/random/medical/beaker, +/obj/effect/spawner/random/medical/chem_jug, +/obj/effect/spawner/random/medical/supplies, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"HV" = ( +/obj/effect/gibspawner/human/bodypartless, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -7; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "gib5-old"; + pixel_x = 1; + pixel_y = 14; + dir = 4 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/mob_spawn/human/corpse/syndicatesoldier, +/obj/effect/decal/cleanable/garbage, +/obj/item/organ/heart{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/organ/moth_wings{ + pixel_x = 9; + pixel_y = -3 + }, +/obj/item/organ/lungs{ + pixel_x = 1; + pixel_y = 18 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"HW" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/mecha_wreckage/ripley/mkii, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"HY" = ( +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/machinery/porta_turret/ship/frontiersmen/heavy{ + faction = list("Frontiersmen") + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"Ib" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Bathroom" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/firedoor, +/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, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Ie" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ig" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 2 + }, +/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/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"Il" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"In" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-4" + }, +/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/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Is" = ( +/turf/open/water/tar/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Iu" = ( +/obj/structure/table/optable, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Iv" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ix" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Iy" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"IA" = ( +/obj/structure/cable{ + icon_state = "0-6" + }, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "damaged4" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ID" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/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/machinery/door/airlock/grunge{ + dir = 4; + name = "Connection Point" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"IE" = ( +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "floorscorched2" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"IG" = ( +/obj/effect/decal/cleanable/blood/footprints, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"IK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"IM" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"IO" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/end{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"IP" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercee{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"IQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"IT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor3-old" + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"IW" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_cw{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"IX" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/radiation/waste, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"IY" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered{ + environment_smash = 0 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"IZ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Jc" = ( +/obj/machinery/chem_master, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Je" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Jg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Jh" = ( +/obj/effect/decal/cleanable/robot_debris/gib, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ji" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Jl" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/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/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Jo" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Jq" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"Js" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Jx" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Jz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -11; + pixel_y = 1 + }, +/obj/item/stack/ore/salvage/scrapsilver/five{ + pixel_x = 8; + pixel_y = -1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"JA" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Habitation" + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"JF" = ( +/obj/structure/table/wood/fancy/red_gold, +/obj/item/toy/eightball, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/spacecash/bundle/c100, +/obj/item/spacecash/bundle/c10, +/obj/item/spacecash/bundle/c1, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"JG" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/middle{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/structure/salvageable/machine, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"JI" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/caution/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/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/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"JM" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor6-old"; + pixel_x = -3; + pixel_y = -6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/ammo_casing/spent, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"JR" = ( +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"JT" = ( +/obj/structure/fluff/oldturret, +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"JW" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ka" = ( +/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/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Kb" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Kf" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/generic, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Kk" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Kl" = ( +/obj/effect/turf_decal/road/line/opaque/syndiered{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Kn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/structure/filingcabinet/double/grey, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Ko" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = -10; + pixel_y = 15 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + 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 = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 9 + }, +/obj/structure/flippedtable{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Kp" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ks" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercorner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/bordercorner, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1; + pixel_x = 7; + pixel_y = 0 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark{ + pixel_x = 0; + pixel_y = 0 + }, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"Ku" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 9 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"Kw" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Kx" = ( +/obj/effect/spawner/random/salvage/metal{ + pixel_x = 7; + pixel_y = -8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"KA" = ( +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"KB" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercorner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"KC" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/obj/structure/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"KE" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/structure/salvageable/computer{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/splatter/over_window, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"KF" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = -1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/bordercorner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"KG" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"KI" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/structure/chair/plastic, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = 11; + pixel_y = -5 + }, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = -11; + pixel_y = 7; + icon_state = "floor6-old" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"KL" = ( +/obj/effect/turf_decal/syndicateemblem/middle/middle{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/spawner/random/salvage/metal{ + pixel_x = -5; + pixel_y = 0 + }, +/obj/machinery/light/broken/directional/east, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"KM" = ( +/obj/machinery/iv_drip, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"KN" = ( +/obj/effect/turf_decal/weather, +/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer5{ + dir = 9 + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"KO" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"KP" = ( +/obj/effect/spawner/random/trash, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = 9; + pixel_y = 8 + }, +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"KQ" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/effect/radiation/waste/intense, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"KT" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"KV" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/obj/structure/chair/sofa/blue/corpo/right/directional/east, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"KW" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"KX" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 9 + }, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"KY" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"KZ" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 5 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"La" = ( +/obj/effect/turf_decal/corner/opaque/white/border{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Lc" = ( +/obj/structure/closet/wall/red/directional/west{ + locked = 1; + secure = 1; + name = "secure syndicate locker" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/suit/armor/vest/capcarapace/syndicate, +/obj/item/documents/syndicate{ + desc = "\"Top Secret\" documents from the ICW, dated over a decade past. The bulk of these pages are filled with codewords and ciphers, but in the many pages on pages of spilled papers, the rough message behind these is that this base was setup as an ACLF and Cybersun joint operation, with the last recorded transmission signal code being underlined in heavy red ink." + }, +/obj/item/clothing/suit/armor/vest/syndie, +/obj/item/clothing/head/helmet/syndie, +/obj/item/clothing/under/syndicate, +/turf/open/floor/carpet/green, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Le" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 4 + }, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Lf" = ( +/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/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Li" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Lk" = ( +/obj/structure/girder/displaced, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Lp" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Lu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Lw" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"Lz" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"LE" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"LI" = ( +/obj/effect/turf_decal/industrial/warning/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"LK" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"LM" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"LP" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "5-10" + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"LQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/structure/filingcabinet/double/grey, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"LR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 2 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"LW" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Mb" = ( +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Mh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Ml" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "gib5-old"; + pixel_x = 1; + pixel_y = 14; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/spawner/random/medical/patient_stretcher, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Mo" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Mq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Mr" = ( +/obj/structure/fluff/paper/stack, +/obj/structure/sign/poster/contraband/cybersun{ + pixel_x = 31; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/carpet/purple, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Ms" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Mv" = ( +/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, +/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, +/obj/item/ammo_box/magazine/m57_39_asp/empty, +/obj/effect/decal/cleanable/blood/drip, +/obj/structure/flippedtable, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Mw" = ( +/obj/effect/turf_decal/techfloor/orange/corner, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning, +/obj/effect/turf_decal/radiation, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Mz" = ( +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"MA" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"MC" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/porta_turret/ship/frontiersmen{ + reqpower = 0; + faction = list("Frontiersmen"); + dir = 10 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"MD" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ME" = ( +/obj/structure/table/chem, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/medical/supplies, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ML" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/industrial/warning/full, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"MN" = ( +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + dir = 4; + id = "icwbaseholo"; + locked = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "icwbase" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"MO" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"MQ" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"MS" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"MU" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/radsuit, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"MW" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Na" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 5 + }, +/obj/structure/table/chem, +/obj/effect/spawner/random/medical/minor_healing, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Nb" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/spawner/random/medical/patient_stretcher, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Nc" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor7-old" + }, +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/shreds, +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Nd" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Nf" = ( +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ng" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"Nh" = ( +/obj/effect/decal/cleanable/blood/footprints, +/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 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Ni" = ( +/obj/structure/closet/crate/secure/engineering{ + name = "replacement supplies" + }, +/obj/item/wallframe/light_switch, +/obj/item/wallframe/light_switch, +/obj/item/wallframe/light_switch, +/obj/item/wallframe/light_fixture/small, +/obj/item/wallframe/light_fixture/small, +/obj/item/wallframe/light_fixture/small, +/obj/item/wallframe/light_fixture/small, +/obj/item/wallframe/light_fixture/small, +/obj/item/wallframe/light_fixture, +/obj/item/wallframe/light_fixture, +/obj/item/wallframe/light_fixture, +/obj/item/wallframe/light_fixture, +/obj/item/wallframe/light_fixture, +/obj/item/wallframe/light_fixture, +/obj/item/wallframe/intercom, +/obj/item/wallframe/intercom, +/obj/item/wallframe/intercom, +/obj/item/wallframe/extinguisher_cabinet, +/obj/item/wallframe/extinguisher_cabinet, +/obj/item/wallframe/firealarm, +/obj/item/wallframe/firealarm, +/obj/item/wallframe/firealarm, +/obj/item/wallframe/button, +/obj/item/wallframe/button, +/obj/item/wallframe/button, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Nj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"No" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 5 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Np" = ( +/obj/effect/decal/cleanable/robot_debris/down, +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder/displaced, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Nq" = ( +/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/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ns" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"Nx" = ( +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Nz" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"NC" = ( +/obj/effect/turf_decal/borderfloorwhite/full, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"ND" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"NG" = ( +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"NK" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 2 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"NO" = ( +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"NS" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/ammo_casing/spent, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"NV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/carpet/green, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"NW" = ( +/obj/effect/decal/cleanable/blood/footprints, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"NX" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 9 + }, +/obj/machinery/power/smes/engineering{ + input_level = 200000; + output_level = 200000 + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"NY" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "6-9" + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"NZ" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Oa" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Oe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Of" = ( +/obj/structure/chair/sofa/red/corpo/directional/west, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/gibs/old, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Og" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"Oj" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"On" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"Oo" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/pizza/dank, +/obj/item/melee/knife/pizza_cutter{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/effect/turf_decal/corner/opaque/white/border{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Op" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 25; + pixel_y = -6 + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Ot" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ov" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "damaged3" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ow" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"OE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"OI" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"OJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"OK" = ( +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"OM" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/item/flamethrower, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/structure/closet/crate/secure/weapon{ + anchored = 1 + }, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"OO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = 13; + pixel_y = -3 + }, +/obj/item/multitool{ + pixel_x = -10; + pixel_y = -6 + }, +/obj/item/stack/ore/salvage/scrapbluespace{ + pixel_x = -8; + pixel_y = 10 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"OR" = ( +/obj/effect/turf_decal/industrial/warning/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/supplypod_rubble, +/obj/structure/closet/crate/secure/weapon, +/obj/item/storage/box/ammo/c22lr, +/obj/item/storage/box/ammo/c22lr, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"OS" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 10 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"OU" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"OY" = ( +/obj/structure/closet/crate/secure/weapon{ + anchored = 1 + }, +/obj/item/storage/belt/security/military/frontiersmen/flamer, +/obj/item/storage/belt/security/military/frontiersmen/skm_ammo, +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_box/magazine/skm_762_40/empty, +/obj/item/ammo_box/magazine/skm_762_40/empty, +/obj/item/ammo_box/magazine/c22lr_pounder_pan, +/obj/item/ammo_box/magazine/c22lr_pounder_pan, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"OZ" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Pe" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Pi" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"Pj" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Pk" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Pn" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"Po" = ( +/obj/effect/decal/cleanable/blood/footprints, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Pq" = ( +/obj/structure/girder/displaced, +/obj/effect/spawner/random/salvage/metal{ + pixel_x = -8; + pixel_y = 9 + }, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Pr" = ( +/obj/effect/turf_decal/trimline/opaque/lightgrey/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ps" = ( +/obj/effect/decal/cleanable/generic, +/obj/item/stack/rods{ + pixel_x = 9; + pixel_y = 5 + }, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Pv" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Py" = ( +/obj/effect/spawner/random/salvage/half, +/turf/open/water/tar/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"PA" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer5{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"PC" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"PD" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/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 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"PE" = ( +/obj/structure/fluff/oldturret, +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"PG" = ( +/obj/structure/table/chem, +/obj/structure/sink/chem{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"PH" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = -1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"PI" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/machinery/shower{ + pixel_y = 19 + }, +/obj/effect/turf_decal/techfloor/hole, +/obj/effect/turf_decal/techfloor/hole/right, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"PJ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"PO" = ( +/obj/effect/spawner/random/salvage/half, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"PS" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"PU" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"PY" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window, +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"PZ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Qd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercorner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercorner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Qf" = ( +/obj/structure/closet/secure_closet/medical3{ + populate = 0 + }, +/obj/item/clothing/suit/toggle/labcoat/raincoat, +/obj/item/clothing/head/soft/cybersun/medical, +/obj/item/clothing/under/syndicate/cybersun, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/suit/radiation, +/obj/item/clothing/head/radiation, +/obj/effect/spawner/random/medical/minor_healing, +/obj/effect/spawner/random/medical/minor_healing, +/obj/item/storage/belt/medical, +/obj/item/borg/sight/hud/med, +/obj/effect/spawner/random/medical/medkit, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning{ + dir = 10 + }, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Qh" = ( +/obj/machinery/iv_drip, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Qj" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Qm" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Qn" = ( +/obj/effect/turf_decal/trimline/opaque/lightgrey/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Qp" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/broken/directional/west, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/internals/neutered{ + environment_smash = 0 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Qr" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Qt" = ( +/obj/effect/decal/cleanable/blood/footprints, +/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/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Qv" = ( +/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/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Qy" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Qz" = ( +/obj/effect/radiation/waste/intense, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"QC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters{ + id = "icwbase" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"QE" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"QH" = ( +/obj/structure/table/chem, +/obj/structure/sign/departments/chemistry/pharmacy{ + pixel_x = 0; + pixel_y = -30 + }, +/obj/machinery/reagentgrinder{ + pixel_y = 10; + pixel_x = 0 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"QL" = ( +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/grunge{ + name = "Private Quarters" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"QO" = ( +/obj/effect/turf_decal/syndicateemblem/middle/left{ + dir = 8 + }, +/obj/effect/turf_decal/syndicateemblem/bottom/middle{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/girder/reinforced, +/obj/effect/spawner/random/salvage/metal{ + pixel_x = -6; + pixel_y = -4 + }, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"QT" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"QU" = ( +/obj/structure/chair/comfy/blue/corpo/directional/west, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"QW" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"QZ" = ( +/obj/structure/firelock_frame, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Ra" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Rb" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/blood/footprints{ + 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/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Rd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 6 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 5 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Re" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Rf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = -10; + pixel_y = 15 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Rg" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Rh" = ( +/obj/structure/bed/double, +/obj/item/bedsheet/double/grey, +/obj/item/paper/crumpled/bloody{ + pixel_x = 8; + pixel_y = -4; + name = "diary page"; + default_raw_text = "Watch Broke-It's a Wednesday, I'm pretty sure you know what year it is, Kit, and I know you read my fucking diary. We've been in this spot for three weeks, now. I'm starting to think this safehouse is really going to work out. Laying low here was something I chose over shooting myself when I saw the range of planet options to hide out on short notice, but this place is starting to really grow on me. Omar thinks we can start refurnishing the place. Throw out the corporate crap and start putting some real nice stuff in. The big hard drive Auhkra-Dux has that's full of pirated movies and shows still works, and she promised she'd get one of the old screens working so we can do movie nights, just like the old days. I'm getting a list put down for furniture to gnab and jam in here. And fuck you, Kit. You're lucky I let you sleep in my bed for being so nosey. Love you too." + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Rn" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ro" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Rr" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Rs" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Rw" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"Rx" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"RB" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 10 + }, +/obj/item/gun/ballistic/automatic/smg/pounder, +/obj/effect/decal/cleanable/dirt, +/obj/structure/safe, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"RD" = ( +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"RG" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"RH" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"RJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"RN" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"RP" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"RW" = ( +/obj/structure/flippedtable{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"RY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + 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 = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Sa" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Sc" = ( +/obj/structure/girder/wasteworld, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Sd" = ( +/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/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Se" = ( +/obj/machinery/smartfridge/chemistry/virology{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Sf" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + piping_layer = 2; + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Sg" = ( +/obj/structure/closet/crate/trashcart, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Sh" = ( +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Sn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/radiation/waste, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"So" = ( +/obj/structure/table/optable, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor5-old" + }, +/obj/machinery/defibrillator_mount{ + pixel_x = 0; + pixel_y = 27 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Sp" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals{ + environment_smash = 0 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Sr" = ( +/obj/structure/closet/secure_closet/freezer/fridge/open, +/obj/effect/turf_decal/corner/opaque/cybersunteal/bordercee, +/obj/item/food/breadslice/moldy, +/obj/item/food/breadslice/moldy, +/obj/item/reagent_containers/food/drinks/bottle/moonshine, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"St" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor5-old" + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 8 + }, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Sv" = ( +/obj/effect/turf_decal/syndicateemblem/top/middle{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/salvageable/computer{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/broken/directional/east, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Sz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"SA" = ( +/obj/effect/turf_decal/syndicateemblem/top/left{ + dir = 8 + }, +/obj/effect/turf_decal/syndicateemblem/middle/left, +/obj/effect/turf_decal/syndicateemblem/middle/right{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/salvageable/computer{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"SC" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 10 + }, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"SD" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"SH" = ( +/obj/effect/turf_decal/weather, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"SI" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"SJ" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 5 + }, +/obj/effect/turf_decal/weather, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"SK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"SL" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"SO" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/dept/medical{ + pixel_x = 0; + pixel_y = 6 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"SQ" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"ST" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer5{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"SU" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/poddoor/shutters{ + id = "icwbase" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"SV" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "gib5-old"; + pixel_x = 0; + pixel_y = 0; + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + 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/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Tc" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Td" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Tf" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_cw, +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Tg" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Th" = ( +/obj/item/shovel{ + pixel_x = 0; + pixel_y = 13 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Tl" = ( +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Tm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Tr" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ts" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Tt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Tu" = ( +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 4 + }, +/obj/structure/salvageable/server, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"Tv" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Tw" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Tx" = ( +/obj/effect/decal/cleanable/blood/footprints, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Tz" = ( +/obj/structure/chair/wood, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"TD" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate_abandoned, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"TE" = ( +/obj/structure/table/survival_pod, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/security{ + icon_state = "tcstation"; + pixel_x = 3; + pixel_y = 8 + }, +/turf/open/floor/vault, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"TF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"TJ" = ( +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -10; + pixel_y = -23 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"TL" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"TM" = ( +/obj/effect/spawner/random/salvage/metal, +/obj/effect/decal/cleanable/blood/gibs/old{ + pixel_x = -18; + pixel_y = 16 + }, +/obj/effect/decal/cleanable/blood/innards{ + pixel_y = 6; + pixel_x = 5 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "bubblegumfoot"; + pixel_x = -13; + pixel_y = -18 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 2 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"TN" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + 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 = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"TP" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"TQ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"TR" = ( +/obj/effect/spawner/random/maintenance, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"TS" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"TT" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/large{ + name = "emergency air pump" + }, +/obj/machinery/portable_atmospherics/pump, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"TU" = ( +/obj/effect/decal/cleanable/ash/crematorium, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Uc" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Ud" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ue" = ( +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Uh" = ( +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Um" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "platingdmg3" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Un" = ( +/obj/effect/decal/cleanable/blood/old{ + pixel_x = -7; + pixel_y = 9; + icon_state = "gib2-old" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Up" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/weather, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ur" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Uu" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Uv" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "vomit_2-old" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Uz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2, +/obj/item/bedsheet/syndie{ + pixel_y = 14 + }, +/obj/item/bedsheet/syndie, +/obj/effect/spawner/bunk_bed, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"UD" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/structure/safe, +/obj/item/spacecash/bundle/loadsamoney, +/obj/item/spacecash/bundle/c1000, +/obj/item/spacecash/bundle/c1000, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"UE" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"UL" = ( +/obj/structure/table/chem, +/obj/structure/salvageable/machine{ + pixel_x = 0; + pixel_y = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"UO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"UP" = ( +/obj/structure/salvageable/machine, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"UR" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/porta_turret/ship/frontiersmen{ + reqpower = 0; + faction = list("Frontiersmen"); + dir = 1 + }, +/turf/open/floor/plating/wasteplanet{ + icon_state = "panelscorched" + }, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"UV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer5{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "floorscorched1" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"UW" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"UZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Va" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Vc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Vd" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Vg" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/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 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Vh" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/decal/cleanable/dirt, +/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 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Vi" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/bordercorner{ + dir = 8 + }, +/obj/effect/spawner/random/salvage/metal{ + pixel_x = 11; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = 3; + pixel_y = -10; + icon_state = "floor6-old" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/salvageable/destructive_analyzer{ + name = "broken laser drill" + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"Vj" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Vk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/radiation/waste, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Vn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Vq" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Vr" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Vs" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Vu" = ( +/obj/effect/decal/cleanable/robot_debris/up, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder/displaced, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Vv" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Vy" = ( +/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/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"VC" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"VD" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 9 + }, +/obj/structure/chair/sofa/blue/corpo/corner/directional/east, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"VE" = ( +/obj/machinery/light/directional/north, +/obj/machinery/stasis/survival_pod{ + name = "Experimental Lifeform Stasis Unit"; + desc = "A not so comfortable looking bed with some nozzles at the top and bottom. It will keep someone in stasis. It seems like it has been sitting here for ages." + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"VF" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"VH" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/industrial/outline/blue, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"VJ" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"VN" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"VP" = ( +/obj/effect/spawner/random/salvage/half, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"VQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/effect/spawner/random/medical/patient_stretcher, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"VU" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 9 + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"VW" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer5{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"VX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate_abandoned, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"VZ" = ( +/obj/effect/turf_decal/industrial/stand_clear/red{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Wb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/door/airlock/vault, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/vault) +"Wc" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_cw{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"We" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor7-old" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Wf" = ( +/obj/effect/turf_decal/road/line/opaque/syndiered{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Wg" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Wj" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = -21 + }, +/obj/effect/decal/cleanable/shreds{ + pixel_x = -4; + pixel_y = -8 + }, +/obj/effect/decal/cleanable/generic{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet{ + icon_state = "damaged3" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Wk" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = -1 + }, +/obj/structure/salvageable/autolathe, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Wm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/poddoor/shutters{ + id = "icwbase" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"Wn" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/mineral/plastitanium, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Wp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 10 + }, +/obj/structure/closet/secure_closet/medical3{ + populate = 0; + name = "Medical Supplies" + }, +/obj/item/storage/firstaid/radiation, +/obj/item/storage/firstaid/advanced, +/obj/effect/spawner/random/medical/minor_healing, +/obj/effect/spawner/random/medical/minor_healing, +/obj/effect/spawner/random/medical/minor_healing, +/obj/effect/spawner/random/medical/supplies, +/obj/effect/spawner/random/medical/supplies, +/obj/effect/spawner/random/medical/supplies, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Wr" = ( +/obj/effect/turf_decal/corner/opaque/cybersunteal/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/border, +/obj/effect/decal/cleanable/blood/footprints{ + 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{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Wt" = ( +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"WB" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/porta_turret/ship/frontiersmen{ + reqpower = 0; + faction = list("Frontiersmen"); + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"WD" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"WE" = ( +/obj/structure/urinal{ + dir = 4; + pixel_x = -18; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"WF" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 4 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"WG" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"WH" = ( +/obj/structure/closet/crate/grave/loot, +/obj/item/gun/energy/e_gun/smg, +/obj/effect/mob_spawn/human/corpse/vigilitasprivatetroopercorpse, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"WJ" = ( +/obj/effect/decal/cleanable/dirt, +/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 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"WM" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/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 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"WO" = ( +/obj/effect/spawner/random/structure/crate_abandoned, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"WP" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"WQ" = ( +/obj/effect/turf_decal/weather, +/obj/effect/spawner/random/salvage/half, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"WR" = ( +/obj/effect/turf_decal/weather, +/obj/effect/spawner/random/salvage/half, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"WT" = ( +/obj/structure/closet/crate/chem, +/obj/item/reagent_containers/glass/chem_jug/potassium, +/obj/item/reagent_containers/glass/chem_jug/potassium, +/obj/item/reagent_containers/glass/chem_jug/potassium, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"WU" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, +/obj/effect/turf_decal/trimline/opaque/syndiered/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/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"WV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"WY" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Xa" = ( +/obj/machinery/telecomms/message_server, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"Xc" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Xf" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Xh" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/entertainment/money_small, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Xi" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/eng) +"Xj" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/generic, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -7; + pixel_y = -8 + }, +/obj/item/stack/rods{ + pixel_x = 7; + pixel_y = 4 + }, +/obj/item/stack/sheet/cotton/cloth/five{ + pixel_x = -5; + pixel_y = 11 + }, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Xk" = ( +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet) +"Xp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder/displaced, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Xr" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Xv" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/corner{ + dir = 8 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Xx" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/structure/chair/plastic, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + pixel_x = 11; + pixel_y = -5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"XI" = ( +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"XM" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"XN" = ( +/obj/effect/turf_decal/weather, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"XP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"XT" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor6-old"; + pixel_x = -11; + pixel_y = 18 + }, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 5 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"XU" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"XV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"XW" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"XY" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/structure/closet/crate/freezer/blood, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Ye" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Yf" = ( +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -4; + pixel_y = -5 + }, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -11; + pixel_y = 16 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/shreds, +/obj/effect/mob_spawn/human/corpse/cybersunfieldmedic, +/obj/item/reagent_containers/food/snacks/bait/worm{ + pixel_x = -11; + pixel_y = 8 + }, +/obj/effect/decal/cleanable/vomit/old, +/obj/item/organ/eyes/compound{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS) +"Yh" = ( +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Yi" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Yj" = ( +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/obj/effect/supplypod_rubble, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Yk" = ( +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/weather, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ym" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer2{ + dir = 1 + }, +/obj/structure/table/chem, +/obj/machinery/computer/med_data/laptop, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Yo" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/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 = "4-8" + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Yp" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Yq" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/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/trimline/opaque/cybersunteal/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/corner, +/obj/machinery/door/window/brigdoor/northleft, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Ys" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/telecomms/server, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"Yt" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Yu" = ( +/obj/machinery/light/small/broken/directional/north, +/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ + dir = 8 + }, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Yz" = ( +/obj/effect/turf_decal/industrial/caution{ + 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 = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 9 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"YA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"YB" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"YK" = ( +/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/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/carpet/red, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"YO" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/middle, +/obj/effect/turf_decal/syndicateemblem/middle/left{ + dir = 4 + }, +/obj/effect/turf_decal/syndicateemblem/middle/right{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium/red/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_icwbase/cic) +"YP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-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/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"YR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"YS" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"YT" = ( +/obj/structure/salvageable/computer, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"YU" = ( +/obj/effect/supplypod_rubble, +/obj/structure/closet/crate/secure/weapon, +/obj/item/storage/box/ammo/a762_40, +/obj/item/storage/box/ammo/a762_40, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"YV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Za" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Zb" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/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 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Zd" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt, +/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/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Zf" = ( +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + pixel_x = 0; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Zk" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Zl" = ( +/obj/effect/turf_decal/weather, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/salvage/half, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Zm" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"Zo" = ( +/obj/machinery/light/directional/west, +/obj/structure/safe, +/obj/item/reagent_containers/syringe/contraband/space_drugs, +/obj/item/reagent_containers/syringe/contraband/space_drugs, +/obj/item/reagent_containers/syringe/contraband/space_drugs, +/obj/item/reagent_containers/syringe/contraband/space_drugs, +/obj/item/gun/syringe/rapidsyringe, +/obj/item/gun/ballistic/automatic/pistol/himehabu{ + spawn_no_ammo = 1 + }, +/obj/item/ammo_box/magazine/m22lr_himehabu, +/obj/item/ammo_box/magazine/m22lr_himehabu, +/obj/item/reagent_containers/syringe/contraband/space_drugs, +/obj/item/reagent_containers/syringe/contraband/space_drugs, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloorblack/corner, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Zr" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Zs" = ( +/obj/effect/turf_decal/borderfloorwhite/corner, +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/ore/salvage/scrapgold/five{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/structure/salvageable/safe_server, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"Zt" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 8 + }, +/obj/structure/chair/plastic{ + desc = "Welcome to the shower"; + dir = 4; + name = "shower chair" + }, +/obj/item/ammo_casing/spent, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"Zw" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Zx" = ( +/obj/machinery/door/airlock/medical{ + name = "Surgery"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/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/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"Zy" = ( +/obj/machinery/telecomms/relay, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni) +"ZA" = ( +/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 = 10 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints, +/turf/open/floor/plasteel/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ZB" = ( +/obj/effect/decal/cleanable/food/flour, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame{ + environment_smash = 0 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"ZD" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 9 + }, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ZE" = ( +/obj/effect/turf_decal/road/line/opaque/syndiered{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/secure/engineering{ + name = "sandbags storage" + }, +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"ZF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/obj/machinery/door/airlock/vault, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1) +"ZG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/airlock/external, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/hab) +"ZH" = ( +/obj/structure/table/chem, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/spawner/random/medical/chem_jug, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ZI" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 4 + }, +/obj/machinery/light/dim/directional/east, +/obj/structure/closet/crate/solarpanel_small, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse) +"ZJ" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/visible/layer2, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ZL" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2"; + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ZO" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "xttrails_1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ZT" = ( +/turf/open/floor/plating/wasteplanet/lit{ + icon_state = "damaged5" + }, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ZW" = ( +/obj/structure/flippedtable{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) +"ZY" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/waste/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ZZ" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun) + +(1,1,1) = {" +HE +HE +HE +HE +HE +EK +EK +EK +EK +HE +HE +HE +HE +EK +EK +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +EK +EK +EK +EK +aw +EK +EK +EK +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +EK +EK +Xk +EK +EK +EK +EK +EK +HE +HE +HE +"} +(2,1,1) = {" +HE +HE +HE +EK +EK +EK +Xk +EK +EK +Xk +EK +EK +EK +EK +EK +EK +EK +EK +aw +EK +HE +HE +HE +HE +HE +HE +EK +EK +EK +aw +EK +EK +EK +EK +aw +EK +EK +EK +EK +HE +HE +HE +HE +HE +HE +HE +HE +EK +EK +EK +EK +EK +EK +EK +EK +EK +EK +HE +HE +"} +(3,1,1) = {" +HE +HE +EK +fw +EK +EK +EK +EK +EK +EK +EK +yf +yf +yf +yf +yf +yf +yf +yf +EK +EK +EK +EK +EK +aw +EK +EK +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +EK +EK +EK +EK +cZ +EK +EK +EK +EK +EK +yf +yf +yf +yf +yf +EK +EK +EK +EK +EK +HE +"} +(4,1,1) = {" +HE +EK +EK +EK +EK +aw +EK +EK +EK +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +EK +EK +Xk +EK +HE +"} +(5,1,1) = {" +HE +EK +EK +EK +EK +EK +EK +EK +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +EK +EK +fw +EK +"} +(6,1,1) = {" +EK +EK +EK +Xk +EK +EK +yf +yf +yf +yf +yf +yf +Nx +Nx +Nx +Nx +Nx +Nx +yf +yf +yf +yf +yf +yf +Nx +Nx +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +EK +EK +EK +"} +(7,1,1) = {" +EK +aw +yf +EK +EK +yf +yf +yf +yf +yf +yf +yf +Nx +Nx +Nx +Nx +Nx +Nx +yf +yf +yf +yf +Nx +Nx +Nx +Nx +Nx +Nx +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +Nx +Nx +Nx +Nx +Nx +Nx +Nx +yf +yf +yf +yf +yf +Nx +Nx +yf +yf +yf +yf +yf +EK +Xk +"} +(8,1,1) = {" +EK +aw +yf +yf +yf +yf +yf +gD +Nx +Nx +Nx +Nx +Nx +Nx +Is +Nx +Nx +Nx +Nx +Nx +gw +Nx +Nx +Nx +Nx +Nx +Nx +sN +Nx +Nx +Nx +Nx +Nx +xR +Nx +Nx +Nx +Nx +Nx +Nx +sN +Nx +Nx +Nx +Nx +Nx +Nx +Nx +gw +Nx +gw +Nx +Nx +yf +yf +yf +yf +EK +EK +"} +(9,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Ho +ND +ND +ND +ND +ND +ND +zz +ND +ND +Cu +ND +ND +ND +ND +OS +Nx +Nx +Nx +Nx +Nx +Nx +Nx +bz +gg +qN +gg +gg +gg +qN +gg +OK +Nx +Nx +Nx +Nx +yf +yf +yf +yf +EK +HE +"} +(10,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +Nx +Nx +Nx +Nx +Nx +Nx +gw +gw +Nx +Mb +Mb +Mb +TQ +TQ +TQ +Mb +Mb +Mb +Mb +DX +Mb +on +TQ +TQ +yz +Nx +Nx +Nx +Nx +Nx +gw +Nx +rb +wg +xD +xD +xD +xD +xD +wg +hy +Nx +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(11,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +Nx +Hc +wN +SH +Nx +VP +ae +gD +ST +Nx +Mb +Mb +pB +on +TQ +XV +TR +on +RD +Nf +YU +Yj +fW +TQ +OR +Nx +Nx +Nx +Nx +Nx +Nx +Nx +LI +xD +Zs +pu +CX +Ys +Tu +xD +jk +Nx +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(12,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +Nx +Nx +gD +SH +WR +Je +Nx +Nx +VW +Nx +WQ +on +Zl +gh +Mb +XM +Mb +Mb +TQ +CP +us +RD +Mb +TQ +cU +Nx +Nx +Nx +Nx +tD +Nx +Nx +kH +xD +NC +OO +nt +Jz +NC +xD +gZ +Nx +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(13,1,1) = {" +EK +EK +EK +yf +yf +yf +Nx +Nx +Nx +gw +SH +Nx +KN +Je +PA +tN +Nx +Nx +Qz +Mb +XM +Mb +on +Mb +TQ +Mb +TQ +fI +Mb +TQ +on +TQ +yz +Nx +Nx +Nx +Nx +Nx +Nx +Nx +kH +xD +xZ +Ep +EZ +ph +xm +xD +gZ +Nx +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(14,1,1) = {" +Xk +EK +EK +yf +yf +Nx +Nx +Nx +Nx +Nx +IE +UV +pj +HM +Nx +Nx +gw +Nx +tD +Mb +Fl +Ue +Mb +Is +xH +RD +iB +Mb +Mb +TQ +RD +ys +yz +Nx +Nx +Nx +Nx +Nx +Nx +Nx +kH +xD +YT +il +Jq +lJ +nf +xD +gZ +Nx +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(15,1,1) = {" +EK +EK +EK +yf +yf +Nx +Nx +Nx +Nx +Nx +wN +gw +Is +jh +jH +BW +gw +Mb +Nx +xY +Je +Is +Is +Is +xc +IE +EX +zm +Mb +TQ +RD +BS +yz +Nx +Nx +Nx +Nx +Nx +Nx +Nx +LI +xD +nx +TF +On +bc +Lw +xD +aB +Nx +gD +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(16,1,1) = {" +EK +EK +EK +yf +yf +Nx +Nx +Nx +Nx +PJ +gw +Is +Py +tF +Is +Is +xY +Is +XN +Is +Is +Is +Is +Is +kN +cE +Mb +Ji +Mb +TQ +TQ +Mb +yz +Nx +gw +Nx +Nx +Nx +Nx +Nx +kH +xD +uV +xD +ZF +xD +wL +wg +gZ +Nx +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(17,1,1) = {" +EK +EK +yf +yf +yf +yf +Nx +Nx +gw +PJ +XM +Is +Is +Is +Je +Is +VP +Is +Is +Is +Mb +Is +IA +FA +DR +RD +Mb +Sn +XV +Mb +TQ +Mb +yz +Nx +lz +tv +iy +wT +wT +wT +hv +Mo +fZ +xD +oa +xD +yR +SD +BJ +Nx +Nx +gD +yf +yf +yf +yf +yf +EK +HE +"} +(18,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +gh +bh +Um +Is +Py +wN +ZT +rs +Is +Is +XN +WQ +DR +DR +on +ep +Fs +Fs +Dt +sU +TQ +TQ +dg +Mb +yz +Nx +bV +fP +KA +KA +KA +KA +KA +KA +tC +cP +kY +xD +Tw +Nx +nk +Kk +Nx +Nx +yf +yf +yf +yf +EK +EK +HE +"} +(19,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +Nx +wN +Um +Yh +gM +vg +gw +PJ +fu +Nx +on +Mb +Mb +RD +Mb +qz +Mb +TQ +on +on +Yj +on +TQ +TQ +yz +Nx +ko +KA +Gt +lU +OM +hB +RB +KA +pN +Pk +IP +Xc +Tr +Kk +Kk +Kk +gw +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(20,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +Nx +gw +PJ +Ov +ZT +gw +WR +XM +Rn +XN +Mb +Mb +Gk +RD +Mb +DX +TQ +Mb +Mb +Mb +Mb +Mb +fW +TQ +cU +Nx +bV +KA +TE +Eh +eB +Ns +OY +KA +RG +GW +WU +Rr +PC +Nx +Nx +Nx +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(21,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +Nx +gw +gw +UR +iC +iC +kO +NG +nG +WQ +Mb +Mb +Mb +TQ +Mb +CP +TQ +Mb +TQ +Mb +TQ +TQ +TQ +Mb +vw +PJ +bV +KA +bN +IM +cN +Rw +oJ +KA +wH +GW +va +vn +wH +Nx +Nx +Nx +Nx +Nx +Nx +yf +yf +yf +EK +HE +HE +"} +(22,1,1) = {" +Xk +EK +EK +yf +yf +yf +yf +Nx +Nx +Nx +gw +ch +VP +Nx +uO +SH +uZ +Mb +dj +dj +KQ +VZ +jQ +wX +dj +dj +CA +CA +CA +dj +dj +dj +iX +PJ +bV +KA +Ng +fD +jX +Pn +FB +KA +wH +GW +va +rF +wH +Nx +xR +Je +Nx +Nx +Nx +yf +yf +yf +aw +HE +HE +"} +(23,1,1) = {" +Xk +EK +aw +yf +yf +yf +yf +Nx +Nx +Nx +uM +IQ +Ot +Ot +nX +Ot +pf +Nx +Nx +Nx +wH +ev +Vv +zX +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +PJ +Kk +mw +KA +te +KA +vd +pV +KA +KA +QW +KC +nq +YS +wH +Nx +Nx +Nx +Nx +Nx +Nx +yf +yf +yf +EK +HE +HE +"} +(24,1,1) = {" +HE +EK +EK +yf +yf +yf +Nx +Nx +Nx +Nx +Nx +uZ +Nx +Nx +Nx +Nx +uZ +Nx +Nx +Nx +wH +ev +aV +ll +PJ +Nx +Nx +Nx +Nx +Nx +Nx +PJ +PJ +Kk +bV +KA +KA +KA +zD +ra +KA +KA +mN +KC +PD +KW +wH +Nx +Nx +Nx +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(25,1,1) = {" +HE +EK +yf +yf +yf +Nx +Nx +Nx +Nx +Nx +Nx +qc +nX +nX +nX +nX +DE +nX +nX +iC +Kb +hx +xg +bG +wH +Hr +wH +wH +wH +wH +wH +wH +wH +QW +wH +wH +wH +KA +df +Wb +KA +wH +wm +GU +nq +KW +wH +wH +QW +QW +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(26,1,1) = {" +HE +EK +yf +yf +yf +Nx +Nx +Nx +Nx +Nx +Nx +uZ +Nx +Nx +Nx +Nx +gD +Nx +Nx +Nx +We +fo +XT +vl +xt +JW +JW +ks +ks +JW +JW +Oj +Oj +WF +xt +JW +JW +Qp +Yz +fa +LW +JW +Oj +CC +Vh +UW +JW +JW +hc +QW +Nx +Nx +yf +yf +yf +yf +EK +EK +HE +"} +(27,1,1) = {" +HE +EK +yf +yf +yf +Nx +Nx +Nx +mW +nX +nJ +ft +gw +Nx +Nx +Nx +Nx +he +Nx +Nx +ll +Iv +ZD +Cg +Hu +Hu +MQ +Hu +Hu +cC +cC +cC +MQ +ov +ov +ov +gJ +JR +qs +Cc +Cc +Vd +Vd +Cc +mm +QT +bX +Fj +yH +QW +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(28,1,1) = {" +HE +EK +EK +yf +yf +yf +Nx +Nx +vk +JT +Ha +Ha +Ha +Ha +Ha +Ha +Ha +Ha +JT +nX +Zw +hU +gi +jd +tu +tu +tu +tu +tu +tu +tu +tu +tu +tu +tu +Ud +Jl +GQ +Ae +nz +nz +nz +nz +nz +Ci +tu +Vg +fA +vm +oZ +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(29,1,1) = {" +HE +HE +EK +yf +yf +yf +yf +Nx +YV +Ha +oF +cK +bo +Ha +VD +KV +Zo +Qf +Ha +yL +wH +hU +qn +Au +Pr +pX +nW +Rs +qK +Qn +Nx +PJ +Nx +Nx +Nx +wm +Ie +ZY +yr +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Yp +Ie +Ur +ll +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(30,1,1) = {" +HE +HE +EK +yf +yf +yf +yf +Nx +uZ +Ha +So +Zk +hq +Ha +ef +oO +LM +Av +Ha +Nx +wH +uS +Gb +kp +CY +RD +cc +nT +RD +zf +Nx +PJ +PJ +Nx +Nx +wm +rT +ZY +yr +Nx +Nx +Kk +Kk +Ei +Nx +Nx +RN +Ie +Ur +ll +Nx +Nx +yf +yf +yf +yf +yf +HE +HE +"} +(31,1,1) = {" +HE +HE +EK +yf +yf +yf +yf +gw +uZ +Ha +Qh +GN +KM +Ha +mT +ln +NK +Fu +Ha +Nx +Hr +jJ +un +Au +eR +IO +cn +dD +fq +eY +Nx +VU +KO +Oa +ia +zk +DC +Lp +yr +Nx +Nx +Kk +HY +Kk +Nx +Nx +RN +mC +Tg +ll +ma +Nx +yf +yf +yf +Sc +gD +rs +gw +"} +(32,1,1) = {" +HE +HE +EK +yf +yf +yf +yf +Nx +uZ +Ha +Fy +gp +cD +Ha +qF +Un +LR +Hs +Ha +Nx +Hr +hU +un +Au +CY +RD +Up +Yk +on +si +Nx +lo +Nx +Nx +PJ +fB +mg +cY +lr +Nx +Nx +Kk +Kk +Re +Nx +Nx +RN +mC +hD +Za +vB +Nx +gw +Sc +Je +Xp +rs +gD +HE +"} +(33,1,1) = {" +HE +HE +Xk +yf +yf +yf +yf +Nx +YV +Ha +Ck +yb +aA +Ha +Sr +KB +nn +Mz +Ha +Nx +wH +hU +Gb +Au +dA +kA +ug +wq +jE +CZ +Nx +lo +mi +Nx +Nx +ho +zA +aQ +Lk +Nx +Sp +Nx +Nx +uZ +Nx +Nx +RN +Ie +at +nA +gz +ii +oj +pY +Np +gw +yq +cX +gw +"} +(34,1,1) = {" +HE +HE +EK +yf +yf +yf +yf +Nx +vk +JT +Ha +Zx +Ha +Ha +Ha +cz +Ha +Ha +Ha +Ha +VC +SO +nS +Au +Nx +he +Nx +Nx +Nx +Nx +he +Ev +en +Nx +Nx +ku +um +Wj +ku +Nx +Nx +Nx +he +ud +dn +Nx +Ix +IX +hM +kJ +eM +xr +tE +yk +vg +AM +Je +gw +gw +"} +(35,1,1) = {" +HE +HE +EK +yf +yf +yf +Nx +Nx +uZ +Nx +Ha +xM +qp +Wp +xB +dM +VQ +ty +Tt +bT +Kw +jF +WM +Sd +Nx +AN +cF +cF +cF +cF +AN +uK +Nc +cF +cF +cF +Vq +fT +cF +cF +cF +cF +cF +PE +wp +Ao +sL +fA +mG +dH +lB +qh +Vu +Jh +Bh +Je +gw +Nx +HE +"} +(36,1,1) = {" +HE +HE +EK +yf +yf +yf +Nx +Nx +uZ +XI +Ha +tQ +mR +gv +rh +zv +WJ +XU +ZZ +Wr +FY +GX +iJ +AN +cF +cF +Eb +sD +MU +af +cF +pr +Yf +cF +zW +Zt +Gz +Aa +Lf +pi +cW +La +GY +cF +qk +tN +Ix +rT +DQ +NS +gw +ii +Sc +gw +gw +yf +yf +Nx +HE +"} +(37,1,1) = {" +HE +HE +EK +yf +yf +yf +Nx +Nx +Kp +kG +Ha +tr +OE +AE +qt +Ml +Zk +lN +uJ +so +ja +KZ +Tm +xV +xx +aL +jY +DH +DH +Rg +cF +cx +HV +fL +KI +Xh +pL +Ka +Vy +rr +bd +tU +VH +cF +Nx +Nx +Ix +rT +IY +nE +Nx +en +yf +yf +yf +yf +gw +Nx +HE +"} +(38,1,1) = {" +HE +EK +EK +yf +yf +yf +Nx +Nx +uZ +Nx +Ha +qI +Il +Nb +Wn +sz +gp +kU +bY +Ha +VC +cT +Yo +ak +yN +ZG +ed +Vc +Jg +yA +cF +cF +cF +wt +Xx +gu +xP +WD +Uh +Oo +ZB +sB +GL +cF +Nx +Nx +Ix +rT +DQ +nE +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(39,1,1) = {" +HE +EK +yf +yf +yf +yf +Nx +Nx +uZ +Nx +Ha +XY +YA +ck +Ha +zL +YB +ay +xA +Ha +pp +zT +MO +AN +cF +cF +Qy +WP +ni +zJ +st +IW +Wc +EW +gr +CJ +gX +Kf +HN +of +mv +Ah +GY +cF +Nx +Nx +Ix +mC +AS +gR +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(40,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +Nx +ff +Nx +Ha +Na +GS +ck +SI +hg +vQ +pI +es +Ha +ll +jD +qD +lk +Nx +cF +HD +hL +Vj +Cb +oS +ik +zp +El +wl +uk +Qt +Jo +tM +io +xi +cF +cF +cF +Is +Nx +Ix +mC +AS +ll +Nx +gw +yf +yf +yf +yf +EK +HE +HE +"} +(41,1,1) = {" +HE +Xk +yf +yf +yf +yf +yf +Nx +uZ +Nx +Ha +VE +az +gq +SI +Ow +Ym +sG +QU +Ha +ll +mC +Tg +YP +Nx +cF +cF +vp +JA +SQ +cF +cF +cF +AN +Gq +wo +cM +uj +Yt +cF +SL +bH +zh +cF +Nx +Nx +Ix +rT +Ur +uZ +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(42,1,1) = {" +HE +Xk +yf +yf +yf +yf +yf +Nx +uZ +Nx +Ha +VJ +oH +tl +SI +gf +wU +pD +hs +Ha +dQ +mC +Tg +DY +Nx +cF +Do +Lu +Cr +TJ +AN +sf +vs +cF +Gi +rI +Ak +SV +GM +cF +Hw +dC +mq +cF +yL +Nx +Ix +rT +Ur +ll +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(43,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +ch +Nx +Ha +DT +lx +XW +sg +ZA +Yq +xn +Uc +Ha +dQ +mC +Ro +sA +Nx +cF +Uz +hC +IK +rJ +cF +aO +AY +cF +cF +cF +AN +qw +eO +cF +cF +cF +cF +PE +iC +nX +sL +hE +mG +bG +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(44,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +uZ +Nx +Ha +Ha +tI +Ha +Wt +lT +ms +lT +Wt +Ha +ll +rT +Ro +DY +Nx +cF +Ax +bO +Qy +Zf +cF +gw +rs +xL +KP +yM +cF +EJ +Tf +cF +Nx +Nx +Nx +Nx +gw +gw +Ix +rT +Ur +ll +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(45,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +uZ +Nx +Ha +BN +uu +Ha +Wt +hi +Qd +Nd +Wt +Ha +vq +jD +Tg +yw +tD +cF +cr +Ps +rf +sv +AN +Je +Je +kn +mP +pq +cF +gl +pc +cF +Nx +Nx +Nx +Nx +Nx +Nx +Ix +mC +AS +ll +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(46,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +uZ +Nx +Ha +TU +pQ +Ha +Wt +qe +fY +aZ +Wt +Ha +ll +jD +Tg +yw +Nx +cF +Rh +Xj +BI +yl +cF +Sg +Nx +cF +cF +cF +AN +ID +eO +AN +cF +cF +cF +cF +PE +rN +eF +zT +mG +bG +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(47,1,1) = {" +EK +Xk +yf +yf +yf +yf +yf +Nx +uZ +XI +Ha +tY +tY +Ha +Wt +No +hh +jR +Wt +Ha +gR +jD +Ro +DY +XI +cF +cF +cF +cF +Ib +cF +Nx +Nx +cF +HK +ce +SC +ha +KG +TL +vi +Tz +JF +aa +cF +MC +mY +AV +Tg +ll +Nx +Nx +yf +yf +yf +yf +Fc +HE +HE +"} +(48,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +vk +nX +JT +Wt +Wt +Wt +bY +Wt +wu +Wt +Wt +Wt +gR +rT +Ro +DY +Nx +cF +mF +WE +vY +fJ +cF +Is +Nx +cF +mK +KX +YK +ex +Hm +vS +En +Hd +hW +hP +cF +cF +AN +jM +Tg +ll +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(49,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +Nx +uZ +Nx +Nx +Wt +AO +rE +oq +Mv +Uv +cI +Ec +Wt +ll +rT +Ro +DY +Nx +cF +BG +Le +tx +ej +cF +Is +Nx +cF +zj +zF +zR +Ad +Dz +Po +Nh +As +eI +gV +aG +fh +zu +qH +Td +QE +MD +MD +ip +yf +yf +yf +EK +EK +HE +"} +(50,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +Nx +uZ +Nx +XI +Wt +iW +be +Zr +AC +Ko +NZ +Iu +Wt +eJ +rT +AS +DY +Nx +cF +PI +kT +fG +PG +cF +Is +Nx +cF +BZ +Pv +zs +ju +eA +YR +Sh +ou +dG +Mh +aL +gE +Dw +RH +Tg +ll +Nx +Nx +Nx +yf +yf +yf +yf +EK +HE +"} +(51,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +Nx +uZ +Nx +Nx +Wt +Ha +Ha +bY +RW +RY +lK +ME +Wt +ll +rT +AS +DY +Nx +cF +cF +cF +cF +cF +cF +Is +Nx +cF +wd +Of +EO +Fv +sX +fO +WG +qR +sT +Jx +cF +cF +AN +EG +Ur +ll +gw +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(52,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +Nx +Kp +nX +kG +Wt +Cd +fg +oq +ZW +rP +fM +vT +Wt +ll +mC +AS +iU +Nx +Nx +Nx +Nx +Nx +me +Nx +Nx +Nx +cF +fL +fL +fL +cF +cF +cF +cF +cF +cF +cF +cF +Nx +mI +Rb +Ur +ll +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(53,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +uZ +Nx +Nx +Wt +hn +IT +Zr +qa +RY +FI +Se +Wt +ll +mC +Tg +Hh +Nx +Nx +gw +gw +Nx +Is +Is +Is +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +BA +Nx +Nx +Nx +Nx +Ix +rT +Ur +ll +Nx +xR +yf +yf +yf +yf +yf +EK +HE +"} +(54,1,1) = {" +EK +EK +yf +yf +yf +yf +yf +Nx +ch +Nx +Nx +Wt +Ha +Ha +bY +Kn +bR +Nj +BD +Wt +ll +Ie +Tg +Hh +Nx +Nx +Nx +Nx +Nx +Nx +Is +Is +Is +Is +Is +Is +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Ix +rT +Ur +ll +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(55,1,1) = {" +HE +cZ +EK +yf +yf +yf +yf +Nx +uZ +Nx +Nx +Wt +gx +iG +oq +oi +sS +jv +Jc +Wt +eJ +jD +Tg +DY +Nx +Nx +gw +Nx +Nx +Nx +Nx +Is +Is +Nx +Nx +Is +Nx +Nx +Uu +tu +Ud +Ud +tu +tu +tu +Ud +Bl +Nz +vm +Qj +Nx +Nx +yf +yf +yf +yf +yf +EK +HE +"} +(56,1,1) = {" +HE +HE +EK +yf +yf +yf +yf +Nx +uZ +Nx +Nx +Wt +St +ps +Zr +oi +oE +qW +bS +Wt +ll +Ie +Tg +AX +bW +zx +Vr +pw +pw +pw +pw +pw +pw +pw +pw +pw +pw +Vr +yr +MS +xQ +rB +rB +rB +hj +rB +hj +OU +AS +tX +nX +wB +yf +yf +yf +yf +yf +EK +HE +"} +(57,1,1) = {" +HE +HE +EK +yf +yf +yf +yf +Nx +uZ +Nx +Nx +Wt +Ha +Ha +bY +LQ +Ds +FI +wE +Wt +ll +Ie +Tg +AX +GP +zx +pw +pw +ye +zy +Hb +QZ +Dj +Ni +lt +TD +tZ +pw +yr +jD +aX +Bx +bX +QT +QT +QT +Bx +Bx +oR +ll +Nx +uZ +Nx +yf +yf +yf +yf +EK +HE +"} +(58,1,1) = {" +HE +HE +EK +yf +yf +yf +yf +pF +kE +UZ +UZ +uR +wf +Vn +ee +qY +ZL +lG +QH +Wt +ll +rT +Tg +ac +lp +Vr +pw +yK +Bv +AH +AH +pZ +sp +WT +ML +kd +Wk +pw +yr +jD +DO +wH +wH +fB +wH +wH +wH +wH +fB +ll +OK +uZ +Nx +yf +yf +yf +yf +EK +HE +"} +(59,1,1) = {" +HE +HE +Xk +yf +yf +yf +yf +Nx +uZ +Nx +Nx +Wt +Yu +ab +Zr +RJ +vV +Rf +pm +Wt +ll +rT +vL +qr +qT +MN +cH +Wm +jB +ts +gF +Ff +Sz +Fp +kx +kd +PH +pw +yr +jD +ES +wr +uA +mz +mz +mz +mz +mz +mz +uA +TS +uZ +Nx +yf +yf +yf +yf +Xk +HE +"} +(60,1,1) = {" +HE +HE +EK +yf +yf +yf +Nx +Nx +uZ +Nx +Nx +Wt +Ha +Ha +bY +BQ +ie +fM +UP +Wt +MW +jD +nb +EE +Cy +xG +Js +QC +DZ +Kl +Kl +Wf +Wf +AR +Gm +VX +hl +pw +yr +jD +fK +wH +mz +mz +ol +ol +ol +ol +ol +mz +xf +uZ +Nx +yf +yf +yf +yf +EK +HE +"} +(61,1,1) = {" +HE +HE +EK +yf +yf +yf +Nx +Nx +dO +Is +Nx +Wt +ya +pl +pC +ij +Rd +Pe +ZH +Wt +dQ +rT +pU +JI +Xr +xG +Vs +jG +xu +id +kI +ZE +id +yn +WO +kd +GJ +pw +yr +jD +fb +tw +mz +tw +Ku +pW +Pi +sY +sY +mz +TS +uZ +Nx +yf +yf +yf +yf +EK +HE +"} +(62,1,1) = {" +HE +HE +EK +yf +yf +yf +Nx +Hc +uZ +Is +XI +Wt +pd +jC +Zr +uf +lO +AL +UL +Wt +FL +yG +sZ +oU +bQ +xX +dy +SU +ji +Mq +HW +zP +OJ +uh +Rx +zU +oo +pw +Zb +hE +cR +IG +hH +IG +mE +Ig +Zm +wa +sK +PY +TS +uZ +Nx +Nx +yf +yf +yf +EK +HE +"} +(63,1,1) = {" +HE +HE +EK +yf +yf +yf +Nx +Nx +uZ +Nx +Nx +fH +Wt +BO +Wt +Wt +Wt +Wt +Wt +Wt +vq +Ie +Ur +Yi +Tv +Vr +pw +Vr +MA +gQ +gQ +gQ +bj +kd +kd +kd +CD +pw +Qv +Iy +Hn +op +qE +aM +ah +JM +Ks +eW +CS +PY +TS +uZ +Nx +Nx +yf +yf +yf +EK +HE +"} +(64,1,1) = {" +HE +HE +EK +yf +yf +yf +yf +Nx +uZ +Nx +Nx +uZ +Nx +Nx +Nx +BA +Nx +Nx +Nx +Nx +ll +jD +Ur +mD +ZJ +Sf +pw +pw +aE +HS +CM +TT +FP +ZI +eU +IZ +Ra +pw +DY +dt +dE +tw +mz +tw +aq +EU +Og +iO +KE +PY +TS +uZ +Nx +Nx +yf +yf +yf +EK +HE +"} +(65,1,1) = {" +HE +EK +EK +yf +yf +yf +yf +Nx +uZ +Nx +gw +ch +Nx +Nx +Nx +Nx +Nx +gD +Nx +Nx +ll +jD +Ur +PS +Qr +sb +Vr +pw +pw +pw +pw +pw +pw +pw +pw +pw +pw +Vr +DY +KT +AS +wH +mz +mz +tL +sY +sY +Zy +Xa +mz +xf +uZ +Nx +Nx +yf +yf +yf +EK +EK +"} +(66,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +Nx +Gp +nX +Fg +Gu +nX +HA +kg +nX +nX +nX +nX +nX +XP +zT +mG +ly +LE +wr +wr +wr +wr +oN +wr +wr +wr +wr +wr +mo +wr +qb +DY +KT +Ur +wH +mz +mz +mz +mz +mz +mz +mz +uA +Gy +WV +Nx +Nx +yf +yf +yf +EK +EK +"} +(67,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +Nx +Nx +Nx +uZ +Nx +Nx +uZ +Nx +gD +Nx +Nx +Nx +Nx +ll +Ie +OZ +kB +sE +JW +Oj +JW +ks +JW +Oj +JW +ks +JW +Oj +Oj +xt +xt +mt +Sa +Ur +wH +TP +TP +ve +TP +TP +TP +TP +TP +An +pf +Nx +yf +yf +yf +yf +EK +EK +"} +(68,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +Nx +Nx +Nx +uZ +Nx +Nx +uZ +Nx +tD +Nx +Nx +Nx +Nx +dl +nL +SJ +vJ +Bs +bP +FC +Hu +MQ +MQ +Tc +cC +PU +cC +cC +MQ +MQ +Hu +TN +Va +Tg +wH +gg +gg +gg +gg +gg +gg +gg +gg +sq +ch +Nx +yf +yf +yf +yf +EK +EK +"} +(69,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +Nx +gD +Nx +uZ +Nx +lz +al +gg +gg +gg +qN +gg +gg +wH +NO +DW +dW +Dy +NO +ER +Nq +ZO +Nq +Nq +Nq +Nq +Nq +Nq +Nq +Nq +Nq +In +GG +Tg +wH +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Gj +TS +uZ +Nx +yf +yf +yf +yf +Xk +EK +"} +(70,1,1) = {" +Xk +EK +yf +yf +yf +yf +Nx +Nx +Nx +Nx +uZ +Nx +bV +jj +NO +NO +NO +NO +NO +NO +NO +NO +cB +dh +aR +NO +NO +NO +xh +Nx +gw +gw +Nx +Nx +Nx +gw +Nx +Nx +tT +OI +AS +wH +Lz +NX +Xi +as +Ts +lQ +LP +Lz +xf +uZ +yf +yf +yf +yf +yf +EK +EK +"} +(71,1,1) = {" +HE +EK +yf +yf +yf +yf +Nx +Nx +Nx +Nx +ch +Nx +ko +NO +fd +jq +Lc +gL +fR +UD +EP +NO +za +LK +VF +NO +cm +NO +eX +Nx +Nx +Nx +xR +Nx +Nx +Nx +Nx +Nx +zb +OI +dE +dp +Lz +jZ +mc +sJ +DL +er +Qm +Lz +TS +gU +yf +yf +yf +yf +yf +EK +EK +"} +(72,1,1) = {" +EK +EK +yf +yf +yf +yf +Nx +Nx +Nx +Nx +uZ +Nx +bV +Hv +ot +NV +rp +QL +rL +gs +Vi +dS +RP +zt +xF +PZ +KF +NO +ro +CR +fi +kS +Dh +Th +Nx +Nx +Nx +Nx +Zd +rH +VN +Bb +NW +Tx +Tl +Cp +fc +hw +kc +Lz +TS +Nx +yf +yf +yf +yf +yf +EK +EK +"} +(73,1,1) = {" +EK +aw +yf +yf +yf +yf +Nx +Nx +Nx +Nx +uZ +Nx +bV +NO +wY +rY +Ag +Ms +vH +HP +zH +CE +TM +FV +jI +dX +CT +NO +TS +Nx +kt +Nx +Gg +Nx +gw +Nx +Nx +Nx +tX +wy +WY +hp +ng +hp +KY +Bw +Dp +qP +kc +Lz +TS +fu +yf +yf +yf +yf +yf +EK +EK +"} +(74,1,1) = {" +EK +EK +yf +yf +yf +yf +Nx +Nx +Nx +Nx +uZ +Nx +bV +NO +gL +yX +gL +gL +do +pM +lF +Kx +re +ne +Oe +PO +bp +NO +Wg +Nx +Nx +cy +WH +Nx +Nx +Nx +Nx +Nx +ll +Li +pT +dp +Lz +jZ +lM +Mw +DL +yt +kc +Lz +TS +uZ +yf +yf +yf +yf +yf +EK +HE +"} +(75,1,1) = {" +EK +EK +yf +yf +yf +yf +Nx +Nx +gw +Nx +uZ +Nx +bV +NO +aY +FS +pE +Ms +Dq +ld +rl +rV +Eg +JG +AA +aD +qd +NO +TS +Nx +Nx +Nx +gD +Nx +Nx +Nx +Is +Nx +ll +jD +Tg +wH +Lz +bU +Pj +Op +iE +cw +NY +Lz +xf +uZ +yf +yf +yf +yf +yf +EK +HE +"} +(76,1,1) = {" +HE +EK +yf +yf +yf +yf +Nx +Nx +Hc +Nx +uZ +Nx +bV +NO +nY +nI +Bd +QL +Pq +xE +ds +cA +DF +cg +hZ +lY +CU +NO +TS +Nx +Nx +gD +Nx +Nx +Is +Is +Is +Nx +FL +fA +eS +wr +Gj +Lz +Lz +Lz +Lz +Lz +Lz +Gj +TS +Rn +yf +yf +yf +yf +yf +EK +HE +"} +(77,1,1) = {" +HE +EK +yf +yf +yf +yf +Nx +Nx +Nx +Nx +BM +Nx +ko +NO +gB +Mr +km +gL +QO +wv +KL +oL +SA +Sv +vF +YO +xv +NO +hX +Nx +Nx +Nx +Nx +Nx +Is +Nx +Nx +Nx +ll +rT +Ur +wH +TP +tg +TP +TP +TP +TP +Xf +TP +ut +fu +yf +yf +yf +yf +yf +EK +HE +"} +(78,1,1) = {" +HE +EK +yf +yf +yf +yf +Nx +Nx +Is +Nx +uZ +Nx +bV +jj +NO +NO +NO +NO +NO +NO +NO +NO +NO +NO +NO +NO +NO +jj +UE +gD +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +ll +Xv +oR +wH +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +uZ +yf +yf +yf +yf +yf +EK +HE +"} +(79,1,1) = {" +HE +Xk +yf +yf +yf +yf +Nx +Is +Is +Nx +dO +Nx +eD +mS +Xf +TP +TP +TP +TP +TP +tg +TP +TP +TP +TP +TP +Xf +mS +ut +Nx +Nx +gD +gD +Nx +Nx +Nx +Nx +Nx +ll +wH +wH +wH +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +uZ +Nx +yf +yf +yf +yf +EK +HE +"} +(80,1,1) = {" +HE +Xk +yf +yf +yf +yf +Nx +Nx +Nx +Nx +Gp +nX +nX +UO +nX +Fg +nX +nX +Vk +nX +nX +nX +nX +nX +nX +nX +SK +UO +nX +nX +nX +iC +nX +kg +nX +nX +nX +nX +BE +nX +nX +nX +Ye +nX +nX +nX +kr +nX +nX +nX +nX +ft +Nx +yf +yf +yf +yf +EK +HE +"} +(81,1,1) = {" +HE +EK +yf +yf +yf +yf +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +WB +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +WB +Nx +Nx +gD +Nx +Nx +Nx +Nx +Nx +Nx +Nx +gw +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +Nx +yf +yf +yf +EK +HE +HE +"} +(82,1,1) = {" +HE +EK +yf +yf +yf +yf +Nx +Nx +Nx +Nx +yf +yf +yf +yf +Nx +Nx +yf +yf +yf +yf +yf +yf +Nx +Nx +Nx +Nx +yf +yf +yf +yf +yf +yf +yf +Nx +Nx +Nx +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +Nx +Nx +yf +yf +yf +yf +EK +HE +HE +"} +(83,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +Nx +Nx +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +EK +EK +HE +HE +"} +(84,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +cZ +HE +HE +HE +"} +(85,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +EK +cZ +HE +HE +HE +"} +(86,1,1) = {" +HE +EK +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +EK +Nx +HE +HE +HE +HE +"} +(87,1,1) = {" +HE +HE +EK +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +EK +EK +EK +EK +EK +EK +EK +EK +yf +yf +yf +yf +yf +yf +yf +yf +yf +EK +EK +HE +HE +HE +HE +HE +"} +(88,1,1) = {" +HE +HE +EK +EK +aw +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +EK +EK +EK +EK +EK +EK +yf +yf +yf +yf +yf +yf +yf +yf +EK +Fc +EK +Fc +Fc +Fc +Fc +Fc +Fc +EK +EK +EK +EK +EK +Xk +EK +EK +EK +EK +EK +HE +HE +HE +HE +HE +HE +"} +(89,1,1) = {" +HE +HE +HE +HE +EK +EK +EK +EK +EK +EK +EK +EK +EK +EK +EK +EK +aw +EK +EK +HE +HE +HE +HE +HE +EK +EK +EK +EK +Xk +EK +EK +EK +EK +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +"} +(90,1,1) = {" +HE +HE +HE +HE +HE +HE +HE +HE +EK +EK +Xk +EK +EK +EK +EK +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +EK +EK +EK +EK +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +"} +(91,1,1) = {" +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +HE +"} diff --git a/code/datums/ruins/wasteplanet.dm b/code/datums/ruins/wasteplanet.dm index 65bc5855c097..0e001ef60026 100644 --- a/code/datums/ruins/wasteplanet.dm +++ b/code/datums/ruins/wasteplanet.dm @@ -31,3 +31,11 @@ suffix = "wasteplanet_yard.dmm" ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) + +/datum/map_template/ruin/wasteplanet/icwbase + name = "ICW Era Comms and Medical base." + description = "A former Syndicate Coalition base during the ICW, left to waste. It seems it has some new residents.." + id = "wasteplanet_icwbase" + suffix = "wasteplanet_icwbase.dmm" + + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) diff --git a/code/game/area/areas/ruins/wasteplanet.dm b/code/game/area/areas/ruins/wasteplanet.dm index 6744e36f20c7..e33809ce771f 100644 --- a/code/game/area/areas/ruins/wasteplanet.dm +++ b/code/game/area/areas/ruins/wasteplanet.dm @@ -79,3 +79,41 @@ /area/ruin/wasteplanet/wasteplanet_shipbreaking/ship name = "Abandoned Shipbreaking Yard" icon_state = "red" + +//Syndicate Comms+Med base + +/area/ruin/wasteplanet/wasteplanet_icwbase/tcom1 + name = "ICW Base Tcomms room" + icon_state = "bridge" + +/area/ruin/wasteplanet/wasteplanet_icwbase/cic + name = "ICW Base Command Zone" + icon_state = "bridge" + +/area/ruin/wasteplanet/wasteplanet_icwbase/vault + name = "ICW Base Vault" + icon_state = "security" + +/area/ruin/wasteplanet/wasteplanet_icwbase/eng + name = "ICW Base Engineering Bay" + icon_state = "engine" + +/area/ruin/wasteplanet/wasteplanet_icwbase/tcommoni + name = "ICW Base Tcomms Monitoring" + icon_state = "bridge" + +/area/ruin/wasteplanet/wasteplanet_icwbase/warehouse + name = "ICW Base Warehouse" + icon_state = "storage" + +/area/ruin/wasteplanet/wasteplanet_icwbase/hab + name = "ICW Base Main Hab Zone" + icon_state = "crew_quarters" + +/area/ruin/wasteplanet/wasteplanet_icwbase/cybersun + name = "ICW Base Cybersun Wing" + icon_state = "blue" + +/area/ruin/wasteplanet/wasteplanet_icwbase/TURRETS + name = "ICW Base TURRETS" + icon_state = "red" diff --git a/code/game/turfs/open/floor/mineral_floor.dm b/code/game/turfs/open/floor/mineral_floor.dm index 5d53a162b087..4b69304c9b1e 100644 --- a/code/game/turfs/open/floor/mineral_floor.dm +++ b/code/game/turfs/open/floor/mineral_floor.dm @@ -162,6 +162,10 @@ /turf/open/floor/mineral/plastitanium/airless initial_gas_mix = AIRLESS_ATMOS +/turf/open/floor/mineral/plastitanium/wasteplanet + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + + /turf/open/floor/mineral/plastitanium/red icon_state = "plastitanium_red" floor_tile = /obj/item/stack/tile/mineral/plastitanium/red @@ -172,6 +176,8 @@ /turf/open/floor/mineral/plastitanium/red/brig name = "brig floor" +/turf/open/floor/mineral/plastitanium/red/wasteplanet + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS //DIAMOND diff --git a/code/game/turfs/open/floor/plating/wasteplanet.dm b/code/game/turfs/open/floor/plating/wasteplanet.dm index dd79a190583f..518e26fcdc67 100644 --- a/code/game/turfs/open/floor/plating/wasteplanet.dm +++ b/code/game/turfs/open/floor/plating/wasteplanet.dm @@ -114,7 +114,32 @@ planetary_atmos = TRUE light_color = COLOR_WASTEPLANET_LIGHT +/turf/open/floor/engine/hull/waste + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + +/turf/open/floor/engine/hull/waste/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_WASTEPLANET_LIGHT +/turf/open/floor/engine/hull/reinforced/waste + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + +/turf/open/floor/engine/hull/reinforced/waste/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/floor/engine/hull/waste + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + +/turf/open/floor/engine/waste/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/floor/engine/waste + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS ///liquids diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index 39faff1add2c..b45cbe10895e 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -84,6 +84,60 @@ back = /obj/item/tank/jetpack/oxygen/harness id = /obj/item/card/id/syndicate +/datum/outfit/syndicatecaptaincorpse + name = "Syndicate Captain Corpse" + uniform = /obj/item/clothing/under/syndicate/gorlex + suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate + shoes = /obj/item/clothing/shoes/combat/coldres + gloves = /obj/item/clothing/gloves/combat + ears = /obj/item/radio/headset/syndicate + head = /obj/item/clothing/head/HoS/syndicate + id = /obj/item/card/id + +/obj/effect/mob_spawn/human/corpse/syndicatecaptain + name = "Syndicate Captain" + id_job = "Syndicate Base Commander" + outfit = /datum/outfit/syndicatecaptaincorpse + hairstyle = "Bald" + facial_hairstyle = "Shaved" + +/datum/outfit/cybersunmedicaldirectorcorpse + name = "Cybersun Medical Director Corpse" + uniform = /obj/item/clothing/under/rank/medical/chief_medical_officer/cybersun + suit = /obj/item/clothing/suit/armor/vest/capcarapace/cybersun + shoes = /obj/item/clothing/shoes/jackboots + gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil + ears = /obj/item/radio/headset/syndicate + belt = /obj/item/gun/ballistic/automatic/pistol/commander + head = /obj/item/clothing/head/soft/cybersun/medical + id = /obj/item/card/id + +/obj/effect/mob_spawn/human/corpse/cybersunmedicaldirector + name = "Cybersun Medical Director Corpse" + id_job = "Cybersun Medical Director" + outfit = /datum/outfit/cybersunmedicaldirectorcorpse + hairstyle = "Bald" + facial_hairstyle = "Shaved" + +/datum/outfit/cybersunfieldmediccorpse + name = "Cybersun Field Medic Corpse" + uniform = /obj/item/clothing/under/syndicate/medic + suit = /obj/item/clothing/suit/toggle/labcoat/raincoat + shoes = /obj/item/clothing/shoes/combat + gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil + ears = /obj/item/radio/headset/syndicate + belt = /obj/item/storage/belt/medical/paramedic + head = /obj/item/clothing/head/soft/cybersun/medical + back = /obj/item/storage/backpack/messenger + id = /obj/item/card/id + +/obj/effect/mob_spawn/human/corpse/cybersunfieldmedic + name = "Cybersun Field Medic" + id_job = "Cybersun Field Medic" + outfit = /datum/outfit/cybersunfieldmediccorpse + hairstyle = "Bald" + facial_hairstyle = "Shaved" + /obj/effect/mob_spawn/human/clown/corpse roundstart = FALSE @@ -169,6 +223,25 @@ back = /obj/item/storage/backpack/security id = /obj/item/card/id +/datum/outfit/vigilitasprivatetroopercorpse + name = "VI Private Trooper" + uniform = /obj/item/clothing/under/nanotrasen/security + suit = /obj/item/clothing/suit/armor/nanotrasen + shoes = /obj/item/clothing/shoes/jackboots + gloves = /obj/item/clothing/gloves/color/black + ears = /obj/item/radio/headset/headset_sec/alt + mask = /obj/item/clothing/mask/gas/vigilitas + head = /obj/item/clothing/head/nanotrasen/cap/security + back = /obj/item/storage/backpack/messenger + id = /obj/item/card/id + +/obj/effect/mob_spawn/human/corpse/vigilitasprivatetroopercorpse + name = "VI Private Trooper" + id_job = "Vigilitas Assault Force" + outfit = /datum/outfit/vigilitasprivatetroopercorpse + hairstyle = "Bald" + facial_hairstyle = "Shaved" + /obj/effect/mob_spawn/human/corpse/cat_butcher name = "The Cat Surgeon" id_job = "Cat Surgeon" From b551a33492e31ecec7efd16ecc2840b5b8c6e81e Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 10 Feb 2025 22:59:14 -0600 Subject: [PATCH 276/330] Automatic changelog generation for PR #4006 [ci skip] --- html/changelogs/AutoChangeLog-pr-4006.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4006.yml diff --git a/html/changelogs/AutoChangeLog-pr-4006.yml b/html/changelogs/AutoChangeLog-pr-4006.yml new file mode 100644 index 000000000000..2eea7faf3c36 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4006.yml @@ -0,0 +1,5 @@ +author: Ratvarr +changes: + - {rscadd: Long range sensors have detected an unknown signal broadcasting over + local GPS on the local long-term waste-world...} +delete-after: true From e1f2bcf2fa556c6675190e6996a5e9c2da6c8787 Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Tue, 11 Feb 2025 12:21:26 +0100 Subject: [PATCH 277/330] HP Sling fix (#4167) ## About The Pull Request The: - Flaming Arrow - Conflagation - Absolution - Beacon - Vickland can have slings attached to them again. ![obraz](https://github.com/user-attachments/assets/8b7ac495-5788-46cc-9917-cccdafa30b19) ## Why It's Good For The Game I'm guessing it's an oversight from #3736 ## Changelog :cl: fix: Flaming Arrow, Conflagation, Absolution, Beacon and Vickland can have shoulder slings attached to them again. /:cl: --- .../projectiles/guns/manufacturer/hunter_pride/ballistics.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm index f391f835032b..f7d32787b6a7 100644 --- a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm @@ -698,6 +698,7 @@ EMPTY_GUN_HELPER(shotgun/flamingarrow/conflagration) /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, /obj/item/attachment/bayonet, + /obj/item/attachment/sling, /obj/item/attachment/scope, /obj/item/attachment/long_scope, ) @@ -854,6 +855,7 @@ EMPTY_GUN_HELPER(shotgun/flamingarrow) /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, /obj/item/attachment/bayonet, + /obj/item/attachment/sling, /obj/item/attachment/scope, /obj/item/attachment/long_scope, ) @@ -951,6 +953,7 @@ EMPTY_GUN_HELPER(shotgun/doublebarrel/beacon) /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, /obj/item/attachment/bayonet, + /obj/item/attachment/sling, /obj/item/attachment/scope, /obj/item/attachment/long_scope, ) From 77a959fa4509bc7fac8a82a33e9d157749f0ed8b Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 11 Feb 2025 05:32:57 -0600 Subject: [PATCH 278/330] Automatic changelog generation for PR #4167 [ci skip] --- html/changelogs/AutoChangeLog-pr-4167.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4167.yml diff --git a/html/changelogs/AutoChangeLog-pr-4167.yml b/html/changelogs/AutoChangeLog-pr-4167.yml new file mode 100644 index 000000000000..d71313d6e150 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4167.yml @@ -0,0 +1,5 @@ +author: Sadhorizon +changes: + - {bugfix: 'Flaming Arrow, Conflagation, Absolution, Beacon and Vickland can have + shoulder slings attached to them again.'} +delete-after: true From e016a61907a27dad12c24cdf10b192d951e9f7c7 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Tue, 11 Feb 2025 06:28:57 -0500 Subject: [PATCH 279/330] Fixes some typos in the Stamped Steel Machete Crate (#4166) ## About The Pull Request This PR fixes a very minor typo with machete crates, and it makes the description for the quantity of machetes in the crate more accurate. ## Why It's Good For The Game Ultimately, these very minor errors aren't anything significant, but I figured it was worth fixing, regardless. ## Changelog :cl: fix: fixed a few typos with the machete crate /:cl: --- code/modules/cargo/packs/sec_supply.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index 661906bdb35e..103fadf860bd 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -71,8 +71,8 @@ crate_name = "survival knife 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." + name = "Stamped Steel Machete Crate" + desc = "Contains two 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) From 90c965e0f66a2ea7e323801ef2cee5e4b3443681 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Tue, 11 Feb 2025 03:29:25 -0800 Subject: [PATCH 280/330] Fixes Balaclava Layering (#4165) ## About The Pull Request Adjusts Balaclava layering to prevent it from layering over goggles and looking really weird. ## Why It's Good For The Game Balaclavas shouldn't be layering over goggles. It just looks weird. ## Changelog :cl: fix: Balaclavas now layer correctly. /:cl: --- code/modules/clothing/masks/boxing.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index 7b2f67d4d60c..f60eab54ffe8 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -7,6 +7,7 @@ visor_flags = ALLOWINTERNALS flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEARS|HIDEHAIR visor_flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR + alternate_worn_layer = BODY_LAYER w_class = WEIGHT_CLASS_SMALL gas_transfer_coefficient = 0.1 permeability_coefficient = 0.5 From 9534b7b36f6262e64400ab5b7e62413ff37e95df Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 11 Feb 2025 05:48:03 -0600 Subject: [PATCH 281/330] Automatic changelog generation for PR #4165 [ci skip] --- html/changelogs/AutoChangeLog-pr-4165.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4165.yml diff --git a/html/changelogs/AutoChangeLog-pr-4165.yml b/html/changelogs/AutoChangeLog-pr-4165.yml new file mode 100644 index 000000000000..e0354d0d1691 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4165.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {bugfix: Balaclavas now layer correctly.} +delete-after: true From e5d8fb3e71cc80a04df88701dad7f377ab982c9d Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 11 Feb 2025 06:40:29 -0500 Subject: [PATCH 282/330] Changes Some Recipes (#4160) thanks obama ## Changelog :cl: fix: updates recipes for dimorlin (so you can make it), shoalmix (so you can make it) and tramal (so it works as intended) /:cl: --- code/modules/reagents/chemistry/recipes/drugs.dm | 2 +- code/modules/reagents/chemistry/recipes/medicine.dm | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/code/modules/reagents/chemistry/recipes/drugs.dm b/code/modules/reagents/chemistry/recipes/drugs.dm index 004c5f203d65..104d099905b7 100644 --- a/code/modules/reagents/chemistry/recipes/drugs.dm +++ b/code/modules/reagents/chemistry/recipes/drugs.dm @@ -46,7 +46,7 @@ /datum/chemical_reaction/shoalmix results = list(/datum/reagent/drug/combat_drug = 4) required_reagents = list(/datum/reagent/consumable/ethanol/vimukti = 1, /datum/reagent/medicine/dimorlin = 2, /datum/reagent/phenol = 1, /datum/reagent/medicine/atropine = 2) - required_catalysts = list(/datum/reagent/toxin/plasma = 5) + required_catalysts = list(/datum/reagent/stable_plasma = 5) required_temp = 451 /datum/chemical_reaction/alt_shoalmix diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index 4702c30558b3..1b5abd931292 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -238,13 +238,12 @@ WS End */ results = list(/datum/reagent/medicine/tramal = 2) // these make me kinda wish i knew irl chem so i could have better recipes. required_reagents = list(/datum/reagent/carbon = 1, /datum/reagent/oxygen = 1) required_catalysts = list(/datum/reagent/ammonia = 2) - required_temp = 300 + required_temp = 340 /datum/chemical_reaction/dimorlin - results = list(/datum/reagent/medicine/dimorlin = 2) + results = list(/datum/reagent/medicine/dimorlin = 2, /datum/reagent/hydrogen = 4) required_reagents = list(/datum/reagent/carbon = 6, /datum/reagent/diethylamine = 2, /datum/reagent/oxygen = 2, /datum/reagent/phenol = 2,) required_temp = 730 - required_catalysts = list(/datum/reagent/hydrogen = 10) mix_message = "The mixture rapidly incorporates, leaving a layer of liquid hydrogen atop!" /datum/chemical_reaction/modafinil From b4e86fb6f37395ac8480335be7db0427e57e15d9 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 11 Feb 2025 06:00:13 -0600 Subject: [PATCH 283/330] Automatic changelog generation for PR #4160 [ci skip] --- html/changelogs/AutoChangeLog-pr-4160.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4160.yml diff --git a/html/changelogs/AutoChangeLog-pr-4160.yml b/html/changelogs/AutoChangeLog-pr-4160.yml new file mode 100644 index 000000000000..15d82bce083d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4160.yml @@ -0,0 +1,5 @@ +author: Erikafox +changes: + - {bugfix: 'updates recipes for dimorlin (so you can make it), shoalmix (so you + can make it) and tramal (so it works as intended)'} +delete-after: true From 2f0ef732b839890df2b2601da3392ff544086e2a Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 12 Feb 2025 01:02:45 +0000 Subject: [PATCH 284/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4006.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4160.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4165.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4167.yml | 5 ----- html/changelogs/archive/2025-02.yml | 12 ++++++++++++ 5 files changed, 12 insertions(+), 19 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4006.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4160.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4165.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4167.yml diff --git a/html/changelogs/AutoChangeLog-pr-4006.yml b/html/changelogs/AutoChangeLog-pr-4006.yml deleted file mode 100644 index 2eea7faf3c36..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4006.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Ratvarr -changes: - - {rscadd: Long range sensors have detected an unknown signal broadcasting over - local GPS on the local long-term waste-world...} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4160.yml b/html/changelogs/AutoChangeLog-pr-4160.yml deleted file mode 100644 index 15d82bce083d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4160.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Erikafox -changes: - - {bugfix: 'updates recipes for dimorlin (so you can make it), shoalmix (so you - can make it) and tramal (so it works as intended)'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4165.yml b/html/changelogs/AutoChangeLog-pr-4165.yml deleted file mode 100644 index e0354d0d1691..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4165.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {bugfix: Balaclavas now layer correctly.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4167.yml b/html/changelogs/AutoChangeLog-pr-4167.yml deleted file mode 100644 index d71313d6e150..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4167.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Sadhorizon -changes: - - {bugfix: 'Flaming Arrow, Conflagation, Absolution, Beacon and Vickland can have - shoulder slings attached to them again.'} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index 37521f4fbed3..ddcfd71f447a 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -85,3 +85,15 @@ 2025-02-10: Burning02: - balance: Minor changes to the interior of the Banshee, along with a gun swap +2025-02-12: + Erikafox: + - bugfix: updates recipes for dimorlin (so you can make it), shoalmix (so you can + make it) and tramal (so it works as intended) + Ratvarr: + - rscadd: Long range sensors have detected an unknown signal broadcasting over local + GPS on the local long-term waste-world... + Sadhorizon: + - bugfix: Flaming Arrow, Conflagation, Absolution, Beacon and Vickland can have + shoulder slings attached to them again. + firebudgy: + - bugfix: Balaclavas now layer correctly. From a402254ae2fd888f156fe25a41bceed1ad3cacdc Mon Sep 17 00:00:00 2001 From: Joseph Knutson <47765135+Cazdon@users.noreply.github.com> Date: Wed, 12 Feb 2025 03:19:45 -0500 Subject: [PATCH 285/330] Added Hardliner phorid envirosuits. (#4177) ## About The Pull Request Added sprites for a Hardliner Phorid Envirosuit and Helmet, and added them together as an 'outfit.' NOTE: This doesn't change any round-start gear for Phorids as that's its own PR entirely. The only way to acquire this would be to have an admin spawn it in for you, similar to the NGR Phorid Envirosuit + Helmet. ## Why It's Good For The Game The more faction themed gear, the better! (Even if we can't access it without admin help.) With more Phorid gear, the likely-hood of someone getting around to changing how their outfits are distributed inches closer. ![icon0](https://github.com/user-attachments/assets/37f754b2-f82e-4388-aaa6-bb72b725bf31) ![icon1](https://github.com/user-attachments/assets/d2fe23e8-251a-4cfc-9edc-dd001b52509e) ![icon2](https://github.com/user-attachments/assets/a85313d7-373e-4bd5-918f-bf42b98255f3) ![pose0](https://github.com/user-attachments/assets/56d3a76c-70aa-4e57-b95b-7e6367863843) ![pose1](https://github.com/user-attachments/assets/0ca03260-3b8c-4662-823b-b8c26fdbf022) ![pose2](https://github.com/user-attachments/assets/c7c9ff2f-65c2-4e3e-8a37-b1d2214f9fa9) ![pose3](https://github.com/user-attachments/assets/61905265-4812-435c-b87c-5bdd5d643690) ![pose4](https://github.com/user-attachments/assets/16dc5a1e-f0bf-4148-9232-29f4b3ffcb5a) ![pose5](https://github.com/user-attachments/assets/51439ab3-e658-43e1-b6fe-4da0dbbd07d9) ![pose6](https://github.com/user-attachments/assets/72c1a483-8859-4e70-9ff0-599b39a31ec5) ![pose7](https://github.com/user-attachments/assets/d5ca080f-96bd-44b6-816c-1052ad021c35) ## Changelog :cl: add: Added Hardliner phorid envirosuit and helmet sprites. /:cl: --- code/modules/clothing/factions/hardliners.dm | 16 ++++++++++++++++ code/modules/clothing/outfits/plasmaman.dm | 6 ++++++ .../mob/clothing/faction/hardliners/head.dmi | Bin 6021 -> 6963 bytes .../clothing/faction/hardliners/uniforms.dmi | Bin 1439 -> 1829 bytes .../obj/clothing/faction/hardliners/head.dmi | Bin 1216 -> 1444 bytes .../clothing/faction/hardliners/uniforms.dmi | Bin 596 -> 656 bytes 6 files changed, 22 insertions(+) diff --git a/code/modules/clothing/factions/hardliners.dm b/code/modules/clothing/factions/hardliners.dm index 021098b9cf53..05a8dcd13a1d 100644 --- a/code/modules/clothing/factions/hardliners.dm +++ b/code/modules/clothing/factions/hardliners.dm @@ -24,6 +24,14 @@ icon_state = "hl_officer" item_state = "hl_officer" +/obj/item/clothing/under/plasmaman/hardliners + name = "\improper Hardliner phorid envirosuit" + desc = "A button-up envirosuit with use intended for phorid Hardliners. Ensures they don't die of combustion." + icon_state = "hl_envirosuit" + item_state = "hl_envirosuit" + icon = 'icons/obj/clothing/faction/hardliners/uniforms.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/uniforms.dmi' + //////////////////// //Unarmored suits// /////////////////// @@ -155,6 +163,14 @@ mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' jetpack = null +/obj/item/clothing/head/helmet/space/plasmaman/hardliners + name = "Hardliner phorid envirosuit helmet" + desc = "An envirohelmet designed for phorid Hardliners, with intimidating white stripes." + icon_state = "hl_envirohelm" + item_state = "hl_envirohelm" + icon = 'icons/obj/clothing/faction/hardliners/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/head.dmi' + ///////// //Hats// //////// diff --git a/code/modules/clothing/outfits/plasmaman.dm b/code/modules/clothing/outfits/plasmaman.dm index 544259603174..53e3871f3631 100644 --- a/code/modules/clothing/outfits/plasmaman.dm +++ b/code/modules/clothing/outfits/plasmaman.dm @@ -223,3 +223,9 @@ head = /obj/item/clothing/head/helmet/space/plasmaman/ngr uniform= /obj/item/clothing/under/plasmaman/ngr gloves = /obj/item/clothing/gloves/color/plasmaman/black + +/datum/outfit/plasmaman/Hardliners + name = "Plasmahl" + head = /obj/item/clothing/head/helmet/space/plasmaman/hardliners + uniform = /obj/item/clothing/under/plasmaman/hardliners + gloves = /obj/item/clothing/gloves/color/plasmaman/black diff --git a/icons/mob/clothing/faction/hardliners/head.dmi b/icons/mob/clothing/faction/hardliners/head.dmi index c9c1d5a73f0aff1d57f14e4daea2bfd803f22b16..f08fa58c974e05b11e89338fdd6922016d47fc0f 100644 GIT binary patch literal 6963 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

    )C ziLS34OX10Q%*8g-zF4lAr}MggV9j8Ag8Z3h14vPull(8|=bwnFTqjGqAB&;~1=3fU zI^MzkWZ#qK1Bq)Q+6yI@;)+AsUJ&I#5Xjw#QNjlP!M#$cZBAVUrgt8(taM(O-F$?? ze~uxvH&RC#dX;#zVeo3&$PzZy&)pSNTyOvG*#;DF8K%*IAF$nM);01AR3Si4J?n4^ zC(?FChKHG4pxZ#1-lJ9iPL-qlDBfPp`S{rpxD4tqPk>LW0*X+^)XhuUidXQV8{u_X zTOd}XSjA!&28XxKJlptJG%ywplQgGcrr*mgl6SLSv2Zw$sg-cRnrc9my8yvsH{H(} zv->+viAESAe3A~F5DgHv{}5$f(3y6ts#+D#9C-vrA#pol<{S8xK6p(G1%gze9N!cI0j7N{EqEewROk#t}x}{Lsw9a-t8PxoTne4bT_k=xe5bZ~3 zJgyy#xUp7G(H-ZHTCY`8zZ;-4na8Uvb%4NL(YBTxVXJ~L%&j}6kUrFS+IR?7_7F85 z{{c49Z*c06Yd<)Y1gX&4~3IoEK z-m=eW>?QM_k1HDgk^NBf;Hu>02I2+4s38P9!TdM1=zprb(^DoRAvoLL9+!~>E_BDYiz9~mWI?o|WIN?h{}_76uqBj+5VtE+QxMDxuLc7^+!e&a2Dxkpp zP@5qiWUHHo0sX_b*J;ao_E^*?)%9C#7#SgQa=6keXF5LXWxUCZ{x74l5)A|4!; zYTUNCYBGhP*0EuBCndLbfz1pE&B6t`QrK*R$zo9~*|!E+19!ZE+SI4u^UZCGuT^6r zUSGn?LE}aTG^AX?oQgy3aoD{A;P_yO*4)N0%erP`!r1npSYM!rk?f`#_pd5@`oznW zq4TMKDSazV1>$XM&r^PH_TF8|01?ZOg*e>ktJ` z9&V`Z&qNs$kgAG7f&P9!;K+_HDQgV~e>A65odQyh^s^_IdBP9a&(rTqySEahCJRQe zEG5N)E#-MZRTO02^WHM~j*vB06p-rw5sb759l=JaqAr0BASavN5%%owY6NaKP`>+T zclAb5$>7{gF8%^g8-G%n{q1=+j0N5Y_!Ayvrp2evoI7*X>FQv%SU~D<+WYI1SWcuNn4!H?C^w?9^m-+Y!utOKuQDYmd9HtN%;4byx#$YNlh%{V-`cpb#V zqsKn^ik`=b7Y9{ifD`zcgNjNU@=fInKRYg&JbX8skkt0{X)fzy^y(mLD|}#8j?vC* z`%YBxoLLUZFQ5&Hu@y!B10qh#VnZOcLn%t5QwI0bmSmM^Ni!ZN{~x4`=h7(A^MH6+ zULu=%h17WsumO@-=Iuv2pB+)|YzFP7WM@dN`yDm}rDweobYo@$s@)6AE*@TFn+zze zGUzM^YZbd?3@`Wq7;}ZzG&Tf=AR*N|B%%_Vl0$xR_5s|TLWzj(13o!igZNk z?a1;rr>hY&xBR-YunuiW)sdz_%YEZ@C&JjO+h5^kh zfPhQy+^uto-BWIFd-DZCzJr@4RX(oEg#T^SAGVs4S$`F-zwd zENoNi9KP9mTD=G!KoP&|rdoL#X0@o1ue%qk7q8cmF|jn;b8tAo`VL?DffG=qC2gCS zJxMi37(=c0VvXvQE>0l=_e$v=r%Xd)RFxyFN!zpa>k#m_9951efpV(w{gm#>i6xuq zy&IUfIP`wirin`o7>{Xm6;$58gzTvKFzgV{qgR|7xx5=I2l`EkGKf-D<-1(i5TF$v zz8Jui;vFDuAAY4}t3f|^7(p5uuh|do(jGbiciLtdjD~)I4HkTfj_$}dv>9lQxg8ufqx z;4%mE9GX696K|I854U`QdcV*y6(4)H&n|3MM-2i2emF-pFaKs0aQmS1h!7Wf5CuTHx0E)G_0QfA4muEoB#j- literal 6021 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

    nb%sY! zeNS9}(vKs^%*^0uF4I>9c{l#o<;wja?6i$g!^zmGU()~bn2o1cNNJm=o+T^(iXAD3 zz^3URRt2LSKJpj_KAsHYlfSb;VxweJ6(8FcY7c#H__c^KK1M|GkQ^F$%n!MWslQOk zM_zM5H5Zf;X>s#T0!1NH?xkY7*~{Pfc$n187xAhUUFfky+wa#G<)>UyvmU!6mzm6J z5fO3#+ycCovXsTAChW(p1<30p`m9YZXnT-nTFBP^!O1fRXT2=rtbzhbx>s+a zFf-L)1qPnzwybm6FZ-l&>pA2Ffev-dgJ{MU$&g*%a#LNyRZtAc44m9$4A=sqW z!7g%U@Sd%F#_Rkt)^tVUL8HM{2cgOuJCV4sRx0P$s^-el%dhoSJd`azZ@U|D3t=~- zrUG|Vxdf{N2aM{k`dP=sdu>MWcU{nYZj>NUB@JXNDy(*zScTDnws8$}Kf#}XiO$wC zI$SfU5nTQ~#qn%;){Q+iNtM1v3CF|(-tNnqc;%feofPyH=r**>kT_x>c)%rZ^FCHl_Cr> zXeO{_xgPq7ker=mf{0e(>Pr)~=f3A3`xHJk5{<$cFTR)#0^Tf|E&{q`^1^G0t&lUZ zuvrboERKs6aBUI(7!A~8WRNO|4e*)T&az38g5bL?XZDm@4GGTZB;|G4`0QLTtIEve z=u6ydj-;^N{ijih*xE^b+{K>4q)_W^g*)L`TlDabeNs*UqeI5+?}Ow9=vq7ex3V0=sp9>fg2v52YA4r(ou$(9u)~1b3A0j*B_2G4+|sF7IS4s zLvITtCAVrSpX+sM3}x(h6Ve4KbS^l*-QBlBi`QtFX(t%=zpx$~vhK@#a*2!OFpS6J e`A=j6hZn_Lywqh`cmej+0qw{78Z~M*um2A!l7t}u diff --git a/icons/mob/clothing/faction/hardliners/uniforms.dmi b/icons/mob/clothing/faction/hardliners/uniforms.dmi index 8726f50b2f5432ef789d58ade87606504c334b47..6b1b79d6aad1632dc8fe3b4490e6a9375338e319 100644 GIT binary patch delta 1671 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 VNKA*wjP(Ej002ovPDHLkV1hibhP?m) delta 1133 zcmV-z1d{ut3&07G7Y<+u0{{R3;-rdu0000~ktI)mz`(#SF*Z+6P{T4!tpET30d!JM zQvg8b*k%9#0JC~jSad{Xb7OL8aCB*JZU6vyoRyNj4#F@Dgy-ZbqINE7fRzQcLLKNU zR1t9-OQETpl%KaJ(1it&Zg=OchNPSFHPhp!L&kSSwC0vdqU!T8?m1s@jQc#8-VBa5KSlE82QBp;Ui z+IO2)j0}O&ONrSb%D&b#Ha89VB7+JMP=fh#A3(tWxQCy&1ZU@9=@=eXts1)M+ffBDB53KjtU(*?gg{uclhngs}CcNxke&(C>Y zlwADL#|n6TSc^$6<);i4$rE4pg9=uEf5}jg{P86}DJdx_DJkhMsNNj6YBt9oSGhU9 z>c1OcYD?ntUpL1WeLeTC(Fn%?)T(*oPY^aY>?}_L$zS#__~z5Kmmvgun`A3Cf#j9@}@{K97FfA9R9Zdx%>*hHve&Dwzb5zx3}I-`D?tmQ`66 zj*mgOwWDs&XIWnNHJ1FPe^(t)A(%maqOkEQ3bwag6}Y@IH(Bygb<;F;Q+Gfd`wWje z3K@`~;O>D^UDqL7g+r_g-me4x8h{<*{ei*{hrnE}F@D`?Zvx$6g4*wAS=V5QrgPgQ z>=wf;ECUBnlPCdA6~=E!exC?`0J@I055CnZ?-Eb}r~))iH~=a@z&|QI&jF0ijS&4h z9NElIN=iyfN}Bcd{{FT(zUu#a z0J}N9>c1aA`~LL)E#Y#dEZw4oPayf3wSC{)=1jr&4I%JE#Bmp zeIghJda__n4hjgkgUK=%GIhfYE~$@c53PM}XM(5G8OM#TcIN@5BB`U?KWV zJiq6?{k`BHmzrL*-u_f~UydhJ2LkB0} zI06}M#g;BY2*GUa@P@8I4m%4?baBWMy3|xMoJ-e|f6ge_d&#U@e%p`xc=zsxkB}}p zXBHb;s2jIjj4?oM#^{BA?%|m8yL;Vx0K*Y1^#HjM?j}Y9mau>&oJNFCn@5>SJ!0h4 z$16Jc?e0U8Bx!i9uTT`gDfAVe>16i0M@yO`fGgC`XGuE8ujmaei(z0soi_lJS$1oIS-K!=t8{%@`WL#aHaNv31CrJp#ia6%UJuMTtHbH zV|N1F$c?3^eL#P7Q0hAj6|QBZeb9GmVAa?<@Pi0&*bk~G8onSnwmrSE(Z{rXK`2m)f3EEdVo^#h1hjoYdThY3<=VdJ@(1|>#71jv TnY`1;00000NkvXXu0mjfmCMY(+liGReK_0YH%EZ$Tedv zF@+G0#Vz8*Y#7J-4>VzBA|}L?#@$S9$v?MNZ1+ORsmr;&1h7L0o@mb(ls>Js9|?akcSWiT2i|MWo`lg1>LyWFd8hJ3Ym(c=qGH z=RD5~ey>L;EW~uLM|>5*>Z1Wm+O80Hz~8L$B80CP%@HCH2$x|8unBUy4ehZ5s68QS zr+s^@s`dZ?|17<24xvQfHKA?0IISqD+t(XrxbWxvOTn|HE7Vk z>H3y3Yyx;hDPQ;JV=0*@vwnbQaw9X@U*RQQCVg-ZE=DN6kxA2=pFU0;#fc%e#&Hry zCcvgqBUEHD-(0AY-g2^f(XA%=X=ALtuf@lZ*v7ust80000< KMNUMnLSTZV=CO+a From 101513755e794cbbdd4346f4ec104a780d8d575f Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 12 Feb 2025 02:30:44 -0600 Subject: [PATCH 286/330] Automatic changelog generation for PR #4177 [ci skip] --- html/changelogs/AutoChangeLog-pr-4177.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4177.yml diff --git a/html/changelogs/AutoChangeLog-pr-4177.yml b/html/changelogs/AutoChangeLog-pr-4177.yml new file mode 100644 index 000000000000..8e9d6aac1623 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4177.yml @@ -0,0 +1,4 @@ +author: Cazdon +changes: + - {rscadd: Added Hardliner phorid envirosuit and helmet sprites.} +delete-after: true From 4b28a7fce153f863cc3fa8fee1132f8539bd3fcc Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Wed, 12 Feb 2025 03:03:19 -0600 Subject: [PATCH 287/330] Fixes Balaclava to have variations work again (#4113) ## About The Pull Request gives sarathi and elzu snout back on the balcalvas ## Why It's Good For The Game fixes a pathing issue ## Changelog :cl: fix: Sarathi and elzu balaclavas work again /:cl: --------- Signed-off-by: generalthrax <139387950+generalthrax@users.noreply.github.com> Co-authored-by: github-actions --- code/modules/clothing/factions/clip.dm | 1 - code/modules/clothing/factions/ngr.dm | 1 - code/modules/clothing/masks/breath.dm | 1 - 3 files changed, 3 deletions(-) diff --git a/code/modules/clothing/factions/clip.dm b/code/modules/clothing/factions/clip.dm index d5b1215dcc5f..41019a0e62ab 100644 --- a/code/modules/clothing/factions/clip.dm +++ b/code/modules/clothing/factions/clip.dm @@ -393,7 +393,6 @@ item_state = "combat_balaclava" alternate_worn_layer = BODY_LAYER flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEARS|HIDEHAIR - supports_variations = KEPORI_VARIATION //gloves diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index 6c4be5f25dad..533d27ce2d0a 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -229,7 +229,6 @@ item_state = "ngr_balaclava" 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 | KEPORI_VARIATION /obj/item/clothing/mask/breath/ngr name = "NGR face mask" diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 7fbb185f2667..d24e4efb2640 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -49,4 +49,3 @@ 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" - supports_variations = KEPORI_VARIATION | VOX_VARIATION From 40653257c1b7e76eea61defaa341e9e58d514857 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 12 Feb 2025 03:15:07 -0600 Subject: [PATCH 288/330] Automatic changelog generation for PR #4113 [ci skip] --- html/changelogs/AutoChangeLog-pr-4113.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4113.yml diff --git a/html/changelogs/AutoChangeLog-pr-4113.yml b/html/changelogs/AutoChangeLog-pr-4113.yml new file mode 100644 index 000000000000..e35a28131dad --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4113.yml @@ -0,0 +1,4 @@ +author: generalthrax +changes: + - {bugfix: Sarathi and elzu balaclavas work again} +delete-after: true From 4e9abcb61833973f331f3b33a73664f60cc4f83a Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Wed, 12 Feb 2025 01:03:57 -0800 Subject: [PATCH 289/330] Minute Energy Bar (#4173) ## About The Pull Request Replaces the High-Energy Bar (which could previously only be consumed by a single species without violently electrocuting you) with an actual energy bar, themed after the real-life Hooah! Bar (https://en.wikipedia.org/wiki/Soldier_Fuel). ![image](https://github.com/user-attachments/assets/e2655513-e7b1-411f-807f-8df1b5a5dfba) ## Why It's Good For The Game As funny as it was to have an energy bar that shocked you, the species it was originally intended for basically no longer exists in our codebase and doesn't really reflect them in a modern state. Plus, a lack of energy bars that *everyone* could eat was something that bothered me. So hey! You can have your slop energy bar RP now. ## Changelog :cl: add: Minute Energy bar, replacing High Energy bars in vendors. /:cl: --- .../food_and_drinks/food/snacks_vend.dm | 12 ++++++------ icons/obj/food/food.dmi | Bin 79532 -> 69394 bytes icons/obj/janitor.dmi | Bin 24671 -> 21058 bytes 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks_vend.dm b/code/modules/food_and_drinks/food/snacks_vend.dm index a450555a7a69..985610812818 100644 --- a/code/modules/food_and_drinks/food/snacks_vend.dm +++ b/code/modules/food_and_drinks/food/snacks_vend.dm @@ -115,13 +115,13 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/energybar - name = "High-power energy bars" + name = "Minute Energy bar" icon_state = "energybar" - desc = "An energy bar with a lot of punch, you probably shouldn't eat this if you're not an Elzuosa." + desc = "Referred to by many colorful names by the Minutemen it was issued to, this bar was produced by the Lanchester Foods Co. in order to supplement Minuteman rations in the field and improve morale. Though the initial version was infamous for being used more as a blunt weapon than anything else, nowadays it has found a place within the Minuteman and Civilian markets as a reliable source of nutrition." trash = /obj/item/trash/energybar - list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/liquidelectricity = 3) - filling_color = "#97ee63" - tastes = list("pure electricity" = 3, "fitness" = 2) - foodtype = TOXIC + list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/calcium = 2) + filling_color = "#639fee" + tastes = list("orange chocolate" = 3, "an awful lemon filling" = 2, "something hard" = 1) + foodtype = JUNKFOOD | SUGAR /*food_flags = FOOD_FINGER_FOOD*/ w_class = WEIGHT_CLASS_SMALL diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index ddf9be7b356f68d6f939fb8667dd02e24d1c381a..3aa9aa2689acf18d52fb8dddfd21d54ac493235c 100644 GIT binary patch literal 69394 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�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 diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index f3b4d79436ef86d0cce9b59a5cbc47592f91e636..2c0d63c01577ae8c97f5ea9145818239afeb0847 100644 GIT binary patch literal 21058 zcmb5V2UJtR_b!@*P(lm6NC~|NQbiDigbvaX=^d$p^bR5PUKFHvq^KxOih>lW(h(4l zUX>!fBoN@m-~Yevd-vV9?pyb)oON<$a^}p;p4t1`-`J1OPxvK?cS?O7`A%Ud|pq&h9S&fB@j@%#j!KBBcFe-=Bd0HnQa2 z@6>K3y%)p!(};pEr|#iUDf@Q`?0H#1g?hNX0Tj5m!kbVOcH(z(f|(iG-P*nwx+JsX zAkTy4T{p*`xxBe6d3@YrR&(dgm+$>q8SG_`mZTW!4<&b>DvN%H&!6p3lytA35N2Hx zQLDUehDm%g zyG??sgVo-$7b$jpEwrMPxiN|YZso`Eldz-@tlGH>%6;;QUm7@>$=gxs5sqK)%c`rk z#z^I`n!k^Yve2-1$^`2Dg=E|z@fEG|Km5M&adxZhv2@%e>6q@Su8>h{Pn{eT z%9gpx*~EJ9A`8bhFS)7;$DyAD%N&}%2%nt2v33j!Q_lVzA!a|!JW%l0f-8@nf=Bt z)?WBmX$`Ltb=b?*O_fk9^V;{xKCOYsP}8619e*U<`6<~3DgXeT&+1C@1_8hR7C_8t zr*AsLP{knP($cjUrjI$qxfKMjHMY*{d-qIkhZ`$jmsdD*8|E5jzLuN$RQ)N)Ubrzt zi1E!9Rf}+ZToqA50$U>SHukswzHGM*!^+aou=&bOdr@lP+=`_4LB4Q@_o(0tJv}`H z1$Z@~l`eU!i>(B@J6XU;bX@Q1`SXV7lRSouftK8tcOR8V67;Q)c7jWukR6!GE>w~Kl1C?pOow#4 zpDQkDe?@O^EK0}nF>iZf7ybY{5HwsMW0d>AEqAdf+yazzV=XwO8{=~?D9<-oko&3T zl{^r6e&&}g8u(`ZaJ7sp!^*Qr;N@Cw?IfX&L+7tWh{)jy%;KCmE+Hq z8v~~s?>l<1Ya>psmb%b?dgcDkPxr+fQBY( za+>v$c-&+}UI@NdG+F8!`=WY-s^_M)rsHOK|GH|=%pyqqn6nkX1#5jYzj9IX+rOmO z-~!=?L|>z+pFI-GzL)3E+c+iq_cc`Yzh3WpoP~?yNx}<+mAKs zZXhXjy%gM|VjF}ypVp*%tSW?*EMYFs@|OFEV;P=q>yoy8JCPHkfmu29{MpulhX~8w z3=;)lVLCLQ$+Fn!%a=d~(3q8@Ol}}g<8$87phvWpPSgWio?kwJd<^9Be>@(TJ8E3H z4r3J$vp?bMOd~t7sE3K%6;n8No}kzfgpY0YI*3p)Fc{kw6)S>zhe&6$>6F6KxmfsE9pkV6D{s{p(*B2&D z(CxWqS_lWE9^7?V^F~g-6+iBEyoNSO`%>KFSk5wI+syvTmk&}?1%2%W$mP%zy86e1_Im zLt!)vnfXUfH6mVt(bLJl4*xa}kzzjTAxnO48_xx)dn9T}0!r{XNGL^3al4YtC9rFv zL6Z0xis(VC#w(a@Iv_AC!;m13YNHC@X{tDCc43WyU)~i|hOTvsM0O8n6?^yxRLuv+y9(Rb?M7yvmOBrVt>wz{xk*%dv zHh=8c(|owIwERLYNS&UjtE*QFegG8ET7mK7%1tB8 zaT6cM4l)=@FiWx3mB-+i-dGRMHf@s9$ zJWZ>8Xw^}BLyZq2>u#aq^5n$OuJ(=}Nr30!IsTq_?AiF48P}`I+naTm#9|clYbYVN z!5yHqcsmh2ZfcZDwXL51^v1BONQBcu`i$v`C+ln;{)}GIM8SKPK(|%VEQ2=ElwpJ`bt0930QHakGGOiePL5&;uFbL!O z+VoJcw#A{Ia*<*bk)hW=9(=#~Aw_G}>mc+K}s0*QJfysso4^)tU@A=#0_;4 zmt!fLxunyhN$4N*6)}G80IGisc_E6~^+1lc>WD$KvPHT^2GHg{E@2Om+mk`Oi7cuwpg}W@r1pMjxPZ~e44kzzMMUh7rjbDN+W6$nS(E6WD;aMX z>7U2WN)RW}_zH_;!D`atC|^U%Q8U-u@EdoP<9R>azY%cMKo7SgzqJe~Vt2pcpnZskmAOy%XhC7_bnn9!(c#V} z&B&R=^O^VKAf*gSo6a#f!JBarkHlpDS}jduhV&xVNcNrJP~}?nkgi*k)*=9>?To!h z+wp7g@@Ul!?~xD%rFda!^_iL=Ghjme8Iuf|D@wm_6x^IBXJBHKDQM2{ujFen3MI_uv$@aRyhw$9w{ldX2Ek}E&~ein?r zh$sQNdK`Qv=N=#|quM-VUCWpRl|ZzR9=Vu(NX&QJK6zr74wz;%^32JUou}&U&gvxOt40QBBh} zhof1se?*4op|U#mnhk3biCrae>G@5`(ZV8U`o1)T&K$vQ^9iRCmQ4=3pv;FWAZE^H z&p`3)NKlln-2q;oL*3WZufpV1){L>s^ut$-Zt@H5r4B1tA+nUEnZ?&dx$wzotw3~~l2L+Y>^$*S_{8>BYs!o z*H5(vnn`H{LdEd3sE0`~83of%K2P6{N#@}@r5@%lKD%*RW!c_@?9-Ntl};UQznZv5 zlK7#;*CFCK@hd3>MglTE-6<%1Za^@b&bZSxc58C?EG)#ePSow?8}>-HAcrVEaY5yh zBYTdPLSY#C8G|dDhv4ojaASSjVfyi>@5g1DseI5`4z(U3pmvT}G=xV`kkr=JHskpE zVp+0Up?IogTq>kpG4cDAGa1zGAN;|VylGre zdpyb9WP&Qi@~9XWYBaOmz3s|ZiAx(g7=I~9RAm#0&ziLu;m5hE=uA(|I(kJQ5qWj+ zzN_g&Zk-xEuoT+|P1N0j{|Tn$asLSUJ_Ecvtr;mh|7vB(@ng=p@;s+ZLvBBp^b8Q6 zK~F1!&Mow{ed~^aFq@J&?De)o9AG)PyyNubhhy>W?DXMIEIjW*$tj~K`|LV++!j4^ z`Fl<}WAzaFi0nIo9x8jf++xV?WF+shv#TIB2m7wE8ejPDjpZEO46efd_&wz;pxq>- z)Buzez^fYc%mYsJj$AX~IcvweYDLITB*DrdA!F^yfN~3WV7Cq@^)U779g`R6XO`zX z_cR!ecXz4892cHI$giG zgC0C{78ApAAk3wp3N|Ul+3>JSEM%M~%;Yy*hTe%_=552QKL3W*^uyMM7gYJ8{D$wQ z-*67?gIof{DBBkUL=2$EQM=y*4=2v7tR3EWX-2iMPH3UrEneSXQkQDi;>{n7iNk3) zeyG!}+)M*1(A0CY9ScCpLR<92-~-6{$Mbp`g1F(L{P7x54O3M(4e_)!O1Pf^?Ys&2fFRVCRQ= zK+WbtxRu?L)%n#v?6m!{V&81-k(fqFGZ+KwD%UHiEo}%ck+T+*5nSqTVqv0uzYCL( zA|ac2mD|GVywD;lFjgpQX5D(sqtuA5uNPeV?7Iy%_&8}gCnO<3i_V**u(HxHbciDQ z4E7(@G~8%D5Qlt8@_F*OM-B2ZY0zNnGZ7`t`lqm|DI=67fq4X0T)UB`6gw-w%x%=( zf0|y**IB(W={k2dC0z|k+x6!%GRIa+UhUYkActMS_w z8gODkjl-9#)EP+l5@Fnr#045)mOZdyU=IByS^Kd8d(TM3sb)Mewbz-6?+Oqa}o*p%}W)##fy z;TfTjkhTT({)Pu;sV6Vw=(g{_r7w1k9IDkEJG-lgjB9Oe^_j8o?;6RIT>Vk5G3X^E zm0=ZQrllO$!c2)DfBas*oH+eYfsDToZLt(Z#Nn{;r)Ze@=WHP*i0l;l}1-%mPeCelXsO>}4?rVsG8- z-2`@1zbDX@n28Z;qGl>8i$WT9otvYPp5 zF&7f&Pu{Z`K%cvxUdzyQztNnMa;b$_spu=jZYM z>h$>dn`>e7`Vd!tyvxC((9lox{m* zuO56w9!S1pPy?QByEnrTWZLlJ_U4$rp3ZvJMT3BW{wvM5!fa@)wgrF4ylFrS4GYWP zaXH#SKvo}(U8KljUYD{%IEYgvv^VxfFO1-EiUDG34eB#=(3R0ej!^gFIOI%RDf}>&jjIKEtIqJ|sh?rutd1XXK zpYO0y~v%AI_&RmQu4F1ftm?5hNF{M|@V= z_Izb{Ly)I$3x7;>f%>AY#^skrW4hS56yMk~I*a#AV zbYqi|!56*5)fvhu6VA23825uDvwY^0ilFQAPtrRnA%HI-P0Pl>cUNrq?1@7GeNL%> z>0|1=W@gu=(o>;=jD*Y_`>*)LYJXAJeGjSTmp?lEU;^uZfmvh$ z#oGDFU)Ansj+u{Q*{<%sF@OlMNrJiKMl56U`Rj{zAEu2Ma$(qQ&-;Z#yOIvl?>%%~ z!7Cz)oB`bNy@o}ATxWynLWH5xmY?rR_CCMl7uy^6Ci?VZf`Pn9itNJRW~7BwSIPO@ zOAW>S%74Y;`^1)KiC|i=Y76(MS5qHDE`AX6Ld~;K=xM!qQ9P9r=0n=d_B82FX0V<* zG`e5@sL^SHO1nV%tzd&PYV^xgd0S^ght*A+D@M~E*go6O^mD%*lDuOmu7$+8hJpvH zmKG(UyAC23lQkvIWkKV2--u%C-Jqn%Dng&**>|_m<1UbQS2t+*t76gF`xM`@m>yDa zB>EW;CW7@^;?v0U$^-uF{>+yMKciy9iT_UKa!)_)uN24NH9sQltSu@A4wxJ|d`%H; z0Sn2s`vkxM;sTBuR7YA@?@sgKyt}Ao0{wD zmQ}c~3Rwh78TA`JKiVT%)6Cst@Lb&ZU{8l8H!gcS{&>F0jl`_4H#QCXSXFQ4<}HqK z+L1vhF-nW!mLyh6uo^tpJbFN3=^6?E{l;iy`X=fK@?aR1!spjAon5UhnnP}li6D@P z>lYN*o7=DMFzVtv!ZnY-Aa70m!%ugnRVfQh1DJ(c6V4G}$I>%qM9AK2wH-Wp>kV%} zFYi|x-wVQdsLVc|3Ud(KU8;(m#P~WtO_?ioHd>Y&5AcV*k1f7Ioki%xqqGNj!Gm(683b%^TBYzxE1Gk^eX#YbG9vf^t>?A^d2wW zmA8?$5Nb>3!?Q`g&OgvT7t1#+a)JEcCzOy+&oeph(-hx3 z{CfbGyA$Ixz2vaS`l>kRkjLX%8pmR_koHRMj|9A3NCF94wq^efxY*AmRCM@QfIrRT z3w#?4Zw2lBYD|1R2ET24L6}18u{E4?xahwuU#610vhdm4W330$G@3M+T31(ZXP#hn ziB^V)Y%3^it|33lUsp6wf%cj={KDNvuUom>z6x5N{8mrsV|%+ z%yL!=OG<3h-#mdKWQ|<;lqfMoH>0R*?Mb(CRVBENs_BJWAUB%>%osC83;ms(0qC9K zZD$0TBWn-6s&$QmrL0goU!i5vSGsKNA0402p}CdJj5tM z_7t^SOZ~3FpTi^R)yhiThr=fZ2OuqBOUm9sC-7*}m>nkrOwZAJle^s%B?V$`{M7_+ zryL`-=EU)ys{V)8yShR4>Zm7+c;)oJzzUINswBNi7#kBxuyG+DTj$gFhU(}aIaXoU zv@aG~^xmLj@GT=-5*gFlgN&(rwbN}{LFBTPx}5VwTO)F z#l=^#%6lPF*Ty*%*7~h}nqH;)&tJg^f-0^l>2f~NR#u}r=_FdE5VU)jj) zoa-BDAI==&$WKf$p%Kvr8y_C5NlDITDe6~&*zElv9$1<+PB_wwFbxfFD&1 zoY{#f8Wal|r8)6>yp{^46huE`U+m}eJ>9NDaXC?O6YFYttRhV)3RX#gPX&3O{?dXH zxuBriKlZ44{4$-A?Nej?IjOVIzum45^gXEb8 z|E|LQyz>t*a^LRT)J278t+lmI2l3YLOLq}b7nJsdMg&DYW}047v*ACUNG6Zat>hQ^ zX)vae{-j|`fNH$5Ix1Qg7guT6)=8~&L8hGRBT%W}%FfTZcr-Znpk*V)vX1CT?tm-K zzoxq)&^t?ms#%%w*g0y9*ZeaXUeFT0WE;qrnyn_ucr;gH$N*Rx5?C%NE(d>6h)Do_ zvsc+COigy`rLX+^mkt3rcBUzoodJ3QZDDLMZUYisvV{6-(g?OGLSwNQ65RrzSKZOx z3pW>J5!=TnB)YP~rIi3>jOXyHG(*>v36o+zwhw4r&>{IxI!$Wc#Wiho8I_W5R4G7| zb1K3y$s8rs;hY~^0q|rTecx5#Y0^SkpMX0>*dL0R__&$0qv2XX2nD>RwpN6ym;n1D_wxBqfgvASHcJrB+wzaBsd0Z9 z$z~oUMJ(tLsn%*LX%eqx>FE)5OL~AeJUAGk7)$8Az1~A^2pB#XZ#Aabrqf0?~d+q*Ae*J z?qrYb?WMl}YG575kRHHaia~oe=hk4F;(!vtZw(0F$!seoV>+-@;Gn?ZBgnWpu?5jc z0|Ez;sv6`aO0iRGiY?gFft#Mk-}6F(3I0JWn-5pz_X#+&+?- zgHLW_<9qs-CE&N3?seKxCt$)wdqVxhV9@Cjy|3$0OX5)H<5rkyfA#CtZA_rGqvYd} zLOtvD4~7JM-^4rX`EYZh2D+cc0gH{M>fynO+a<(4$KC|rgev>YhT2pZbCh6Gsm($} zM5LRU!;WC3wu`SDp(tix5=h8)ev4lU1FHJTHg>Yn7 z#k~}8jX-JQtD5x-G8r>e9AB4SnaWFmR?j|R>90gesM01a^{PH%n5sA~6MMRpRciYj zC)AQpS0&t`jSHXFPC`94T354Vq(HvFR72MfXy&iyWmPTQz5YJ%9<#NiZ<10GuTA3hYM(7l+HYY$ z@{QpM>d@o?D{ddC-W>w@5bRvoIN3ZCUnu;0wg3&bllcNQN6mIz^rRsV7r$tYe^Hc_ z^7QbJ4~;N&x@Il3$&>(6Z7Ck$^9*v$(x`Z{sH-`i@Cm8rz7M))Ew#lF)PsU+C^hFd z|6T~I6zl0p*vK`I~#hwqKpihDx;dh`e9AR9mb-6Fma?fBqAb$jf)GswzkIh-~n9>8B@%V z*306hBOF#N5udEkN+%#k8sr=-eQ3xl>rl-XCJ9BAOjl~0%v^-4M>YX6nKSggyy{n} zl8i+y6I^ekl=^N7YX#jxsMu`8Tm5cLs-Pa-I&j_JZNy)DdI{wRe*lPxDKwT-{<7_M z>e)ZcDq#fmh`o6s(qo}%km=3%3IOTWHF70~=w3Crj28p*3Po%bqA?*qKUxUbq>DdV zFe)_b%iLs_iRgHs!DkZ%#);8Jw;@ZyBcIo zU_3X(a?^60@-%|4Gk#^xFFc>J-Khm^LSQ^XQW}Ho;fixr$5LN{{bTN_`pw;w|CbN* zAQE)?7Y#{Y+7f>)dj5a^hnO@7)uYmQH-l*G(_ymRMGY>pZOC zDAf3YHL-wRjNO5cCm*s7#QcMH#Rd8sLa|;mkGGO^t=n&urE;L7el*|YPL4}$!O63t zs{u{}i#VQd5ydAUt#WiZk6lx&gTsPmXEmj4PInW_xYJw0o8I2Z5r+g>g5+e+r#2wwsXJpmKLcSZEf=xgRv_+ zN0dTELM&ztm{3A(5y~8HHs6qE`_(#{i3h{PYQMvJ6WluhoE*69CGchu?ZVrQjc48P zD2a6K$MSej*a8)0JAdq<(|ItD@d#f;kuebfG9CI==>(100v7-X2s*Ur1TT`J$nZFT zLqGcbHBn-JH^X9kX@3fLlLBo`W}5NMhoxWN0*&pRVgPkX$z;*v0yQtNHl-iZ|ro(G@c?aA^>$chD7 zsg@Lyr?W2e3EP7{D(#O*HY0d;5v{#8^(?)=5}kGZQ`Ga#Fs;q7Uz z-*pXZK}8`P{m@?dyjDeH?*S)BDM0qoyRN0L?1S~e`|**XR|>`|PM^R~)}*vt2|Ow9 zEoyrcQ`21Ef+HNCt*olrEl|@2f+5lDW-*gSAI(LzP|%yrk&3Wu#}xZjhR+IvbJ_f~ zx+w=wwdj^=&Fyn$Ooh?wk?{XC8hAalD+^`)(hLKSx{U2C|KYY+G3XCtvb@a(ct4xh ztj_H42!B+>Ks3G;v$_l<*8MjuNg}d_xN*DWJbSsHNQg8S!u6&!h~wF+@*;KL#>|;32I$x^aRVC9HF&5TDNJX0XSaJ@H`a`$g^#@YY#P z%>sDoQNY{nGo6=3v)70D`JpwW;=fZ{AWRksE~%zb*F|p7XYtCGn3~Dec{M52yZBb$zpa9oFbFt)H1A zguvv79X@}LPAi-ieC@@^AcRl`h>4bn4oWxF!>hxfgN#-`TS8q;c80q>R7SDGRbi{| z)?-^wQel0uIXnpUIpFiN^uN1mCt26koLVcQUf%wx3k#dsN2}f~U<^PlGOX`JgIzOz zjGNCk6N~O0^Y?8aN{b9dIY1~bY|t&Y0&EEJt6RiqCo5@(aK|lFw1K)%1Ht2vqzrHv z(0PAzt+SLGYdi8GECF03ZiF2CJ(kyLd;L#1cK#8@v1<<Wl?Hzp}CxGZT2b7?!-=&;%N)X_+aMKNT!q0{(8fL%}Y9{?hEbYxTN4gcS! z1pIHzN;=v`;ZbYkrq8)&fbTThm*8^Je-Mfqfsr_Sfj4t3q^KEmA5xoyD;(rLAiZtt zyzZBQN}-yoy@HC}h=6I+P{spO}AK`ifhr{WgAE|NdhnGY!x|&KzXBMZNUxxM$1}t!XNn&Dg1n8sh7H=aGs?m*6f(CTPxG`LfN}V(>eko$dM%m0;!w8RGziIC8h8t?C}tYOH>CF%;b zaZ-$@F34Rnly*ripawCSng|emj2KP%Z^j4J)Z=fAIv!J}q@>i|buU5p^%os2D7<~+ z=1`MwJuBydDQOeAQrs^26EkKGaApPE3zc1cX2|-c@|H~N{nLmV2Q7o9F2OXCRL3+G zlJPwa3tf-|jDf(YxyJX`pZDTxCoOZ^MqT|KJX0s<9s!5FbjTv)EZawx7+&C52)nVs7p8qmkkAX$9%!*y_|~VdhzXnpbzP$uFSK z$>QVVJ$9z}e-aw~vQu)Nh8#v}I5TRR&)!}vc#m}rz7|-mV_9*}C) z0x=^08+GPw32aYpfjSVSIU<=G#1MOg_w68C1k@#8VB>~+VZycM znExAzqh$g;Kl9^AyvsgSpr5-KO$ztlsOOUUogEhKD?0>ly6f$`ZAPnWtS^UG$KPpC zO?{6af(H`ZkKQ>_UG=*P?p!~#EZ3Z;2e3}N)5WFlc&dpb_38y5qi{%6Y$&a(vLx*qwMlgeg=ZilZY z8iAd_tXrQOF(vInJn?o6sT}guIbb_hc=fu3)8^D)SaC>MqFCKR){CH2P* zuGwjG!^G#8r`uHIAuHDXe`xdAiyg{AjKwvTGSqC#4x{-G698rs#J1PrDnz<_C(n(( zil^hkbPqjFFN<)&>%4Gtz@(hH?K^;8yScPO-|v3e@<^+2v{drY-Xb&>9LL>Wz_L6r zx+->G5oMfm=aRS@ecp|Q_T5z!2gli~En3I5W@lU3eE3)IYMX?0H@Wc=QVd?Vdor^u zK=i{qz3Xp^jGDy9a2)Z7zPeIGAOKukT(#S$r#^;F&+`DPsS@^Di!yloctvBv3g_8D zD-DA9Z^Fq|4#+%L_PyWh<||u`)IIN*TBE|3a^2>s;&()K$-QP1y>gcd+2@(MIO5|% zh;PQ$YoJ{tPG?pbD+W{TGNV4(dMAy70$r5^tKk-kOk5;Q=d6WdzCoT<0WSM(#J?QnfQm(_%5u;;ZW{@3*aHU-Lq>G zmn9>w=J6B?jeiJE6fa56{7DWjZF4w{Z3yr_uh6wt|kKlp(ds0hD7e(XF zbj=`U*EL%!mX8gR>yrw@D^sAhr~G(drazFi3R}i__opf*roF%i|9PE-U;Y|)zPs8H zmA{V9RptAZgx-4U-FC%UB)jqI$X+b9-TQT>uh5-Y(<92@dYk^-&JsK0pINYReIapm z)GW4l4=NAjaIg=5glCR(8Pj2pJ%;-(*jxNUPrz~Y>9=mAznmUIHYisoM9WyHtkpd* zN2E~hSjN(svo9-uP0DmTSeNBQuXGl<;yA9HZv%OnKbSRt8&|K9PbR!lX#OQ(6XtT4 zD_;lI*4@7nc54av8hqgZVqSP_^HwP0{PZ-VoiP~H0?zZh14Zf}pM5{AR?-R^_Q7~k zN^#-|3gL+d!FpyN%}+*m^La(gZbl>~8g-9Fo)zyK`rdfKTKq5jmKPKUj3#QtSBz){%+zczE7_Bv0_6 zsB2h+=P#25IIb9cB#l7E4~@q^VSgV3zaKg8fyFYm=zWmBpVqcAkAITkb|{TFZy+B` z)hPo9pBaNCkM}#%e+PpSv`eDTggbC)P(z(d#5G3dDbjf2F7Sj`HMo5Ap~D{x-C%~h z15jlt9zVv(V#YbEhOI@Cvs?Djfg6fK;2J89f365Sq1v3(G(2=XFXh2WIxB*>*sI~g z*qk>zO_bW^4F!=}J)UXZt*WL@{#(iyaf91vgsVp>&ucNK)k)-9; z*4AUmpIVJX9>FXD48JxdgH?xZO7A~Gx-cFNB4y45H@FLY5&#(d?*nHo*D-ssnWv3w z-mZ(O`eYGFjY8sO2dO82)>G9hg`py{SL?;#tA%M6Dq$;Yj{6!&W+C}eujWmxDPpk! z-bN8LljBZu-#c;Wrl;r%v!NOTp~(9jh7AB6)*0{R56=TH?1G zaRK`ShslSZo5^5*_|yro(vPaKaT6e#gRivqoP+&Up?du)m=g4-wZzG$y;w#6h(iq< zDTjagA{&!rJHF!fr$$j$#NDE}u59Wv2n1bRmAIOIaso1j1t*ldSFSZT(-+ng%y9Z6WbZ?bK2Pd%y!H2x~azLNV|E z!G^X5squ1WO1FOvqxoY)qy$_FK9Ggf+|IZ9yR*Ms`C?=hI{kKRUJ();9NhiduKBei z$o8b!&8(fFMqi^26x&H@88MJMt*&}amZXU-Eb>vcZbNw0i500Z!8vb)j zU2aB$%hP)^o3clULu3HrTF0@%aoi@f)md6>_1C~+g5SP<>#+qLx^7XCV^INf^EseY zWFe+B#o3TjaKW`LXTx%D*LwWgrUF&8UC)hE@6Uv>I$t=BZDcpBHfC>hn{Psa^#Y6& zekkH7a6#T5+jMD#{$2Nhx%gw?X?ta9m0;bDR7Dcbyw!78cU&g1Qg7@99svPCeWfsG ze+r8oH+|t3VG2UI+WWSLWr7G$bv6zybI4QL#)~maxX?Te8lYznrJ}|AAO9KqpIIDF zb>K(S#suH}R0h#+$!kwS5)Qt!i5B8UNMrcrdi}LSGOQXLkZFZ4@ml?!WeXv2w{$kZRWq=v95PesY^fh=2D0 zh)_e)6yZkjrg{kKDTQaCp*xKIW@cQ-z!G|Q&{^zF`oGFoR-VU-%=>sWMU!L8?QiH{ zqcVyS|LL;Mv4A>K?JXGXH)%9?$^<#6(=Wj3a*{M{WP;9-Ie&J@KMA+Nw^S&7 zK_G+oUvu#hJGfRZ)Vn&)MwA({ad92VIGC7Iz%Tz_waBf0Q5n3AoFb~_I8q$UG!MYC z6qFKCHgK!)!h0*xqhr{RcVEIQjh;>(oUh~*r8YA!H@K9v$|iKP138{ZqxpYO;}2BU zys&zn0N&oHMALM*o??9WjLF(U7uk7t$(g0noD%@Oavdoa8|djx^vovuO6-ibIQx3l zY%Z{=GTMadKO@K1i?6&q{0`<{VHd6(fZAu(nx-s|4gDvngQDh|I`0byR+~c3?GxZX zZ&{v2W4G^}{R-QwXw=TI>giwB@ZcafY*LS@5Eh!U4?|Cy?MO_;)x5ImG4sL(JVXjV zyb*8eZ&pXGMUO@My@_+B;AUWaU2M*2ywo0on?Q?)atAXf7bh{3mEy!|y1V-HLY-CI zlfLOVds~OD6#E}#)91aydMMMJqU^uU`)yAXjMuouf*${u6p~X9wzv5U60hk!AQjc$ z!5tGY6ERrf|9e(+edvg6~Ii%X)SaFXImr!O)P*te%n6uNR z(or4Rm{+@{0S3M4+^ph*rM<=~Vh)`%iZ3kvTQCx zGGJM3nK>g4cf3F=>iu%_ev}@6k4^m6*aMD_(kX__MwTVHGFeVJTCf}a6h^52)Uqu_OQoj}D7(7GA(z1|A*xTE?oXJYFk?2sD zB|Gpo2kUUq^3c`lEYqq4%~W9uMkg|d{rOia{uBM4CDp1L(0diC=MiTZ(?9d}x96R@ zrx80zP(4Rf$S)$`yW6#6>eR8sNtJxmPExE8MdvZ$m;Q89`ZjwG)0pOS^-ol^XV<*2)-;_TOvBXT% zTD?DBKaI}gJd;H}-!w7``7oF|`Tg}Dw7?Hce^=5F?$ENRsI1g*esASC|A~pwdbWVI zx6jHw8P3zWB_sRzn**@4r-djn9Tw}J%B}wjFdyia6_DQCBA8a@PcYjwI7a2}MRQ@4 zU3Ou$(j;%jy|f`9M6&j$0N8kzmAd@v-<^I6JT9e!qae&h3Ankj!8ZhTEd(tFU)F^~ zINkjP#BPLeJLY)^3zt(m;341r;FV)VSIU)%1;T~eN5QtS_2vZ_oA~Rk zyjJT>0oKrq;xJDr-BZ#HiTfJKW~yZ^PALB=m(77Z!bt)+!VDgF0p&g-9 z%*Q55tq95WY*u}FWDmKs1g6vLAnY+@{(7S`4DO}0DZ?M2yroLy^l~Ub+469u#ND|E z;BHTY#B-Lakf2gJT=T=23*+Bvh(OBLv*u=Ok9q2(r2esKkhl@jI`3b@>8X;C-Y#In zU3j9q8&yIip2Jh5H1c;*m`gr40{0B&0(7ED(SRtV%wjdH*zQ( z)&nS8NKlQvLWS+sORk0 z*RKo&YJukJS|H0WPcLV=M>#*(^&h+Z%J2%sRzN5=V|6^WbjHFhI_z=w^M=MGc!@!o z!bL5DRwJT(i=!nzMr$lsCgc!2tb5z(nk_3mqfq_RP&vgo-D2LP{ zlzJT}n%JB}YBt0?KW3>Q<5od5o4>1(@G}yF$9RJ^4P5dk+8;V=3Isdv)C0W76heMk z9Xh^aN(xBkQZq2Gs6Kub!Spkto&y&jN1uw*6APNvT8E$D8&7P+R__Q)hJM|Iz%j7Q z>8Kw@FNoo)Ag;SY_WW0qcFUyH*3lWu>t5$Gh|!xbLvvQoA6~sD7sQJKpuA_szI{Y@ ztaKK=I6RLVdGYdzrNN~J$MWr)Z)%=h^t|O2Zo9SH@-{cxG9O9kh176_et3i9*tcT& z$Umtm>KXPxj_i_lIET^l1!!JFIUSZ|vd+X?;&o;=-X2MR|A0rM*2HcgBP=+i&t#T& z=wM~leBkp_#)y>WDCET_2RM_#Jc-ENuot@ zObrz4E0l9hj>TvN>tqD~Urk(jI8^N$9y4RlP9-vwHT#n65lJ&5m3_%q4L->l$})ta z?|Ghco-@~b-|v0jycOuS zb?v##++$YEhd(c)0gv|I9Z9?rZVCOFuuC#fKTRxO?JLjU9h79czsIut+MO~!Hg;2S z&5xyh0|U`pc?b0k-G0#9J2r^xgeV@3maJIgNysw}vTU3lcDTddbb%Xl8vNB|q~fTt z^JV*sIrFM#6$kw^S&AN4zCgyxEx*{1ECD(9$4Lvq%mShm%C3}Wu5FUz(3n-l^b>2r zq;go5_xuSgbj7VXN9mA>iMufyk=oKnpvMP-XL4bk3%eT`IQx=MymFfn2P#-aJ@H{c zcSWn#Z4bb0)qU{rDE+$Mj=2!e2H2*T(;!w(>RrL(`?*TwM6+pY+%ttX+^opzCo)py zBoq_a^)&Ny;61Gy6Z1V=BU`cRC;4O`n@%tI5Wk!Gr!`u*5Z3*P?gB{WaI0dF2zPd6 zVe*Hd26Lw^Nk&`GaXD>m5kN@GNywSsX)0kWrZ0k71AnU3Zo-}~I(=_&v17MA!!C03 z1#f)vCEosKWYI%6+8%akV!fse^P9CFEq>*DFaOc=C%I`FKxe?_OX^OP>xy!>sM0)(#x4gZja=hv zXk#HHbl23%;_fM^A_9gDQt#c)WKN` zNSO}?`N~#bjpiA>?V@4aO+opMuL;p?!>H$vu^P+WF7!>S**){Pk>Z9r<}V^+xBf(Q zz*PfbV-QjP{a8K_*Kp+xT%t_q+2*G$))mJeAsnQ!1{GB@F%%j|YUT~2_J{LoU-?wk zYYSI5e?L%jo$5ciI4@}E8aXpGXnPr|ya8+{k9F2)bhc@9l5@%{LB8iqIk!D;whx&) z%Z4(dXsb2gb`r>!qDY%VG~!A#jhh=b!pes04|y>E2v^OCwZ{p4@E8BI1xXe49&qn# zZ;SGMKC;1+l$2!d;UTRGaGE?+`=I*|`l6^g)B!Z*D*nP@)*64UAA##R8wX-|vv$0% zEuWh#xCLuBAvX=u9*jFjf{QEEe(<+ljb9{Y&m0Kzd{}f2?b9bd*Fu}sjE_Yv{=Rd@ ziGl-<2`mpEX#F?BO_x7_+}d*6WJyhIHo~>5sCB)zZfR}qn_#TcHFP89fbdk`UkS<& zFY#V9oqSSzEkT@Cn{#;vAmUuqJC~`B{!BS#a|;hzvl_0V4y3u%#C!ZfEdTa)c5!PX zw?_u&;ha!0a3vOBp?T^|wU6f%d`-q>HNfg2-LiG*)WzSZ62pZGx3h(n0&#k#0w@%U zzPyd*m!>fP;ynkh(5)FRh zf4nj;A95j@O1}8Vt&G6iRYbZ}^U^vd8~7=6x|6UH-Mv!eT1NP#*|X37iH_{N&7Y`$ zpc<{?{Ygw}@}G3$aSE09+&gM}cIDkVkg4}@^y*8e3^iO!9mv-O>hhJR_H2B69Vm9H zC{GP?WV$nbBnCqMvx)3TV1D!NKrG{^m)vQ;Qk}g!EhG%M|Jojw3&N|HiIOEWyi7P? zC``}PKs@52_+*C6vyq~MN@gdUdDFmF@Z%QZlaD!z&~uBaWF)0;+@!0ksr#*JTNaNl(JU2M98f0)sK_GM5-tv0WYAof9Yy3$hhYS%SN16}7vMH6xT;~G= z>ygY@ry2b}g>1J_p+yL>X-MlOGitQCT1Wn@9>v1^*csYm3e9^`=?bkMFef8vS~jOYihMa8;+m6M%uOh1 zk301XGHlGUglF>$uiMs2`J_BFJ#vQ9BY9sVkvTb!`dVwYB)r~tltJasgDbS#?}$Oj zvCYz06S`J!(T%yzJiVP9QO=Z~_{Sj={b<{KO%s_f&vNu3Ghp_#3t08@0e}bNQavA^ zWam6nzmfl?%MVy&DjT*3Z1lcaK|Zoq(Xiy+G5ABUr(-(-;eTv3usvAB}# z)8iE%IDYg=b)ZIoe}*@PVY7bQUgDE&g|uW?&TC_N^AO?J_M=ZPqVJA@=OY(9c!q}J z#DO`&FK55=BqUfsO52AS*J~AKrI1Gfb_gL32inTrEEph$yt~&hYm$(DdGYHlm1zv zMk6Be#8=0Sn4|{BC|q`)@zi49ad^GG?hR&BH~pi_1ng@?7v24&)f~*@gP+5bwvQjc zkJHngp$2hZPB>L4F!~otAN^^m8E`3K3yM#^CLYfU2aIy1X6CPYFIIujXmmDZXYm_% z$2n5pTXfLGk6Xn6#k<1dUkMAE*BSgvD3+YT>4G>o`MzMV?z5HwljX)!@dLX2C{fCJ zz}IuGEW9AaLdr^cDf0Ls&ClV=`!kon+BY@ zp_gpGkOA|pS8Mm(ZtBh$;G%p{aJi&drsQ^E5;2$C6Xg#U`{&|}Y>IMme!eu4dGD9X z;2+d!eXVOVi-BjqkQF+YDVe9CZmW%rAg%yIUjsxL~#EJXPI z+qm)#YRe|+DQ&9_Am0yS5s;CVt>2Y)HRB!$K77Jchb$v+5;OZ!!M2zicWKb>^xEWO zoX_*~)i^mh-}e&84WYFd6uq&)JAn;X-Pl|twYXzrm^yiO7cSgy`#0#`i;-pA&6ZXr5#gk? zEM@au5QdHzB(4;+Kax;=-EeE{V1_K85W*qK2GGbplQjA}cDPL;F3MeaMbSL`)>g|>FX1@y0N;)V0oWu1j(xzDC3 z^aOt|bCB0h7?k|x_1I1r>hJ^LZTC_KJo5o%S(h|9gn=QVTV zw8PE=x_~6r%P%>9U9RSmT9jtgQVc`o+d2U0r}NtmKw;aTMw!#4${DY^eVc_v5Q8!>0qKpMI>lMOC8EWAq_1$r>@J#+JY5bq^M> za$S_i06s6Q@71flF-}o;L&eHm8`bm9iNvn8OET2oi#`>;HiNeHLEfM*FIOz|p@W-q-?SRE!SNI(`&78yh2(w(uFARWJ(cVsWJTgHyAz9(uMt z^ZCUx?R~U2t~%=mRUtuN5P-8ynMm3(8{;xar}=2*={qExMPBo19`Aa*H=inDyArbw zv_(jv{c-D4iH0U(({!Rt0r$?S`LJ(+vARb4m5oCjm~XU92x3$b4GZ*M<39X@zxLNy zwNE<8;_CC;ILHa-L7*wVxA)${6~-obo)_Nb3f4QZw~9@?hT!fuyA4a6cAwI-HxdN0 PAwlQQ+F89j2DPyYi+!(S;MkcsDgmQe1d=(opQgnppZxVmB(P z9#@!KQQBLAyt>>E#lF~cq;D3W_0 z0-lN+Q6)O<=&j#4)}S<6zR{Vze+GN)Nl@@}bvk^Ll$MOT+nhVv`ZE(^H0o zZ^fOqZ)58B4;sx$M&xzXv3-L}N-Q?*LaUpLKONy%Z|$=7%Syi6{qA5xG|hX4=!nIY z{yrcSGHlQ5W1glslT7lyGCziTU5y%nu~Qzm@Ns+r6=+xXh+b5-f8#HI6ACH-MnUB? zS5~G4m7sZECXr6a2KXXGQK;ccd1E%o8PoF9Dq*zHxG!dPdCKyVuL+Et)5k*PgH{We zB!9a1Z{c$~w46}qPj#eVX+4FEmY$LfsJ#uPZ2!hK?;g%AjNYs+@iN169p-dV@leui2e zu$Nr?5LD*Uh)AMyR3D~rxwB^F zW}Y!6aLNi6SoV|p{JhMka~@{eP(&8wy}O}5yjdiuX(U#Yc~?FXlvhI5lP5RAZj*cb zXHz@=aXn^r)QJl8A;TUp)nFOg#QQh4!FZAMUlLK76BQ5%|7+5^0YOhtpg(oH`2H>` z&G}}H<(uT(SAIIWZma&?SSprG!N5}GEL}f0CHgo+f72))Uqv2GP*>cHX41*H`W7V* zqJta;rAS1HCZWsAy~Zp2tPJA$O^Fe;nuHe^!stO!-*a}DRbRer^ekHJ+4N7sd>rJb4jw=VwfLHJFV%~)dPSX4;VM=t0o zR8y|;xpUiUY>Yp7`W>up4i`oXKmJ@BeZxVP$JMo0eBCPQYL{#$$>J?w<^$aT*cOynA?%R)7D5h3 zCffJTiMONf46*u161AKqoy7GHm_ThVPwH$q}~Y$tLWgz}xkLWx#-O z9}81%N5|(^i_evn<=yFe3<>XG(TUgD2IeL|{$(?WH+0t#joRUtX@e`v|Df)&`_BA_{Q&B1YX84&4d9W}IUo`Mkj5>)r zCp}%i?rQ~W6AKhqKnqfIR`QkWl=uBIVe54E<0Hc1^`3xoTr5hFVJ6$O3}TBrTc@Wo zH9i3LRJL8FGfPfde7A!DndjNY1e|f=PBb^ofdOkZ?_h{&JWGBCTjkwm0`E*U+m}I9 zC~aP6lLur$BmX3Ep+ZLx3ig|S{d5pREl|uf@0vNta-6BS$~s42`n4B1487V2><|5L zqe^}_6X+vS<(XWq z+mKVd$3Mx+5tJM;84uEQlCE+Vzpn8Ov|$n=Evlh4vlbKcVgb}pv2EUbL*a5_(<0(K zNP`4EvKJKVis@I268pemv| zNKE;x|2KSC`Yzo5t+j@6iAUz20u_k`g5$NiOdY~04}J1U(fZVEQO^pi0~)v79Ebbp z2WS49SkcWDq!=nQlOpPT2@N7v8?1q?W}-@ZL}n5}ZMk6M-Gh>e(T<40X1~o4+fl!> zB51#Vul1C64F6Snx=RwZs+I9?-V8~7^HR>jqc7Zb#-Q!;WdCYjFKDHNJhI@rX zgvoW1d=S;Jbz(giMV!70+@Q_nZ0iNEtu;y?G&(h$_>HvGu|3)RygXk1Ezx@Z+%C`K zy-)q`tb08{J(E3>6%8uOlg=wt3*m4<{ij{sZ{r(xCB#>_T({otz?Gbs>bX^E#yw!S zq~x6^4CdF@(0g9~ro$@m&!0cRq#8bLXA6}O!&ic38pc)=UUXk%o_RO=2>>Ew2BnF= z<7cUr)nozzOmA2tFy3s9&vVH9K+!PNmJLs4YI$?NX7P!X_kAi|H;2Gv%~^1c zgK`bn46H@ywE7#aw_~|bnF`q|Qh&!#xSsPoc%4IEjxG8posTMCF5TZXW8JEX$1rb6 z@)Wot`8nxNp&lWQ1;>^p_-E=Q?GnMb8gk_yea3>Gs?MByRrnK4P!kIEG_C?Fxq8Q0 ziDN+(sf5L;1{lq9-(Bi!L!H@LF?a`XNeE^3N^$Z+c{STz+;`B=WP@p;bBkxO%8p0w zU=Wh;D)35HhnPK%ao^s|5A*LLx7Wqa?$lA`n-jsb9%(fGGOX#u*n?Vb@u6zhGS1s) zYV6~&kbs+)_rga4?oF<9DuOF1Ux~y8+2n~&0LdNiaXJu$P?Id zBYZZpk9nTx{DHk;T=376JyHhtS64)HiD}$5zu0i+TqC$!oUDHS@y~0iu^-zvcT`%D z5-p|HuCW65Yhrwty*wn*XItI&7*D`j|FMj{$Ovqbi$91!d|jW$@T9F~9R`@kISQ=4 zbAd31m03!7r%9T;J4X04BO5zr{yt7FPECFNcWzv4Y{ORmeadzed0aiF#X^8yUyl$Y zyX?)ENgn=XrfE8)%BiQ(Eq$C6zk#39#sm?A@yo_YjKF&!dmM(b@(Az7ES2>4G5o;uWn}on z3o%G|kjJgs>{I0J#?_R&9%(aGBb%&VxqMkd-wJd@&8x$jp(M#0{?hx@NTM2D!(-Af zpP4r`-!}FX!3-UR-t?ufZ&g9Gf5Zv&VZe8(abvt`vQp6+Xv0GyO zSbJX6WvRC7Wh_V~A7JVp7vTY#4m#`9>O;a-wr@1AsnHK^k`W`d;1v(Ps}>#SgK}-9 zXj^=80#`TGp%hV)2Tf)P|A1S4*7XUi8xlyy&Vc1-&)p?qmas{$ez5X+C+14O?1#0Q zi8N(KY4aJX7Mox@Yjb{HTh_IvtGM00igB;=Z_WE|5Q`1t+S$cBpy26|R)8EX-XRlF+M+;czvWF#T{cd)qG89j>&mdGxo1+)~;k38`CFFn8gx7!=E9?JwN9gYWanV)kjb#?Sqqh1QlKYxe)ly~mIK z)u6^@rri=C4E5qed4N)FgCzBZ!JdyGF^KY2Pp)CE?O!H_p9ZjV_O!|ZSCTt7@s|ZJs8|9spB*(?9xUV9!gTJV&B53(@`We8 zHccfe0@ipn?IIlk#?2e{pQLP2*4uF46Zsgf z`?OZBvBvjCnz>x}VfW3zHLoK&gGro^(VEA=!6R^WXWB($`AeNHsY=AQC<`eMwHGj% zFNXN3XHJr^?rdQVQ*MmRx#PFgc2zB}_2l))1JnRw@;1|o#oX4^I=J_~(So$Q)FL7M z*WaJkA^&txMqYmI`J~zC@bB?!4%y(-v@|}kvqX4cB|S2Tot#W2iSnPY6YiyMBz&1s zEd#o&9^paZ$3WjpelPJu`|p@<1A_7#*HO}P^bIh8;7R#iw5F=Q4IW7sZp2^r*cXPi zrPl5!C$~$7RI^#aZpVtGpnc!jtecy{<-*$+e0IZ zum0{b9VW^tbf^H2(1C-WgB2EckO}W!|{KT zlK(41`JX1K7+eoYS2VWtcptyGp8wpddB^E80%+i*SH%CNfSBc#GN}z+dnQWFy=@^K zpJhNAKdYTj@cj0SG^{Uu>}{ppAURW!{P%nX69!zpiFG_u0*)sIB`k?xPkcSo5cC?K zHKNRfMd+LgrXB$(FxBiM9w<^4?c-pZ&dypUn(5pRwQlB0Sh-a;kPq3~hq>0=&Eq`p z(ygC=vt0PhT?~tNM$(r^ z`Y-(gGy7A5td>vQ_1+Sf*c20al_ z(%uZ))o-f#y~vOvS((7ur)xSInx3LIU|%@)<8j9IA=zXiQj_x|1u6y^9;!75mxDsu zx`;FH$b3|d#BBbPVFW<(@Gt=|jj`40_7 z)lWfwB(>2-rrrz4Z{kl7sKtuW9Kpyx-5O)MFax5rxit)HwP%4UTvtw{WB8&1>h7Rk zvZN+06I!j-VOF|@?WkeS;-L;W68!SOaMquAZGOTh+`zcy=MvdN z6ic(Eb{>L8$psK1{N5Cl1ggYy{oc|dghDMSc$dLtZR%eQiuveprbLGpvKD9CHrm&0K&S5eRyX&zP>?>fa$}5aRXyBvb-x%xPtSr;o>Ty*?U? zB8A(Tay%2wN^|1Yn6?}|@lSXGa1Qy77Of$ zd%={};=uIo-8*;+(ODv-T5?>@=(?in`TeB+bEK|C@t1M617 zxk5B_bacfJA3{HAYs=~Bk-+n)UnwbHPlt?v53{qM;wZ)K?u;BbZ|}5yi-*_*DwR14 zbRaI19YG;jcNH_;lg)42%gT~_UsrgYAq1ClzwjMD{U#2E9~77Q1G?(5M(lZi&da}X zbNq@8vJJNZ24lm=-`F@t4e9|@!n-yL_sAn;-Ts_u&Awn`{D(>Us z<2g2PSAlNo4}equ_U&8s^h_leL-H94U$7(D?<}PJcg)P2P8>N4Ef zN3HQk{p=gyzM5#0vAT%>aLAv+))$QCU#mA-+wpV+8<9CbUmvSyTNB_YI+Rmq6+5qyPGxLloB;> z|GJCAE^^K2_rf7Uyjpf-H-0vo=s10(D&oGs8T}U@d`L@i>KyBPz34eMgmuzQ%ke0q zGnOAewW6%{7%*7_)=)pzPfi>9Mw3<-4+AJa(wrEp#V-pHSlZnixI1vl4&8q8cEF}_ z{FZ*xX&3l?=(hHz?`s=nXU&LyN-C5L=xh{z6RMAl>V1yn0i9tY?0=cOpJ7yvep_U4 zM4M~zs}U`gSV1=S9J%*Nd)^asHX~0kx(6;ydZyf~7)}{UzXM~I0~8c#7ZUp2H5oTz zV6v{-{+E}RhyLWvGpFFUIX=52MJkyB*GB~QkBzo-KUDuna+j)MuQu9BTPUDp_Xg#| zuL94^jN4<=LhX0G{tn~n106oTz@FhuFMi4P!lS5?^U2FFiG1Hl^$5A(0-&Iv2z=}K zJ@^E_ZzPdUKI2+cNcwFMiYVmM@FCFGRY+-#*9cPCX9mw5UpL!U<-ekS?#ep` zoeHP&?#tUlg7a`}D4Y!h?299RhAZhd1!DK~94d{8-hwEw9ChN1Y>wJp)D8YFWaN2D z%=zJ_QP@?aiY(BkSXxM_T<=A*;DqpMj?KG|@Ugs3M@5p`TNgBvOM@iP9O9#0{NAxh z4WBKtKJgFNZ8_TKkvOZqjZlbl{HVWSS?qCd!bWt))GqcbYV;et|L!? z@`?(~$GbC~4<9}#C@5@R?u@~sszEE4e-gDdP9x*WCL)r-$`AQ|K_TIv78Ugx{s-c1 zgz&&(<8%c=u=v*UFoA0$;4pvPv#yHc^4^HTE`~Eyx`5XG0F61u8GNgFTABW0=jtup zKHtNR#Aoj8p8~U+xBgV%zB`5H7GeO6#alSBdL4gKm!1i9hCm=B&fZ(UW20_GO9z>E zn|9GQ;~w;k51qNh8%#)qJ!vWQP1Gu;almcoS+B-(GnfsrojV+9UZy?k=d=^tU+^r? z5_?5RM@B{z_4W1VoL-xHvhp0t1xfU3qd9OdrquG1U-R&!iTSWNlORMV9u)hIj;K&K zgaq!%6%<=45I1sJV!QBl{Xu(~)CtG|X!VKe7^_?cn4i2&;gElO$@U?Vw$T&(4Ny`l6Pf}U2o&59sl!XCjP>O(mXVHrMIpz&+L7j3xJQE<0#lvo3HCKUyhp|aSv zw#R~p+*be-Gj`88mf!5Wd!PEwH?QLlT_(vUbhOAw45_m+mI=*I!(fi} zh;`+YC&y> zi-JM?gj#d~F3@3R_P{fh)8sblf1H0-0=hZ!&% z^qzbg3pIQ1r?bAxT`lYQLz6zX(8&C29a5=o6ePZMm8g}%j9f0Us)wTWH(hBa4Xy|- zI5mq1?7C)r^N_m&)5e+Hl3i<`vY@`l&*WbQ$&qj-n;|C%t9brbFW$5}BKgCtP}ESh z0;!%~{qLE7mh^UKnqF$DR>QDe2Nl|yNB+`_rzHtR^rW{3WWK^(u*H~~Otar5iy}Vi zn|W#+05?W=V1=Q4JLw7DtWEVhSb%?~|*qqi1)H7haIxRC-;~CsDxtZ8!g<+5F;VzwfeCxpXyb zq%D6hFV^gkajQC4ho_Dw5fEeU_Z4gS<(Bz>R1Vh)O421{6b2SEEy#py*kjbCvHv(I zRz~e=$~?L|{R8dvJ03sV_o0K+6I$=t;C4w3cd2RPDpa_`b#Iidtcp7?LIM(X9KPuj zmBzy02AK4i*pas@RyK!rCFm$Pxv;gw}~?qVFy?z&#?CsbZV+&kx`s z0tZ3epN13Qwh#Cz14&e^G4K5PBTxLVWm?cU9fQpJays1e5{s?emH3|7;0J`q{g(FU zfq(ruH7&njz@nOhbGnUBF@~`D5Fl%mo0cot1#@IbFv2n1iz{7&7orBt<8jo!+w66k z+-QfF_rFKBJhAGhki6U>65kI*6Tq)jB=0Y;TnFt(>4HmX@;gYw{zN(kf>{x~z+$pG zsaJbbS7ke*o4%@g@Y0MXSo_AkK={63ckCt$+UOZ?Kky`TeOEKbMI5GZ%kzVw-{WdH$f1i2b79E30Y%3K6pCy3d#3w)5Jt(uG3zgB?uZRThleRY_hSt z=xTKO$`M4gZ(<*s0^@R)RM)(-maAeyh5!+bPrU5{M~Ma3 zEE`mgu1>%uk9;CjXmgCy_dGqRPeEF(jow#HUM8s1m%-)lu&M8j;%2V!iU$yXa9PRR z-;7G9pv!)s)PJPQGyAisBoch9-Y4w*w5OggD5x)nxw&WEaTDVY9-@Q+hTS0)nZmV5 zZC(_^&*t*Afj5x-4G-#Xp}toObKgX+0s9X2upo=ct?fW#|6#&o1MA#Y(UiL{m*6XFmI()B`?CNAg zHlGrkGdx(m)R-hBHY%2+3}1qd*G7Kzw@s1#2rGRl+GvAK=B#&a$F)1i>E!-FZ)jgc zl{sgc97N!2s_zm*p)<>h!`^3ar0W#&gZ8DwZM|-$m5N7|LGdt@VmB*g3yMenT17`H zkVW83roV^TAHg{}y$u!Rm9=$&y~ps^hjf>M==FFJ$8~Z85$79U`EhCI4M}f_#@*Az za&nbA7ZUkAGr*)|e%M-K-+Ri~M9R>%E}naHA^#h!UN{J`!3Va%n%1MqL>rBWF53y- zswLJ9PY*d0)fqB!@QP=DMV5$Wb^qOQKPMBU2mX0)YfLGK6=^+a@-<_Arecv2~T{iy)r zLZaA=3r`#y)1CefC&Izqul!`A^PE%l9F-51Vo6Q@~WmBlNXj$bzYGZsQlUJkiXkE2c1@tC*!4mV+1 zRZVU0{$l$RBpk}5M&UR!4V}zxGjTN(u=7b?zk?SrznJ^R&F!ma71>pBBZXXxM%T-bd7rp9TbX(M-`B_`{zR-MHl11BUAy5()k4zoz7O14b-W9O=iZ`OHYi>>}C;eF{xZd-G zr6zkU$e@IHcD95yVEu@Cn%NUoH}|2*c6;M!*J&HkWG(}4c)@Wyj`&&dpEB(UMH$td z6TqTq!>^t4RuK<$TSALC%Uf(97jZAq=M=nKomM*rCvS!6$uOvwL>xI748g24@fW=K zYsSmJ0;3_`@S5AZW1tXbPIIWF**H| zd!Z5`p>}(KcWL02e-b(O)}wU>IH^xMzSIZ=zrau00RqYfJ9l+%=s^QcYWzWv>Z;LvB*78k&!{Blb2gQ+Dznrz}1tsRO5Qy4;L(w1vA4L{Pw@( zDSi4`)A?w71vyQfVo=@?GSkV&T}KP3oBPu}95+k}1wIMESLT~gbSpSXKXjy{4wX(4 z!0R;U^SvNUCtiN;Vdum@M`&*V-XkMz)jLz~hNMln3}L=0vzNdkodE88yWcbNf6RJW zPsXvSg+BxcN_CZvH9D4UD34?-eZ;B?urgVxAbIvtBPm zl`QhPb++@nSwRZhF{WYDVHXaEe|udafPFRiZi#TI9Lv3oZcn2XuI$skXL>R-J>F=l z-X4{RxfwO;oVtl39s5p#X6P6@l7Q?LHsJc#_O@J$vtN9*b7`vR$%D_{7+ePY)-O~M zC7FaBk~us^J@>l;oJyI`oacEy~p)JbDHmaEfaUk%w`M1d`j9 z>OQVD=7=@b)~uJXRilv29j(jiRCmFAE&IaH9z{teG9vLy?&+QRb&(0JfUt0ZN>247 zWHj=ZP;ko^1EzdY_(4fxi+@!1W`OfHn`$~*XtArPk2dTfve-y?u0q)>A_ej{PqBQ z2(qeSQmBz;sTmkQt7+?WhA$}Ri2M#|YYU18uTC!F85Xa*~Qmc2QQpj*K-7VpuhVyHniJI+BvEdyo6jVeMDen0UXwt~zde313 zyjgdvd~{<&6?LMc6*mpsh=Mgnypj&6ywIKI#e*PE1agH8aca`iYycOtM)JFJY$(bV%oM*_6se z|KK>Z4;8Z8vu#SAF$+?ka6a4UG^Tj_-UaULqN1WY0(6_NzoYLbV#&|V9lr5Tj=R3T z_PwEqttl+*-*#_VeO*Z*E(fnqn|hi_a8x@tM8S|jPjgB0YT4EyvKm4(Gzi_3uP9o7 z=Lg>sd41iyQr7pPP#!agF??Njc4DkwE)d~evCrxaw-*7FCpNeNFJaZ)+=zByV3nhv z^J0%}Q`6oF8zNFi5|+G?HEvD;s6e<)N#!yjgIgqDq&S;Q|{%HLlvVjzGW zM`~F2~ECMj^<6}wE*$RrGWNxKGHb?C z$lFl{8M?SGWVcjub|Q&#Qb&GsDEd-d_-D}cYHihco+wV=cwqio4tlpx>8wgOU{fF! z2_j}AjGiNSOzkXmZ!L=&HW33KW2oodwR43ThhtGVjD^wI#x4^bxE7x%n`~CO&zFGH zKqUuh7vrK5K^aV9lgLuG)hO0#x%bibmSWu%k-nHXdH0fUl6M_~Vcp3??f#a7rxIJc z6Ykzn@9cJ498_Ijme|Lk_^s#I+*wgqW_W`YpDvRw)nptU?f9-$Fy6E6G`t`e#QooW zEXzTS#KF>fqGF^ra|T0+hM5XTzxWIqvAYEa8aq75N1DRp$BGLC93%;7=9ql`&-U9_DnQn zlnlRfz(GLC{ElZ9z@Wo!)v&VpD5%~Z-#k7l(ZctA|5W8ajHmNvI$Ai^>Aw9r z^0)cgN67>$oFP$Rt=FuM`QhQg{djo>sI10&T?{%#gSSo^4#L;Dxw)0oxI)s>h%c|M zxYLz&*$9oG7QO~1|1yr$bYAPYuT#sAWe_%*Z?yc($iK2F&kely?8%s302rvPSO36a z75|XMkaOmW7h-~!{e*+Rp!3yz;>HNOY_@UvIx*aV|Gn<_B<}X;%v8^3!k7h z7Z3zGK&J&H9roENDGJ>7CIMMuKJ|LfgAGIes`nGmX%l-uOMTvJ{@pC>h%Rm{_@kP} zT53YX59LYo`YjvN^*>2Q6SDKbX_m)D-F-Jvhx_+{;5nVk6mcXBKhTW@kc@`K<2Sx% zVXV7K@I7fd#&v)tfzz$ke666BQu>;T*ZD<-1diJAuQvqYhO zI3NgYJ@^iT$IS4ai-R02`GBFanz^|&P`AmFJf3%@Ntf}604(JGO%Xj4XVGWVcOxTz zv?#qJNqBkExq6ysAkdqm&^diX~K>)hR=VUX;~ zQb$rJdhq=+I_n6>K zr`oylL4cHZ&ZNo}l$wNr&2eiDC3e?W4+8^}g{mJf6uRCct)*d&H2ZwjJ*(w5Vn_Ut zU^4rA!7J-9G3Up%JiDZW&f64)YpJxndkLBYzpd>6=Ric$(5=VDxuCn!eb$7k?*Fv^ z#`k`tPYRYL&6A-;*M;lB|HsLIIZ~r8o8q>?L!8u7>OE1ANl@7tML@i9ltrEHucs$} z5zk{A11p~NYd>DC;3K3C*iw;)Q?TUo6x;gjIn*STg>GUiM zF0m(n;nt-VTrRC8gWaGnWz=0Am)LDCxPm6aTi$t9u|h zfPt|vY5bccRB8c%6!?xYs4VmA>ysjR18XvY>`3~}%M#iZfkD9}tUL;%%7}Cpg&!0u zaNs2Ddp>Ils94XeeL@8kz*>^1=;%Dgf&d-q2y%9kJ4ERv+Yh`(J!yprwqeS2$W5PA zX7B^zF~Q=V&^7^<-wRT< z{Nl>3#z9r71Vh?PMD}2T)B8;@p>pm4t%^4x-LyNckd&rWPDpg^FAyY;x=f*q=Rp0^ zjB^kwH3_jZZ_gv4N6FdWPe$%2qF#e;M^!7psmbgM<|v6hESJ6P z=_&)qzHc)&j6AdBm3q*oUOS(g1)Y(xF*>-~pDKdbWd$a2L*4_RjtBQBR z6x|MqPI#a~dVhp*95ZAUcDkiakq7SqM^z`gq3Gg|Jnh!_VzNZ6Oc<@k+x^exes{K* zrR7NVxC%t-Msth%>f$Vvim!9InS?H}kSi`~I5N&>W{4nKG6YV+rp!|LH2XS*?cGf) zf*xB}af?u*u-mv)6*}y`pe8x{YF<r0ND*19XMWnTjyZePBw) zf(B)=Q2nwuOqSh;^ut;;@til-;hDdb3+z18Ny_KFs^)R{Y`=#v6rJXF4N?4-z3?(D z`rxI8y~U_FNG)O5Kpu>?7c>kf?J`r|YTEjX7<@VV({DIY%pddU>)fpU3&4Jv^Ycr~ zKunSpC>5r5cocro%hiK^lFV8fa#Pn{(%)y!v$KO!vg233;-PMr@e)}9!q86HV%u03xy+DbJ zrNHL+IQT!6@|F#J|&E;83%$M8SU+@Qk5uaADkcqV~Q1x%lfd z&u?j?0^?n#b1#@%rTxN@7m<*FCmiSB{EeXa6m1@EE>88{ZGOqXAZ_!Xddh`}%u9Z( zR)KrFYLO?35QXZ00pLH!7xyos``<6a{7v41{qY6E0-x<7u2{7h_#rav6oJ?&Ngrgq8 z$P6c-aKzg1^LPfA$;Vfe#@0UVM{PXzz5bR5P@joWNLM>ENQT@bM33i=x-t@R?K-l9LBk8m#qNzZUgm zUAC|*a&ZQ#+?7u2>@pGGO{x|__9F%G?*otY4R+N|i{jF3DRL@U^LhW2a32 z!A^hMzc(QaVVEFw8{Hl)HSoiqlL*^eDn@d-J=UvlXc(EC1UfQ}W9LbOU&ZaDp7*&n z#fTj)Zlq~a>RfZZ7azx-&);bAlF%{Uhgs)rTXsuqKPoo2?jwz}YeQnM$T@jWv$IF# zv0H1->JaqV2nQ^99;$lv4j+w!P74J|I}-^ja}FB#UR^z2w@YWSfMgsT*x(H^%3007 z@~IVGVeh)wG7Jnza(67;RAx&?FE8tQQcV22Asu_^qGW?UDRpjQSruMPf7JL`? z&UGFWS)&Qrpfyp^WKTNA+Pr&?URv->jT#PQX&#}i;wknP08ILyMRn8Xq{10u>>-6PM4GP8eip$gS=E_!N74|;l z`R><+D&`9oY&FkJF{=MhhU|Jf`f zBkIo)8Bb53H&cxhZsPnM2v+Na?XvlIN$l}l^4D-+dCve=L}Bd-WVykT_RU_`c#aQ# ztL-_Z$gd?rQOtt&xwe5jcZx5xUJx%W%$8*1?kqo@ckin>!M1OaPdv&`s`cP43^|$3 zO1pyzNBe7AA{^R=Ll>JzuhgKzC*Y-k(GSE2>G^nG7Hc150#nOJTWFY-Q(viraW-vt zoufR*-g_mQ7|RY#Qybkh#Y#roUw_B-O~PuX`hFy|8na-x9ysC)r$86-(_&?o@RX=steh& zBv{z-MUG?D^uTBSNXMWF__5&-tY+_*hg2H2&Tihj^2eTloA>%7@d3X+GiOzo?*2`- zQ`OPZ)Yo$apTd_tVro^q)0iZql_G{Y3xr~~a$gIZ_@s<2?8Kh!qYzq`6-#hS7!rxI zTWNZMJ2s#XJD)wFDj&n;WjEsrCM-yMB36LoZ3~8Hw;Q`~ij{pf-)VQ=l{>DqT(pgt zPd)_SlWlYD`K!0bJi5>2Hd|6EfAcB3av0l%@IngA33N&^QCcnAx!xMf2L_VDq1C^; zyI=qGqQp^lDp%jIMnx~!c7fy{4l7QxM8Ad&>HosH?J9W)7@_R_bmg-Z9uVd*!pM32 z+NXrQyxZ2}a(DH+lRTPZZ(o+2Q_<&z#?nvBu(FJLmhVZgzn^cmJ!ZnS+UbzA4|}Le z;vJr-fH!%7eeq=<#Z9gWT6h)h5*9(b_{^HcF(cl3u+8Ok%9FHcl3M_tCM#|E z!{%IVWHTKort;IK$HUNAUBgij9)(fRi6!s$r3*(9_YACvR6V2V!%oLgJ`7j{dTAF1pO^#(w0YytwjQsR*_w1TNTif|5 zBzzZ^yM9S29)8ikt>kWdGRDzR&vJ`XR-ma%;P)!H9g5x8c*vc5#5tv_dUpr;w9<3BNzTKTvQzIZD#zG@h5y+J8nm`rv35Y6Rx5Mfus>j{?q(q+oQdH zf_NlMrqlRtT0$t}i?oqZn_8fBs-&r@H(Y*whlLjipZH0!`aSH>d8$( zN%F<#iSI*$rd}qdeS@i)zluyL{u$eS=lY!qvGalk#a5qL>1kKS(XCp3+lw81=DslW zY9##Uitm&*aHAnPc}~aIzck37tE=bL$v=zhYTAsmkdNl5-?X=ZwjmG}7KUTi(qrYj zg@p69OdNjoe7WB`GYdBiJxX;V@AgjgY9gGt8oT!k*EG+o>Uf8bw?y_QP{b(Ex138b zLFYg1yh^q{pj-`43X&)Tq`~=U96z!(GVCF6#ml~y=R!|5mSOE-??Z?i-(WMW6Y+zH z{T~qCGy{iex&EenJN-I>yk3qZM(*@!e#@Dq?80tENhY`~Jwg2t43j)ss?qViCbx=) zZRnl*QD!^_DU$}_pMa^hFNUliwIFbg%DxRkD1WR$osZypbmxGh5zwcnh7xOhDk`u9*c6>ZFD6@@6RUofxX87T3TA&`(3viJK3iF_f9JuHHAGL_x#_4cU*TI zE{ax%Am!!4b@pg9TCV5)+#F4IDtifp0QZC0?~Y*L#er85@Oga!0}D%AioYjFRWj^C zn>UrEg2cew9dWJ~(++iR<*6|uWtrSQMDnjA6mh{@;?CA6&m6gY;f$E{ueR2)26CDr zya$P=3P`+bKI>IVaJ%}-W%fSvc=6!<;r`oduw*2hrHIq)h=w_JS!JVIfLTgqI-hJ( z6f>h7U>89Q3O|Ug2wKGHWXK8dc~v>qMiz-6vhA@x z7x4DgiJJQQS%A8po^8wCLUj{syu}qO)Ku@PvZsDm4@tiM*)A}Y+#caG3XBYcc1T|; z(1!pnoNa}DGn;`>vn*|H)Ef)(EsP@_xZTl!I`yJ7x z?>_bZ%)swqFM?N0%uG}sl2Ha|lG{fcPbv7Ds-vM@sU~PKbEmc+rKWcw3=c{W)V2NN z^7eH@MVY*tIHolWWPB#CQL2mk3VLwJ$waTYB-y)K&x|tz_u`~IxFy-)alS9S8*69~ z%Q+J=U#6LC-07=vDP5ZVApUsVz#$tHui~$5t2pK?eb9C_DGCoR-!Q3WZGz+HQA=}U zj~oqvaA9E-kNl*e@f)sY#N;Id0|SaP;V;<1NquD!L5s~agPjeU=%-my>h6_}dY|7@ zCNp6_ItZ~;S$%$=lMO6D@DXK?TdmqgTS?E>mSn5XHaIvhrOMm*u{Rt}<#1jBf{!9N z^Tm6{IJ+v>e2=R9@7BF44IQ276B83TDEf$Y(GE4~rX(IKld`i_{)DjPht4bCpU8(t z9A>J(!@i$XeQ(gw%Nl}QUF#61Zv{D%pnrotMv0AOpPcRN$O|yT{96;bXglYTE1m!V zip_uj7a+PTHa)kd=?MPvk_Qv!WsyRX2>flHCGMmlN`G55wB0-QK@+NuO%$(VCXU@!PR*!~;M)tS@zf~os9yNC9T0m4o zBc24Dy6_X0mTY+>B*qOaEz48VkV;GSz8;Y%sC&r?LiVlo%Qf&o6-3 zTw}(y7okb=+=m&S=2kg1YvVtCp0vZ9xM3(g zk_-RmJBAOGjgCXN9e}VE%(X5BZv_5ul*vefr0YSkSZ`>bD^HD}PTrF4{rvI@wy!*a zV#m}IV{V^^pb1MJPr$iX4TAPL16FP)Xo%EFn zZ3Wx!x4xt!8R5|260svP^9vVou(Pd9dQ*1{NU?Via6pT&V~^{4kSWX36#sol0=zd0 z>IHtbFJx>v0-#o?iUF$#G}d26GUKv$`rM!ujNI zv675Qq#dx>?q@cW&1{gKz01Z-A^$eLX%lO`T!(TouC~5t11@frqmK;`*vG(rU9r;n|DyME+vCUkQJ@Q^wq{=&rcqw+rA)}v7vgU-7|PCK zv2p>C$Z)pTJs>Eq0QZe zf7Q|$I=Oj-xe=C6Ej>9^aJKB}KSY>=P)+2Uk-z7iF)&Npp+^*5u40wwN3|O!AHx%Jb589Ag$p$+`u&@-N_q)vsn4czb#*kUmIqBoCSX* zbN&sxmeN=61!7`B=M7(g&xcVNd9`tsau?xt#RphI)zO)ltn5<~j0=GZpti3-U-T8O z$fakRHLKk*Qt3W8v~uyH1E6eWd^*muvfR<_-Pr75#H~PQ*q<G8%+gM&joniF;8n#75rP&Ri+MQ-3Nr`yg% zllbUOj)Y1VDmTj#)Yu-?-dKp(S_CYQ*^T439n`fb4y07%{kEiiz%lOO6^H3}Ggte9urS&D#Dk2r9v8f@%9CGu#unrB*@mEKoJ?^tq z`!OdAuLXPG{*^cex=8tnU1e=`HpleT5_5hi9MM4(2k4_E#tLS~M+3a^_d- zJ}rtLxEB5X>cpAsZk;*HA=&1;@n2$`1w=(nL32t3t^kfo152af#e4;P7dhJ`=K)v1 zw#y-WVoZn^lSJa8`^$WCO?Zwr_Pq~+xNE-|MfbfWYCfL+GfP;Vc zf36)2neiyW7b>jJGl4eC?+L#WwyVm(d%b8AV)8U+_DQzl)kYw9=b|)WYK2Tjn>V+6mQDQHbLCy#;9WKq4 z*tob@n1|LyukXJ;i=U23MHg0T=3SX`Ker^R}edgAeruF+vRcHqD z-_GP6_8z;gcT&7{MQG{C^o(BVyGlm&jTkGlQ!~+p`K_G}9nNDSjHv{)5;6?r3?Dry+M32**oPl3& zLF3+6(XkwEvp`Yl+CELg;hdp^!8T7ow<9lil%>4oW>xTe%NTPvX8@Wy%mQSSoy-15 zvh;U(dDTvWtBPPXA!2(cH@PP@z7^^j=o~GzqY-qu#ItOL*T1BvbWwptx2dNlV`54? z@ZC~tP-8yc!sc};$8hiMJCCtsYllnDjduM=W-el_K#l;H_Jai9aZ ziMp3NQt7FfX3%+tq5VAMOda~_$gYvNOQ}v~0DGlme^wV+^IA+;RufSlSG93~lp+-t zJszP=cE?)>!@P$25`9^Si6csg(hF*y%KeoI%0EoGdZ++|` zE-UF|miOAKxg#2|gA%YL-eN=-)IXpHO{WOQ6%7X!71A5uzh9^1VL5mTU%8*~6~KL4 zp8dc<;;}Ov(~e$MGTj8_s4KvMGO_feY?neX`y0>=%?t@M$R!)4EDn7(Cs>Z#)IcX* zB=Yh%`D&Uo=5_h(`w6$9r=k2P>f;X2x&5ck5eBlPN2t(k2`XMy zpnoi6BI)K}KxfF+6dAM00C^olBwvd)x~iQP$ovWa3seO;c=j5lf&S)<~%y zMx*mcUTI-xJ{^#mp9%68QLLu)rW!UJQ{F8MxpLWd?I-Vmulj9F3Q*(%lSJxe$%_Mt zY0{p*%RwY|Z-+Np4xQtj^?cw*H;_Cu-nP9$qlb8_>cvHeuq;1v7}}qjku>{;V=y)7A!NGSKGIcu2zsDe79Xb zpfV_GGJidMR_jqF;WW%%P@}!4_S_?Roj)P4v#rH`b>Y7Lhg;$qps9gfrGg&$!+i7_ zs|wyS)x?_;AuHY=W#qUf4I2#Z>LNVbyiX#Qiss4<93GnfM)uGCz$Q&H=5L(tV)gAol6j#9ApfpIaM2U~X~c@kU3hvVy%@L07qgM_WN;Neygu z9HpoDfERSAgYm`(GpmzM(c;_+>{`f#n@{{#carK?7v`434atj5VNz46Gjl$YK@^v5 zDWL5u*&i-~4AW^ZtfJCal3~zCSp3LxYZ7tk^8=zh{HzHZUz9yJ=&5>tutlUH*eJS( zXmQ|{Y+lLvY~zb#mPGc?l*%XKe^!XniSWSG@q&Zscvxz9$H6SN^ZH{7%-Ve1UlzO} z`?16)O|UV$bUd-Wa#4(S-j=OS#yw$?MT9nSV2P9KHKdtb=v|(=(2Wx&ZXCXK1_S? zb&<3jKJ4lIjrRTUO_LOqq}u!)k+$D*ZC@_7!t-4zZZ^c{cupYSFcz4vkT^Va?L*4i z?D{9T-VB$B3X=7y3!AX0)>_=d$dz}vA`}$r_}hPN2|uXpV85!^8>&R6p{wiA9!heG z$1~ilV}oAA;Cs!V>kRdGAd5Knoj=_qGG{(yFu#8cHD9YuXu80%naXOj(%;|Cz7cBuwx93!i&wueA&lno z)@>I;XSeSh0Pxfb;`53R`vYp|{*{{t9!&c97ftC|$Ssrffr0sj${#~vL8yt7M!tSre`8ZqA`rL+ z;2e#w(APc%s0#>;ft7ChN93!Y8K!>h$;c2*iQVqn>g%@Zs`hvyZTHX=OV7sU4PHZ4 zfjm2EJ&zT!XJch%RgMiI2&cD?!s(MZZ9brqcs5f_9HW6Vsl?38d0yO<(_>ZHCI}DZ zEQzJSD7YE2khT0k79Xnc?`qggROR@x;qLkbdJHj|sIYUlhM@zK_cGF{!ZS4{c4QF@pG{sMoou z_u{^4&^>?d`%F|e_5(LTJ0?g23ok0rS=h*jtSmaC&?M8*a?sR4;O%$ZX%oMhk9cOr zP10aBGPiVLcOJTpHBO7MWmY94PS%I^-wM zmvWuL>>b;am?`g$>@t(@FO0&m(+ZN^lO^s@#avAV{FbZMM)j~Xl zTD9ZaY5Gr1$wOHlbS+X?I%MyS2C znZ|(Y1uZ>OZbd~!=ov#fp*~*0Z+G7)3uAI9L2frV@&U@%G0>LkRkV6XY$|5>LtD8h ziX3Zf$n*42pNv(>gFkIR@6k4-GHZ}K!a@`}h<=|;`@6ngb|F0Rw+B11DgLW5%hf7R zS6@|tlZIPS`DKx%gE5$C9V5`f!osO^uvbm*cBL1E)?7--wWmOk4~snK+kbs+Dc|aO z%ukGiZBQIJxnZyBL z3t;d)_Y@HXVc77a$TiMwn&q_Lob~?k_)fRrU!kF)(hWm@BLwhbMy67;t5R+$id6hB zq(rWT16Xs~P>-te=NFA$TNyXW8`ztwecoeaf|6}@_UqEYUUX-Cljt?$;F+vp!(~C+->obO}$!?g7Hf*gl6|z9je*a*Ej~MEM0I-Nc%#s4+zy!qs^J zp-IPM_PW;<6cD^^iU7KWv^@k%Q>|FWFHmCB=@~3b(0x0GBy$$OKnnF?i}SwLhErFa zzC3-lyw=b~%#uu*qc> zYzF?8(T^b=H^h}6d>VL&8CzkHGR`@3rR&+5QxYs)$Uxi*$343jun>UBxLfM4rKP0` z={|RL6U%xpJven|X!U~CeXKyFA+je%)Pw}Bd`t2~OiJsSt({$Wv0*-d0cs#PWi8i94fxg!#YUVWRX-&e0g*=pN-T7$*h;49pmF}R*^R|@Vm%T&mQsd6` z`TER@Y7y-q0yJ4u6X4dn}!~t{SaG)Q~kZbll{voMU1&AIVm}+*kW%%5-pr2 zPV-*Hmm$*0b#IOhBS8VM066ArUG0nOsznnq1OkDQ;VL!t_nD~S{sP3m{l;A^tVlMz z<-bh1P}9?^mrW(*Q(xz+Z&aC~P3#W{gM)*TzVjBU zsZbaElej)H;-G5Wz$F)&PPw|I-nT6J%oJYVx>wD5uUhsvZaEnJYSe9wWaytZV2vP? z3la3?&dY5&OmCtnGfb2|4yS39he=bv+$elLc}Hv|P7b^`HEd}a$tuIy@>^IRjHASy) zDTp)C?<$9f2Z6vzdb)^>yAHPg%Ql zX|%yBItbE;zxiV)Abo(*G_)kszuj%#798*}xaR&`WM~73vpXv7z`x-fRyqbnsvAoJ zT^$}T%E{HS1@bpVy3aR!g8Zw3@(LVy|Z6es6(IKyuLVjmy+2Ju no|~hUG$ozcoJ0#Kze6=BSHf#%i+%yB{F From 53a2f5b1775090a2bd6bd6afe5f26a97fcbd6944 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 12 Feb 2025 03:30:10 -0600 Subject: [PATCH 290/330] Automatic changelog generation for PR #4173 [ci skip] --- html/changelogs/AutoChangeLog-pr-4173.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4173.yml diff --git a/html/changelogs/AutoChangeLog-pr-4173.yml b/html/changelogs/AutoChangeLog-pr-4173.yml new file mode 100644 index 000000000000..26ef9b4b8aaf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4173.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {rscadd: 'Minute Energy bar, replacing High Energy bars in vendors.'} +delete-after: true From bd88acf65fb90946ac20757106318bc05e8a9627 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 12 Feb 2025 04:04:19 -0500 Subject: [PATCH 291/330] do_after_coeff cannot be lower than zero (#4170) ## Why It's Good For The Game no 'true' instant do_afters ## Changelog :cl: balance: you can no longer achieve a sub-zero do_after_coefficient /:cl: --- code/modules/mob/living/carbon/human/human.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index b33a751df628..d01318be0bd2 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1245,7 +1245,7 @@ /mob/living/carbon/human/do_after_coefficent() . = ..() - . *= physiology.do_after_speed + return max(. *= physiology.do_after_speed, 0.1) /mob/living/carbon/human/updatehealth() . = ..() From a87d337b2d1a266c8bf94612c9bb9bee508846bf Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Wed, 12 Feb 2025 01:09:30 -0800 Subject: [PATCH 292/330] Two New Vox Sprites - War Correspondent Vest and CLIP Gas Mask (#4163) ## About The Pull Request Adds a vox sprite for the War Correspondent Vest and the CLIP Gas Mask. I hate gas masks I hate gas masks I hate gas masks I hate ![image](https://github.com/user-attachments/assets/26767153-27d1-4979-8f07-83cf23f9d116) The vest ![image](https://github.com/user-attachments/assets/25ac54bf-bf1a-4c17-bf98-648b6e30fcc1) ![image](https://github.com/user-attachments/assets/f40c3ea3-084b-4ec7-abdc-3bd0993590c1) ## Why It's Good For The Game They aren't floating next to your character anymore, which is great. ## Changelog :cl: add: Support for the War Correspondent Vest and M20 Gas Mask for Vox. /:cl: --- code/modules/clothing/factions/clip.dm | 5 ++++- icons/mob/clothing/faction/clip/vox.dmi | Bin 5904 -> 15272 bytes 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/factions/clip.dm b/code/modules/clothing/factions/clip.dm index 41019a0e62ab..879b7ccff4c3 100644 --- a/code/modules/clothing/factions/clip.dm +++ b/code/modules/clothing/factions/clip.dm @@ -169,9 +169,11 @@ icon = 'icons/obj/clothing/faction/clip/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/clip/suits.dmi' + vox_override_icon = 'icons/mob/clothing/faction/clip/vox.dmi' icon_state = "armor_correspondant" item_state = "armor_correspondant" + supports_variations = VOX_VARIATION | DIGITIGRADE_VARIATION_SAME_ICON_FILE //spacesuits /obj/item/clothing/suit/space/hardsuit/clip_patroller @@ -378,13 +380,14 @@ icon = 'icons/obj/clothing/faction/clip/mask.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/clip/mask.dmi' + vox_override_icon = 'icons/mob/clothing/faction/clip/vox.dmi' icon_state = "clip-gasmask" strip_delay = 60 flags_inv = HIDEEARS|HIDEFACE|HIDEFACIALHAIR - supports_variations = SNOUTED_VARIATION + supports_variations = SNOUTED_VARIATION | VOX_VARIATION /obj/item/clothing/mask/balaclava/combat name = "combat balaclava" diff --git a/icons/mob/clothing/faction/clip/vox.dmi b/icons/mob/clothing/faction/clip/vox.dmi index e17d23fba20f62b49387edc45ce39524c1a91765..10ae5549388eb4f2105c155afe510b5a1b7e1278 100644 GIT binary patch literal 15272 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 z zPm*0*WDQb*xc>UO<#*O`gU$rA97l4axQ66!zdNx}Gz$JtKf+r%S9;__h=p;Zz*eEK z4bxO7w4MS_ci4{T(wX8xX7ZYk`zC_>?+5UcVVIZ-&VJV9cVD+zKD3?c2~JgDV*>Qh z)&CNv(EdvGkd){Fz~7ZT6zzC!i`qS~<~|5tHPO;~SdmxFFY03QH5nNh9AR|R>* z@@eYFABkw0SyC(|(i^1Y;yQ%pwPT_rUsLmVJWHq}|F8@KZ*){)Ze zc-8fn?Buq`!E-7jGePp;*&CM9ddi4KtNwH^n-r$V#BfT&M0(74s+C^_woJ;3v(MYJ(DpTF%>Zc{}Ewr5Y+qF9klMg=;P+v_a z-h2PBJ8q`YjlzRNWRpsM6M0Ser)tk1wEJpT#rx=tH;2e?$L<^WH5pg)Y;5sdG8THT zMBnP;V~_ma$c*H$NBuLZe|uU!auc>^rpw`6)-~?O4vXttt)g56+YL>xzpJ+~Weh*7 zO?6%n>mwj<;3X$+Phu^Kuor}%h+uuZu8`C-WsxHTxMf|ERwH!Ud^f>u!p9vxFqRq) zi~Qd2!Gae@>X-f}W>rixX`1aiDMRCAgiJBz)}R5CcQt}Wy+0DU)DS8wU0a``QM>-< zoKxXGr-wk7^eCefwKO40ep+fkEN=0cCtu!2XFQ?#G8ORhz?vnqT0mZlPK}s)P1!s> zrQ)LAu1McEbn^Osj+|4mq%!MQMC!nUE0`m0x08s;LzjBQr6eRhYsN&ZO=XJv5wJu` zQ$Ge%J({NZ?Z>PoPQJLtWY`aI(C8nEc}iA$)d~{G`b?$^ikZ(j!M=J?SXg?1XirSF z%#GEJIA@D&O)WqN~*}IE)YJ?)w$G|xeqtV8`6D>0x2qU)^kiG zc#^T@a8WL@7|T?i<6ZzDBrS1rfsE$o$ZH7>3-iu}sy*106zz^DeU~^f;S9U0fl7E~ z6ZZ>9F)|~Q7SKs0IEPFv^3^$sW7sY{KM%RK-HSfR$NKKSr?tQTIaiCaLC406xkZ~h zy!eS$zsg9d6!LsEgz&niRmfe!nq<|Dd{3*EOx&djAhD6|Umr4x^C1K>><~+hT8lF$ zi9&3I?N$z-mp~;Lwb$q*B#~1 zAwqteX{Z5+J{vz=*gPH#j~teL>N63~w{0##SV?LsX|+D=wf&45MdvkP7_|ZI#ULIL z?fRz)>-du;Z}wlpSKkxY_)w(@?4}b}uzt2Pwt=0`_YOYapIQcn2ypZ@*uWaCjjY9~0JEQ%nY4)tiLni8P*~5%D525o1FXie>GJ992;|>Os zyK9%Fu^4!oIho^3C$b0{x;X?A3wBBQ$1iH_UhVk0}X!EHjfo^cH!@?Sp8iX zN{zTQhClDwQ7m+npP%jg7aWy$x#%+IRtbegE96rYsas43l)AnKR6LOgnfkYYn+__x_V z3d+yUC9e_@RdWC9RB$cwMLfq&%ih8^r0#LbMEgEY#ia(%j)Mx}>hL zOdn%k-ktU1`}$2WWwKqhBLwlzLFxC5AZq(}klt%`chz>j`}w&L6oo9o8>)UI#6I?o za{k5AqBA6`!SkSb+jIhd_W9Ly11U~b*bwEaAv(EZyUJ&oLe;M_{TdO`ZGmsYu=qEZ z0Y%KUfvhWDKsc_G;0wIEp^3($pmb}8Z)*;3GewR(!0{6iJ;+ke(a(Jq8uBz<_Liu0 z(#q4^3-pl}97usbe*q!{U=n$LIjT*AbzZ*^bmg-3BtgIjj8mP0))3>_ zeyy^p?sR7)Z73VS011kO=z&N&<4h%c+slH`4g1N_9Gi;<56Z>ht=FT?0jbKVFA2Vw zU^>&$nHNVE`{h}wtJ)!F8F~J`ZKIW8zO)IEc=?>uNhJx6<-bhS`hQ>h6Hog6Ye-Wf TYw4w|Or)iur(XZaF8Y4~xcQ@H literal 5904 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

    29G!mO) z+=ihh#1zNx&IjO2HiB%{YG>CHRAJTo;&I*!iH{9=j4kQ*?z!-A8z3OX0~T8sv_p=B z|00a|Z3t8lrX=fnfzN)8RtgtsY|SvxNmq35pLAv8l6v7E$b?A$EnWY;zRl*P(zFWH z_78~3`r;1KrSv^(e{C;%)Ltyv3SAR}$7k9&dS{&kzUanc?Bf;Hsl9#M(~E4*HKO&< zks{+VOp9I6S=D%`|J*v;rrdJIfW!pC2XSEWdJoG*FA-$Zd^bKs1{M#fh^eP~{LCAq z!a~Q&_=~Ce1YP+Z5cm7MNn%Bgs`;0ydt4hnvS=iVI>20+Gf^I} z_zLI5N7a?uDXOr}Wfx-cY_IHGx?d@BXJ#dvr_Gu zFuT`_BuDu$A)RFB=ZL!=Qr0yl1vMYO%kd+}L=)U|EA_pgo}cen{7onT_=7`d1xb-yS&+d1u z$;?X@KUP|a*f(<=8eG{u;$2gF!n$I>H{lZ^`Mh!m`?gt9b|q$ja;hJL-?z6O0@IQO zpB4Q|Q?46?+mGgZsg@}T;SP=g!GMAEwp?%@;@Fee>ogtk<6Z|ppUNb{jpIA1o2yi# zZ(X*2su+d#I;ur(&oFlk2NX29YIk~lVFR@rWf7fh_KW&e^tf6<))&f0nNEgSw^Dz za>Ljk-GU~Yh;By4c*kO_BcxcspOIfEfYf%UPAT~j-z?bSMYw~>tbOoyvSl7 zXvI9hE>E7GdK*<3>WXOMJ%PNcuEu^dbB*%NjxSg3H=A1k#cwA>T7@o`Zv}AY)Pf#? z0$+*#`V1>#G`R5f2Z}1|43lwsP{*)*1#B~!FDP~I%~}h zyzxZYj=;t=7zpj8b&YDnUaILA|HhFVqbcBmI=iJRDZyMABeO`^Ze^fqUy)->DohUx( z6a54v2qDusB^_}57#9exH`xRmR-sY`eO%%TrDn)OYP9|PqT7yhfbC~u&s*Y8<3=f& zGc-$ynl==Do{cm0`c`#WWYu8Wv+k)*=w)UF(+RZc!+C%Ht|P>5h4s0G=LasDfz+zC zxvG+G*W;kynN9B$I!<1Vqj~%xy=5!65533O>wRH7{~TbO@`Sn8Q+-=O;GpqOQb}G- Ju3W|>=wICxi@yK> From a3ca0d070b794fe410bc1be66952addf63fbcfae Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 12 Feb 2025 03:42:44 -0600 Subject: [PATCH 293/330] Automatic changelog generation for PR #4163 [ci skip] --- html/changelogs/AutoChangeLog-pr-4163.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4163.yml diff --git a/html/changelogs/AutoChangeLog-pr-4163.yml b/html/changelogs/AutoChangeLog-pr-4163.yml new file mode 100644 index 000000000000..0a4cab5d3f6e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4163.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {rscadd: Support for the War Correspondent Vest and M20 Gas Mask for Vox.} +delete-after: true From 281eead0a88c7574761e4b4cc4c7e5936fab8ff0 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Wed, 12 Feb 2025 01:11:35 -0800 Subject: [PATCH 294/330] Adds Vox Undershirts/Socks (And Trauma Team Sprites!) (#4168) ## About The Pull Request Adds undershirts and socks for Vox. All new icons: ![image](https://github.com/user-attachments/assets/561e3ccb-817c-4ba0-a10f-e46c4bd91fa8) ![image](https://github.com/user-attachments/assets/ac18dc05-9933-4d44-90e0-655af203f0a0) ![image](https://github.com/user-attachments/assets/fd2a7a16-16a0-46a1-8b9a-8e009e33c989) Also adds sprites for the Trauma Team, for Vox. The original vest has that blue marking as well, that's not a window. ![image](https://github.com/user-attachments/assets/f5038923-938e-4ae0-b792-bb0b69454d04) Also also adds Vox Inteq Messenger Bag Sprites. ## Why It's Good For The Game I love species support. ## Changelog :cl: add: Undershirts and Socks for Vox! add: Species compatibility for Trauma Team sprites add: Vox Inteq Backpack Sprites /:cl: --- code/__DEFINES/species_clothing_defines.dm | 3 +++ code/modules/clothing/head/helmet.dm | 1 + .../mob/living/carbon/human/species.dm | 6 ++++++ .../living/carbon/human/species_types/vox.dm | 2 +- .../species/vox/underwear_legs_vox.dmi | Bin 0 -> 1174 bytes .../species/vox/underwear_socks_vox.dmi | Bin 0 -> 9792 bytes .../species/vox/underwear_torso_vox.dmi | Bin 0 -> 6304 bytes icons/mob/species/vox/onmob_head_vox.dmi | Bin 98391 -> 89552 bytes icons/mob/species/vox/onmob_suit_vox.dmi | Bin 257315 -> 258377 bytes icons/mob/species/vox/onmob_uniform_vox.dmi | Bin 236128 -> 197863 bytes 10 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 icons/mob/clothing/underwear/species/vox/underwear_legs_vox.dmi create mode 100644 icons/mob/clothing/underwear/species/vox/underwear_socks_vox.dmi create mode 100644 icons/mob/clothing/underwear/species/vox/underwear_torso_vox.dmi diff --git a/code/__DEFINES/species_clothing_defines.dm b/code/__DEFINES/species_clothing_defines.dm index 4dd9e26da752..a9e31c08289b 100644 --- a/code/__DEFINES/species_clothing_defines.dm +++ b/code/__DEFINES/species_clothing_defines.dm @@ -27,6 +27,9 @@ #define VOX_GLOVES_PATH 'icons/mob/species/vox/onmob_hands_vox.dmi' #define VOX_GLASSES_PATH 'icons/mob/species/vox/onmob_eyes_vox.dmi' #define VOX_BELT_PATH 'icons/mob/species/vox/onmob_belt_vox.dmi' +#define VOX_UNDERWEAR_TORSO_PATH 'icons/mob/clothing/underwear/species/vox/underwear_torso_vox.dmi' +#define VOX_UNDERWEAR_LEGS_PATH 'icons/mob/clothing/underwear/species/vox/underwear_legs_vox.dmi' +#define VOX_UNDERWEAR_SOCKS_PATH 'icons/mob/clothing/underwear/species/vox/underwear_socks_vox.dmi' ///KEPORI PATHS #define KEPORI_UNIFORM_PATH 'icons/mob/species/kepori/onmob_uniform_kepori.dmi' diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 8e89f35d806b..4c0657fdf5bb 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -537,6 +537,7 @@ desc = "A robust combat helmet commonly employed by cybersun medical trauma teams, with its distinctive turquoise." icon_state = "traumahelm" item_state = "traumahelm" + supports_variations = VOX_VARIATION /obj/item/clothing/head/helmet/bulletproof/m10 name = "\improper M10 pattern Helmet" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index e715e2c7e4ca..5f7f77f79d65 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -744,6 +744,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/icon_file = underwear.icon if((H.dna.species.bodytype & BODYTYPE_KEPORI)) icon_file = KEPORI_UNDERWEAR_LEGS_PATH + if((H.dna.species.bodytype & BODYTYPE_VOX)) + icon_file = VOX_UNDERWEAR_LEGS_PATH if(underwear.has_digitigrade && (H.dna.species.bodytype & BODYTYPE_DIGITIGRADE)) icon_state += "_d" underwear_overlay = mutable_appearance(icon_file, icon_state, -BODY_LAYER) @@ -758,6 +760,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/icon_file = undershirt.icon if((H.dna.species.bodytype & BODYTYPE_KEPORI)) icon_file = KEPORI_UNDERWEAR_TORSO_PATH + if((H.dna.species.bodytype & BODYTYPE_VOX)) + icon_file = VOX_UNDERWEAR_TORSO_PATH undershirt_overlay = mutable_appearance(icon_file, undershirt.icon_state, -BODY_LAYER) if(!undershirt.use_static) undershirt_overlay.color = "#" + H.undershirt_color @@ -773,6 +777,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) icon_state += "_d" if((H.dna.species.bodytype & BODYTYPE_KEPORI)) icon_file = KEPORI_UNDERWEAR_SOCKS_PATH + if((H.dna.species.bodytype & BODYTYPE_VOX)) + icon_file = VOX_UNDERWEAR_SOCKS_PATH socks_overlay = mutable_appearance(icon_file, icon_state, -BODY_LAYER) if(!socks.use_static) socks_overlay.color = "#" + H.socks_color 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 c2aeee2b87db..bfa7a39a7891 100644 --- a/code/modules/mob/living/carbon/human/species_types/vox.dm +++ b/code/modules/mob/living/carbon/human/species_types/vox.dm @@ -4,7 +4,7 @@ id = SPECIES_VOX default_color = "6060FF" species_age_max = 280 - species_traits = list(EYECOLOR, NO_UNDERWEAR) + species_traits = list(EYECOLOR) mutant_bodyparts = list("vox_head_quills", "vox_neck_quills") default_features = list("mcolor" = "0F0", "wings" = "None", "vox_head_quills" = "None", "vox_neck_quills" = "None", "body_size" = "Normal") meat = /obj/item/reagent_containers/food/snacks/meat/slab/chicken diff --git a/icons/mob/clothing/underwear/species/vox/underwear_legs_vox.dmi b/icons/mob/clothing/underwear/species/vox/underwear_legs_vox.dmi new file mode 100644 index 0000000000000000000000000000000000000000..350186014fd0c5ce5852515675bd10c81746dae3 GIT binary patch literal 1174 zcmeAS@N?(olHy`uVBq!ia0y~yU~B-g|8TGY$-02zjX>%|RY*jMOKNd)QD#9&W_}(6 zLj_~&q=Q_C40zhkzYd=ARPsK#un+NwcmFPt;&bGew;Lh#aolWY+-iMBVSD)Y` zcRD!q^rM(g_8$%BPBoti&z|UWV^Z9#y&fhB>ov`8&*fOcku=jxZXx$dkEkz-d_@yW z;v^$po#lTvFYruKqfOs|B(~e0XLZahZr`7??N61|6!mM@cUWdT@BA*A`aWZ#Y2PU! zruV-K#7#d$PwGqGd@|7~`NB7yAHDmu>~=B!C@)hxy{n@BCijt~%}af?JewI9m^(dP z978H@y}fG4$iTqUyy5Epmz;_d4;q3UV U*3yd8fCUYMr>mdKI;Vst0Q%YGkN^Mx literal 0 HcmV?d00001 diff --git a/icons/mob/clothing/underwear/species/vox/underwear_socks_vox.dmi b/icons/mob/clothing/underwear/species/vox/underwear_socks_vox.dmi new file mode 100644 index 0000000000000000000000000000000000000000..04595bcfc764505c407f191c6013e5479328a741 GIT binary patch literal 9792 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 BK+FID literal 0 HcmV?d00001 diff --git a/icons/mob/species/vox/onmob_head_vox.dmi b/icons/mob/species/vox/onmob_head_vox.dmi index 027b3bd4d01156b51d5aa7a1243a4758e6e47961..a11504433f0fe8d6998fda27f6f652611e6189d0 100644 GIT binary patch literal 89552 zcmd?Q`9GB5`}aSnY=yMQo`lL)$r?r!*>|!|l6@IV_GJ`OA(16J$ZWRJ za*o}km(kvD-Q9-4uyUL)QM@lNVWe51e1hIitym@n^I0x z(%SYys+r;L%A(AVl+E&MNmm}c{P`d=L&)5ds(M3s$HVUaO?|EBDLWj*KPG#%?dtP- zp?dJg^I{ilUo$&a@yGtD^Ms$6yw0v;x>t9Ps~}jd`qb$UHD444q?()8b;uvgRv$j4 zA2<#xL$oi2=j|%eSa0IO)Tx?b+4XZj;jOn^JkNMAd|Un=eh>9o@cW(MncLzB zO|`e3@m!PVEP@lG9MQx<7&Jq_m0F#LRpMcg(JYJC%uEms0hJ{N#{QWO?4 zUwa+dPVT$UJ$Xf+H@gw>%vSP|y{L*hxf}JT;-`h%uF?&T;ZGgu z7Wz#(8l$5g4vl7&RboDABx?)F3nUXY!R z>Izptwn z!hyTXxg4?N$x)hlc=zG`&4l$0esf=#=-JkNgi}^XkJ_Ve4pW}$i2TBv`_)o>#IDM( zr&K4R*m3ZQxt%>e#@YDNXhZEC@LKeItL^Jy zNhP*0uG43}($uH?wWF>lZI&pnsG!9k7~TqwRJD;e1tCC=1pht8g$DC z+d2|bJY*CZ7G0BiuA_Zy)xX#B7c=&SB-J87PC>$H*Zs#+=`WvSQpP65``qjip%F{J zlC`R8BACVF83u{nw+swx_4*BZ8 zmvi&S&o1pocI-(73GFKfAxnPB8|Git%TX|<0~Uqj7l#M)iQ)eofa!P078arNb$554 zq^zy2iLkxN4fm8*z*W^(@$kqvC#;YTcTV>5$an-A*)-Um$XzvL{}8ut?HqXA}uab#B_;1?|4U8P$Zig zMOaGlq8h}1KsJ_Tqd3EUN3S-Pr}Ym?o^?TU?P~?n0NlxIOdEq)si+bRDZOnqW3Zpv z!RUf}(duYa4P^5*2MUKzDv=VoJXh^)Q=XL4nTHPL8LS2ghprH7}0p z=oP}@is4fyr}B%s8Q+!v2ELzv-0R^Gk3tJFGk+6k*;H+mF-n^L_#nQ2X|mSQ@nZK+ zU*N}F;LTp>iD`S;tzBZ52KzVV^`b~uFmV0Bg_O4^hIi=q3ZmIkf|yQHlMVQ zIviW@Dw{X%R%niEv4_I$1X$Usd2R;X`A?@Qg?mrc6)OcS>5O~NDm8v~&>)!CJG)QS zIl^>-y(~LZ#i-kjlm81q|!*l@5o;I zRZ;z{vb!5CJqXE@K}%_t72}nbVWLs*xEx5aAKq~p?&L$}uB{roajHI?EEvcKV{BDv zN4wZ)cGYX<4-0w{cZa}`+2F;*jSu(a*+WN+hv;}xnR%dODrikc{dDL_) zA9^@#mQDhr{W&E~+_Gt+=**nP$>9eooshxucW&}~Wh->Na%E74dwbf?=R=-#gig4+ z${Y3y(KVbH;QVEO+bb(no9*| z%~5*}**^(Pw$|e`n8L`#9a)|D3=S!Ury~pKEFETux$C3RHb_sJjX|1I!@V4~xe3`y zLfTw#r)RnTO>YZ?@;<%b~3k4YNUS~l{p5U08; zr|KQNKLxYDho%`V`E7Hk**+V2uzc=*?_2(A`3z3ZAF?R{t&zpdLN9va=6f&foC=yl zge;TpZXy=5L2pT=$3KxzNIRXkIPeXjx>*lh_p!?$nDNjsExT5z)U?Y=Lw zZmg&Ao_UyWFNM|7($aJv^OVpneB4EafpnTTJ&*t*6%` zdu3w3BnsZgmdpR0=Fh9QCfMdW;oFjvVY=5GWd-u4TxQ^>9{w2~VrG zX|4dC+M(#!$b!wcXluQ3GLhPjXh&*xpHrGq(Hj=F zKUdByTn%Ssn@jL&PffmXkUZ(}A>c6>4$+MIHwvMw`G#w?&=r)at)O~_7UixSz4e^W zuWbE8Q_sUuj|eoY@H{;fahjXX0mg6zdgbYf`}2t(pf9d43q2jv$XAW%=TN7A-W6}; zpWkUO!Yrg7%f9odPI~LlsM5s2_Ts<@M))A$WFmy0Ma56?fC1`?HbIGi`>|`K_r)KIXzw!+dz>!5>!0$ze{pKKwj~ z3H?Ln!dX5w98Pp}_{VOCD3bl@c?A4q4dd`_`Zg`TxlOWKJc|dg`wHYB+ZGb^obfKV~1&uS%dZnpZ=%iZ4C`NiNhwaB6YG zN?-f2J{xy`?tIzj`$-%0ks>vOTCq(d#QO6tNKR zQOe*N@;3c(i}!5X@->(Wmi8l4W_%+D;r39#D=1m9LNNto-M!MjyAlr1`A{Yru=Zr* zz5g{B|7YJtO_|jR!JPxisC4liK2Rwjm_k?v-zcMid}Whu+im#insXq zXo45=gwK%jZh|j`fZ}4Bf2wM|1~GnvZC8aoNcQ)j`AIX+Yrf?x_ikOfh&eF~bcP_5 zAWgS-eKW~Ctrr0$)_!5&ujWvyDY6+SF)kAdsjPl?qSBL%c3fWWh`qJvro4Qy?jNgD zz@ZHidLApd(p3CEqqUs&XO+WRI6M%U4egxbqZ2Pm(a8=U*fYFxWdRwt#CgevFV%*BYr5Fpq&3OO%|ur#rXSD4%hH(mPk&CoK+nH@2Pf>eE zrX)!lT{DhcVdC?S)+Tu=525G8#HYZ7V5{A3>iuXG*Zs14* z?cvupC(in`QLY>qF2!b}As1J~Qm!-o*`6^1F89;^>q-*rBl@5?NDrq$iCcCBNnVW^ zUg*)<#5m-HeL07S(wO;-0;^FNKu0=p!yWS8W|*sDmGA58#$wt6RL-h0)V|Bj^@?OF z)*`+B^y#X*;26+YBkdljy5j)Jo9F=z&SU)_k>LBWpWgMq|EPrvMIGBq$1jB!AfEpm zf##Y1w?&ljKeh1h#M{gNZ#9nc^Xb29`H2xqKKzI>=?FXx0{xm6uR%OnB~-%OZa6p& zkTka_k*v~kc^D@mG{H4345Si(HFMnl^DVZC z{nE|LC1S37t0S>_G1CohMQuTwgXcKPU{NH-U#Ta0S{c~oQ130g>zY=M>J*&mYWaj~ zEqQT)f%Qtub=_gK1GyNsNc-*Sp*9p6!g;3o(}mEt_Ld$`UZ4d=tG_33JLUvTSXp55 zg4b_VZU)T+WUP?*;FK?v`{D1m4x7-bcTgE(R2M1OA$C`N9~Xe-Uj98$Sj47F3+fAq zCC+a3v%2?hIZSvlPtQ&#`2e%wx%yDAetRHHFP)Lk&oxWJg+@W$w<5M5)V1$LeC%*0 z4u`Cxp~@vFeD5RK2&|pZ^h);11^H8Nx5uciqz@*I6^)XB5cxoCm3V7xvc#jNdu^*L zV!u4s%4(wNLHxzczFNoL?-DWZ7WZ(dAzLWAsk*Vl-LEcmzA)~IKwt|Uv}+~_Na&BI zBeBTvkch7y$_bN=aYNQs8mm4F^~=2+q@w-JoAzz8miTE>Qlq5G+9laPOS#w?);u4| zP@6Zc+pB#5jdwSb%RnjHeL06uN@sh0jyI^5R8ccq*C@iCu;gna_sgcnL}qhEZ_sTp zD|5LG^TL(CA3NVgNqUogRP9C^}<8NpOWn|A(eW8RLApSXGe8#OJEUm^YzRQ%#%|&}uL5-vmeZTK? z)jTh6H#if*$NaHxHz(Z&RINc5cKPx`kK#EgUMLdd5;2Fj$y(eKge@qL@kwFG5wU|0 zwWsgSTsHf>Sp4}L4lk`wN$S`vyg($M30_~gSgbT?w=dO<+1MYB7$}ELZ%&YC*bOl2 z7>ssSE3JYG<~_1`P687~dcq+zr&|^2#Eike?0K>qQ+LA>V|tX%H|?AMmBN%HIB|XN}PTClROBye{Vz|mdYK5{9##>V#2X1%AI&ay^Zha?qIO(sfMKIXFu`M!N z&ZaM1<>P>7*6fBdSo-_-L$j%=sd;GVoJ;cS*ROR*Vq^-Z8g9NdvZHMo?-Y<^*_#(` zQAnoj4SXmAlyZKLia}o@_ydlcS1wBzd}4%CJzw^z>*SWzdyeS=x`u>swhOAP%vvJh z6G9Cc^sZqCo)aOFpkv{0gAOGk?x_%WE~nX6hd#%Z_N+cs2O3mqxJY{R65HjZtRJ5o zQhLS~kk`SZj@B4>sVjI}Ly!3~sy)?)7xG zW>9c<01$@_YtwCIZRXs~gCa3a0kx6!kA{#76n<;+P z>f=b;no}2U3|88=pnnZUK;LQHV%+l~kzHyBK9Omm5k=i16xxYs&a3X72! zQrap3^P%!=khCm=EBB#h8lW%yj7otb)v z`?44FM=rb8wxkoJ+nm<)t6!3uO!Twv7`INDMx0Z}fk;tOcKut2(;o1Rvi**O-+jAR zWAaq|OK=RUS&iOX3!!D}Wq`i)YD~m47+>Ep{l2tuQu23(U$~AfksN?ZfUo z1xa3EE(97pP(CqSdV0g-VOg2RjL__cWlyP!Yiu)TaHPtUoXX>yRo=yDnP)_AG&SMS zw>hVQ4rH4aInngqgRANe-LoyZR%#$;WQI%GX4Y9ih0K|iz6iP78c9&U_w18UL(I^Z zFa8$aiHP2*RGZ6D#8IXeKs^em>bzScawypzlpJ1KT6h!9=b-5tg0w@4N_gt!QM}MI1PW062l z!E!LRK)i)j>s{6p!;!pnUhF;(w#uw)P7HItb;giw7QH+yGts!t&^+!j(yge$a${|g zak$B2qyR<2f}Qd!ytg&<%jw1(1KwyP$NXn23wZ=+a-)DrNwQdw*+^tY=__{5ibQMv}t_ddj*($fc`QTFwn$=oM& zk%U)JezhQlin!Z>8y3vw;u+VXCTM|FsA(0*8cZFA?3Ds*<+$PeTa1ud z4VVjIdeFv@UFY4vd5sf|i(NRgY|+MQ@>6QMy!n@{g&yIJ-FHG7JIfShtf&Y2&v>?Z zBe(R!VCWp6ZktGJD}d=No(yw*K zX1y$;MlzlcJLBZNI^WrMSU*JI+i2_C6D5|*uiHlu#u54NyLOAX7+h6825Jq)R@is% zsFUR{Nt!i&4eE;+^YFzt!!0lKrE%DG`-d6fCV<#w35d4gDMVl*Om+X=789$czC)j9G=9Z-M6J2`$D`CJ1aCBoL=^PBc3 z>BF2PM`<6Hupn#tDYPNP_A&NMVUNo~GsrqAN+5I)S`nDYa#Gzj^QFcFuEDEXX<%wx zYXaK3lzxRw>6aP$@CBV?VE!Fy-SBlrbQC%%7_{4DE4#i}6fRG1O>e70QY5tS0zXIT zU16{k^01KmL2y25noNyM6UT8UUz?(F$bk>)Ny2zWvU(V|6JAXxfHg(_O`H4bH`w*u>@?^8F53cbn5ax9cs%~h(J@WunqwuDtOkqaiN0-!qywr(W zJe0z)A*Zo8Q7`BL76H-e~4&I`Brpn9!r)}Pl zh0T>9xbgxjxDMn8vSl~xpDexEUN~Ol2@&gPd9PoB6uw|(@DLDb3N&KhDTQB+@;8J4 z(zY$iJ2#sP1r4#4^|C1JEweB8!xB~6M=8pT4JuI+LQe@wjblW8n|_K?_$TVD4eg7+ z8XB(>tbd;X+0Os&AlNhHua+dB`Zc(9L{!|f>ZX5Vqja|pq! z7fw&T(G2XSD-hpA(tKma*hg-dHJZZl;a6kZ`gfZFkhSIw+}iE?gC7&!e;u;RvJp1_ z83=`Y2lJh>uf1^A&Bbg_pEjNthAPt<{2W#8>n25Q?AgX`-zZLTM;E_ugpTwp>Nsr} z`+H|$R$z-Y0r*{{0JDT*4qmsf8XdX^7tE_!r)vnt{=%>hgh>iLiyPOD5D4G8M_5}e z{PyzO&IcE^OC=jfTBIyen-~n_GJ?BJmPt2JluK&)vX7&9l%)KVZ~N{4YLfF%U2AFC zo?7-0;-<_1zPhaQo~tF}u(r0g^J-3JW_ev*otd9sosPElt)A8Obx+8tVQw5MbHOK$ zjejilx~Ulf8?qTe@M2C}>CZf8%p|$sUuuxs|E^UlNx+?Ygm9B+hGM*D(;v4*M!)Q2 zDS!o&1I(Mf$WIu63A1nzFCF9s;%AmVHT=cY=Y+ooND`rRGA<^oP`%%X?h_Eh3VW=< z`aKSovW}f0l>6FRs*LZGhwD;3koA#q^yEK8T_&eb-2@Z_ayjbVp@PWc>pI2`&)H<( zTv>Qa>Fc-}bxG0hX|1q0qD$bh%JAko{qfq!o=njrKF zSj-fOI}lsx%rskJ5x1e++@F7AVRyI&er(FqCSZ|e*M;quh;yhFE7M0~tt$%t*+5q0 zF<-`D#++9#2RHp0z-vw30}_x3nJ4nJP-g#6{yK?W;@w`$Wls8}il42ouST&^<*myc z4@AN*?&Rzo6hq3=6X|CWl|2VdaRH4)Ns@otuW--Ed?ybE=rfG+Y#Mk|n!2eeT-~D= zFtcWtTI*g?VdH`6Ong3MbS^8<7#w-aR6hsvz%Hz3xAXA#k5sJIhoZr!=Ns$>zZ<}jrYQ7BJ8_@zh_1Ped*H{e%lViP@_Q2-*5Dej$Umb6Gp(QCHGJPaC z6AjxR&){HT_DxdUP-uL%W+LmqtQW8l%T*DCiLeY<`~58kN>~wuJqrjX|M={n3HWwt z2uHR&25X*LHfQy?;lhU>BtD)gARw8)87|Zh(>=>@d}~>0DZ$PStOGNj zLRdvcZ?@cuVmqSVM)jO*P-iTCj)CN{6vVO>#$)qihIfQs*ljf?01g_?ZeI0p7fikt zKCv#;@a}BGZ5E3b#qg$PNcxvARX_S^xJ%#&W``{oSAxo4Vd8^fe~q9qMPATjo^`R7aFMQQA>9r3Q7O%R9(^P}|Bz zTg26b^PE09tJieT9<&B6F}~xS&^Jl4caMzwM0gOR-Wg>yLvgOCKy5w5^jp77DapSwDU>RCsp1(DAzG2j0 z*Y4Hzy=zaH^Y$??m~6<-)7^mRcbBK}MR5USkMRnp*lX(D?*YMl;JxR6buWDI%5RWT z7Mc7Y?S}bjZf=QPCKo3seU`cWoSg8d-)E+DGSp;hEZ7QL@6 zT2Bp+q;Rb!A2By!>~pmIBmWL@UF)e6(~5x1bkG#TC zMfstcQI`;&o;=(wzEIsk3EaMKIrYbIQMg3xfmo;{yVO&G8p zyW%+IC2#p*8Ub8+-6rkUy0k#8S`LYR{BMcRBAL0MW&DH74CDg9Izj zv){)=JOq;l%{P`iF6V zZ)mALlYg13eL2e`A;UiO`WI*~{XdWL_)pwj1s*k|!cK^IR11;Bt77S64+WRy2YZ8m zO?eb;r!4Y?ZqZEbboxPr>Ey7 z_dXkc)_k*Lng}uiBn&;j*G4(h18^J(KuOe?CZJ#uGC@OxxP6~qp&z2iUmvesygx(; z`t$XUMg-p@MXmCNhSy_A#-sI=wTn1B;+V<}uYh+nT7{ubpUuh#ozaqVRl84Bok3ISGdzY86s`xN3FwRaU6!jQW70R^_U&_PAMU-y_-| zm8FK!DlZ7^u(&m~sdtC#v(1nA?i=P6A8<5@X;powAY~_-F>TqG(KdpH45iFBjko{w zL&5ESB}uDAgQKiE!&?b-dhr(}m3Qe9A{WOi%*8#>zl(JTiV%BUeda zXSH*}@@u?lb%)+Kf}t~BOA!7pqK*`@=Z@NM-)|iqAc40FwkMi4sdz^zvGB3+W&&+@ z-LyZz5wB<7K@uB%VnstY=g&$O8gu!hZ!w1Ra}Cj|Gb9?YFl}65UI?WILlcPnn_OX# ztK>dfqK{3|e%~Ka8%g8c1zE>IfjVgg;0sR>t?HexE2g706x?9Zn&mgd#Cj2u5$~Gf zzka>n80pnkqprY@7_Z6Tx|nN<7Z2$EBFQ?tNrt6AxX`VAaB;&|bme|nuF9~K=U_r?|m z+UIwqq3hiupnp$yFi zrnSx$ZHGx8H1HA@o7av3+$^k@fVO80nQ^d)ft2>iH(B|LEI*016|L zrmwGW4$xX{7oSk6^2>A$N1(nRhTPlS%JgQ?Ab*e$o$ZrvSJQG#%+2ApQ`4Pc``&43 zt)@%s14KIz>SKruj>ru7pr-6)R;!U1>8eW+Ae1+>5DyuctLQXrn`r9@|E2>}?vD$H zfV+Z3Jl(60`0Ia@n;E}sJp4NjaG=UlD`IhA{}qGAfWC`B)1BqY$c|7fP((NB2-~+f zC#v_k#Gn?U#r#qD3?Pr27>7dl+Vy%qCi$)w#+_1)nwqbacOWrbBL7%<3>ZfPL$n>T z?u(Z?X*V*Z6{b9P84{5Burbp|A08GLvGhW z!XgqXp08xQOyn`9Nx^BA@T`(CkLQV&*9gDFXIaK*0Fv_wnTHGJFnmMD130W1?!Y10fB*N{*lL^aSpre;=X6C$8p7SJK%&8LC2 z>JN}HKAc_r|8-p`8lUnM>gF4Hoxd-0Ek22p##0eY(J;w*>O&h*J+1C8mX6a;} z2LKFk9u5N(QmLaw_~(!Yn5>G`c%ODH(d%KqSsa|CY0iH1M6RaDu+z+VE~?RWZYJCy zWjf<52a>Alfnj=e?Oz#1f%Ix{nTe^KmdGoAN;TYSp;G>_3HU)Gb!0|~=>G(w;^jfS+nhIQL*4_^9jleuMO%5Vv>0N zBCVv%1t_4C4&MpCgy0Z@kq^mN27>#-iEZ=Y+S$?fUB^8+m;_QIH%4k zxy~GW4yT_2or65v)_iPm!6S13Ujd-H_oXePGt;wr~?r|9@38{`VR6cx) zBO*sjwommx_`9D0KRk7Y=R;w=sKXur30CKy1fLo%QTw6lGN-IH7Zre=++I+tgU*UZ z75s039fn0JPcp35!C~~S`;8DJEe#afH&N}5Zt|+oOysGs7|3!4Nj^EG%9qeJQ2J0; zW6sG;+ZD0d9;CENEo5gS6Z9EPi!#Z2-mf1&}MLtww z3JRrHU?l(%6kG)plKvydbA}~$SScKy{kb#S27*|Fbiu||ZO1Er-*2?qeQi#Q=gqH{ zTeq%en>~uFp104OR`k_oqupBWr38;4#L$kq;80ad^-XSLKo`c`P#6f zTaq)ZKD)}N?7s?z94x?(K$=Lp_wx2TD?zvaw7QL!xC2Y(@+;Rv8RZb+V}=way}LlkwokKVjAZI zh)mIsXXf_+k(so>drYTh+4Fwen7U^9Z;Qi=k@v8_cDiw3p_Z+HYvM(?fOc z8ytcn{x_igi))J=)I?+Hi%h`%8(ex;jl&(!&(MrvtM@mpvET_HQVFQBl5Okk+MXH9 zxGWFcT1?yeH5b_)d>W$$bl|IWl^CMVLDkescipc40be+N@BE!CL|N)c-vi2pD1k%i zqOxc$qlZlR6|THOcLPq zBxK)|?l@F;-C5R2Pfh^6`3rn2aOVI{LSV;Y@(I#FJ+gbHZaMfEF6S^j0G;}GCZEJe zU^k*o#{K_-AQ4m|ey@E=AsPlO@bqlbbOn~#;_OdM!BZcvr%Sp=jnK)A3nue3JD zPqvym0Tj7idtkYt>fu)cRH0*znxe4w>3sswtei*I{n}dlUf5EFdGSU~PM@=WcGil~ zAg0L+J(i~uHU>Oc-7V0;hnU2liS5^f!!o8D9iEqVYr2J{h2qWCO)jK0I+xUFtkz*m zGjPY70;2ZMs*yS98ukH|`zk%=P2r3C{GQVxBF`F{?OsfMq#yO6?Eh+v4*l%{gZ%Abno`Mdm? znJ1f&M>~B0*I!xF+1ABc=YIXVyUV=dHyo1jMXA~F(@&MTF>eQOBIPG{sr~`0*C=in zUs&T4jVA7NY!fT9p2qf*S3LS)@usy>qLe`86~K3+;MeapXJ89Isoq_jqz7|Rz_izx zpjYA@p@h1~Q;~;DTtnkXfQdO2f5eGb zg(O94hRR!8vGRD;jvLpJ`If+}-PfVCi$+BTPu^UdE7Ul56j-&R2EwbH7_Kdj)*tY2 zC<4%aH^I^0zs&$-cpPwxtMDoS;64PVh4&x(`B236clF*6vL5Lv7+54Q^`D*B&Ws=M z@r4dhSZ8bgOwg)^Z#@c$c~{uIJ8xt$x=`ggWZ>oq*W&rrwm`a%HmrvoqHaz{PUG&u zTQ6cCc~`_e`k=D)RCuQIg~JgEG6@>(UjBBJ z_8U>@^ZE^ZH2j?o%KA1~&@8K$@@eQ64NGu}Fu<0e7%`FUP{;8z zKJJG*OIV<{%m78g`MsqR0}%b%r@3!`eK*{Cujge&*#3qyatW!nWnV!(r5>&^n13V> zKvRv8vq~}v0;=IHP#i|U)7_qh7r6C@N@BG=%#E6dpCUe)&I|6i-TJ-TEQz1pqMDC26KA6-n4cn4H$dxuyj_%G5 z&4<2Y7rhgKFcLHi78zrI(CxyUiMFi#$QHbr9pgiu75JlbAQ8dzO;;%NQ>QXH=A8rC zEk8VeKDIZAmzg(1(yk)C=8*%T=E3f=W}ij1@>zxdU^eNTETt~yroX{fNdZh=;J3<6 zIq0#!{BL7tm$c(7IW2ygj5f~-JXr%7tADg(-DqsGbfbOdKF8de|<9G zb_4H>cXcMq(6Ft-xQi?Wv_qUUCLyMiGGQ}78bfJA1T)`gl=Kegg||H`y1eHb6S+R` z`2CN9cVTp|&n^fJZNKh%+S|tGkvQU#az+q1I(pTp*B7WKRki@AIPxPgqxoaE%YY$J z^XRD-7kfF={4~g*T;oZpAjV5QwmFMS-L|F~%)^MnxPN-4q)#EDq1dvbx3`<8$QA$t z;kdssTa5MCa$LP>EhytZn1Rht$m-;#lxyS?8O`OR_4Hr#o}_upqh|T!u%OzH+u2z% z)s>AMrp*Xc`H(95r#xMb!0YR%2XO71t?9KN1k_3tnf4D%#3H#*^4rq(VUzdHC^Xjd zP{t()^C7#yo&-z)0kQ#*B0~h+xGC&pciLP>SS9m0(Xt8Mi*vl;;Qu3er&A{I0_l!V zmxtuBy&OERT!>w_%!aSc@X1X_PjzK8${eE!TcX{T4&@1Y6Zh)(%r)=EKN_O&VO#1_ zjYmk~IydoqzGridMlB9};eUWoj~NmJBK(QCo}@V*jL2@`NT?fqyf2-pDgsZevPt(84__}*vgaDjwI zK*U=@ErmlJ_gL;X2<3GTehf#3KC5Gk?YkW{(fj7xH4k}~3w6Ol4J=%2A=QFDTKt60 zog1F%K6IiCaY83fA`KsATBnnFF>tM zVTq21vVgbUlI^h^mCg~m_&srX?^3^*YCZDaoUr93WR1?1@KfOcx-Q5cT85?0h2@?1DgUDwj^2qM|_0O;s?@$fdxmw8%D4E8l-Ztohz+GFLsJhR9 zr&9!E$jsY;o*=bw{|6vRp%@AFGl-CfKl8cFmc7mdZtYzky~12TTbnMj*$Sk@KIQc3 z3m<*4MYko$%%yQMYoRHu5O0r-K1U&9YeA{i6V*1ny6F6zdCXZN3 z%~f1=t+A{rJP(PYA1aZhq3s>-3keRkSbkT$!&d>ep6yIO}{i+yO$kh1#N z1f5Oi@Uj8&9S$2fQ-Li1{XV{d+d8eG1Z)K$XMtkwp*ye{!+oa3*Zp8?;X&s^KEP2O z0m{4TGz(43J}y3%7cN~$1RtQgXq166F&lPzp&Dj9?Fyv^ZcKpvhmm# z;WCjJ(O`hD-l~}&83b^8K4z6Rc>(p&d5*R+_OpA8?ABKoWPmUFl`hTz04lcWPFIBs zgj<1~{-7hRxWP!4{6*ufRKDaB!!bj^dmDc<|0USh-kwN_6O3#jEhd3KU{F2(2<@Zj zf9E>8k2I4D--8FWv*DTZfyB`E&Ht;(xw3?$24D)C@&n^oyJIk0erOflT+`Yae&~mxo}R?4cp~-+)Heljorg6pJA%?p z$5)V~6eLFu2~YY&Pl}J-bQ}6kp<2i>st<*A$nt^(MY?qYTk}-;J!idEE)8JqCC9 zHv6tSC5f(z;Ddr7gf`O%0DN!x=8yTbL5>S4@3e0 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 WpgAZ3Xk36m*NkplDL1$m^?v}V&`?GI literal 98391 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

    R#VRa6961R$^gSMrggMu{0 zabUD@uvT108?Xbc9o72Y@;*!t%a^Pf)UAgiB|JpDGShbKYZp@pH+T)TH)LJfVb+_{$jjzs_g?k z;&NR^ilXxemt`Hz%)meY;67E4iMOqk#7;X28YHfcmF8N+8jJbGtxBLCuhy3b}%}Vb(9yK2vho2^c zURpuz_8#3_Ay?{}ChKl~JGVjW*t;O@Ewh$LO?s2&y+1A79Kvk7p*Ln+!w>2I1%-P2 zQuEMjkrxu)I^20#K;c%j_?G06zbN&QaM9FT6k49r=`%P{v3CbP(*T;W}wktsUq85J*ATUHh-9nL8oTIWK5S9Hr-f3E0QQkE2xq6TPip3&PVO_Wrd4LjQVj+;E>tk6A&F3}N>=eQ=Jx;}>GPSs0gofgjx z$|I!_qm-j};!-A^*!X6drrPtEFA2F}B{9IfPNXfbTs{DEMJ0x3ZsCoj+-g};89qvm zQY+BU6iUQU7dEw(YTL)?Gdbm{K?0$@!I(VPtu~vMGv1#lgnWE&3>hT4Zg=?*&ut4% z81r*3F7ghUx{I8lAb%Vv)jfSt*I%AHo;7>I>y9S7aqUjW3LPEo1A$_Nz0j_61id4rWY8xE& zO1|7*(i>ko@3XAQ(tk%f%eL-x3>Y^^7yISQIb$VQC@}>T^piFQlveQHzI{upG(-2t zpEa|fFYP~B&VHvM9TpAFcklMysKIixDeeV%s~i8+w`(GQBRijehH~`0y|%Iq-fJ&a z8)VMhf}}{RF>PEVw`M6fkS3w(lIzTD!8gPgLQylrv>RxuuFH@zX3UaL~RV2f@{%_;hW7n$SiRW&LM@WMa<7j6~RB*1>f)> zoOMO#(YWTlK~!6S5Vbbkx{~&Fc=%ny58&T4`TvO-FCN9shXc3yr|*GEH5o9 z*&QtT_j9qEmoqQ-h=$(ZIY!QQF-WPa>yrCJ(L}_Ax$ImLqg)hSx}ZAq^Z-M*Dy z-l+ta#6Pr`S|+hq_tO!zE4KrN^TOnc@lpOVGPPj@yfY~mZFj-@+S(XywXBb{iPIkqHj97d=DOL4-p8{^tt|_s8W4v-gE6^P4HZOfc6O;0+$(l8*ac zx0edF2hxMAva{HiCKw3ISZ-t{Q4GY>DyDH zAHPt)x#Awun2Cp7`u@7|^dQyZA`g!#)#G*c^dJpUcSBL}+M}sCkDA+FNm5Y{uf{T- zcvF=7xSHZqW-@N%D5Bn5F?xu*$M|IV{I7W;22LFjC(^bQf>A>7O^d?*4?@ZVsbvzo z`8N@7xC8D6+Qs3-6|G+zI{-}+km#~S0t$&`jmp-Y)i-84GRfpmm=_r(N^^~6L#&(j zw%JzkdyX@bn|?K}KFNFzql29MFep`Yi!{PPXt8Uu8H$Rer>M@ zf_j3IfT+1ugOuyqV4e+9>;szjtay0x=W+PMxdYIJQd7*CPu!-|wuRSY-cMZ<+E@i& zdENIZF9mVa$Rt-q$dTKJs=4nTc51h&q3_AE7|WNCxydaPwU++3!d323<{6~gvrSyd z%`>bpO=McZZ(>U^aqi4L(}cfF^Lu7-N_IKV(t-Gmg`g~~g;kb=IZcEbx^?t_l7Glw zF=?sv&LjK-JBYUN*pzlvl%06)XXPdPaga)@JowUV(xibRIo-%PSFBg^?$pdt3O5H% z=PxNdlOr(8i&he3N75DB+A`l172+i4fd_N z{wVHswDd|#>}P+;TavVvyOZ(mukNz5CVcvoHI_;$^vjVW%N`UmFBuo>l_9trDI7a} z(98xZEeuaUf#}=;zj+jY>L0p*^=^%CP?Rov0md;tAbILMu%jYAF1Dxe-R**cw3}RH zvM0p3Gx2JOKHAiJhZ|JLFl;Gv+iGliU8}pjZ-9fpe6jn2q7;a6t6E<2N|D<>K2~(u zR|`7oEWNr%+5F^LkpD995dn6c>gsoBJNpEe6#doiZx^7y@O>tQ$6@8(urqu8jbUw> zEi`wPt)>2=sW)#%H{N+jQbJmV?IFg0hz0p-x>J{;_g*a;i!ZLQ@k3Cv@TBlriKicf z%nQKzd=O5Z+SNlIgYP{wKkFWSGnhvJW|a1MuLNSitet~7wNkY)Y)4QBqNzdYsG{4; zz}lYyu&o|G4V;)Z`S6-#WSqBCQhwk)re%{ER-%P$enDmJDXPen_?N2M+r@8RXfo9m zR)B_3q3j)fZEES&4{X-XVrW7IW`zZUzcKGzZuci|Lq2rO(LaBmii~egsH{Z}0||`@*l} zqT7O1s^PvC6z%6SS)fn3RPB0tO!GHwBh3nX4dTddU{X_JpkLGDC+Bv@pe#jqq#xTU zB(fo?Q{|sa!e0Niy7LhT;rg0D#Hr*k<$gCNSLH)^F@EQlY^lr4Y8&oH7+nmfP;3Oo z-`SIA(uwOfZOIr7kEGiR*Y%&iv00#RMtal%d@_A#Arn}OyXom?d3xyay<16F1wuFJ z1~gyg_b^{o%d}!I?sH|$qxZ7EgVB;ev$Y8{xrl zmIrxU17mwi!hj)yP{2xVZ+WHOO#SA;;k}Z>{Z*6|c4RTG5kL&QPYh&@>>Tf+# zTCv{w=Wo<%oK-&X!2FlTSQ!Us+Z{o}XoKgGan)wS`xPk)sD1G)JKAuk{gJlDP=(a5 zST)YigV{36jqv5e zIQke?}#0vu_Ed<*f6{I*!yu<_bFMqTcbXG};#M ze8#~8h@D!KwenzfY02`Z*ge_$7Qyx&ofj|kB;P~7tkyWLrK2L1dga!6mP14T5jZEQ z;tp^~ zA#N#j^s_dh*KqJYeYE$C#A+=kab3w){ajzZ=_RpwL6DT-yqcCDVWImO#3$tG%dfj$)CXPNB{Gwz;>JKoi)B0)+8l>lv{YQtegz(FWbZCeg3S^ zv9tT}0FDxy$mav$SGJc@U^%}9JX>kn*X~XGiI$~R+M^}7{oBr?(41e4kv!CRWFd{2 z$bvc7caGbc*;VsZ4kr)-1=b5UI2Y6+l1%RuA)%`+{fr8%W+D&V4x-B`Z3`|fCsnrs zi7wi?xoHLhW(B~5lkm~frk+~9buW(W35|!}v%g#NORzsZ&a;QThi*?((KT9SUI*~K zeh@I!-Pn@%MtdmkKaFily@CV&zB2<@;LdnJUSTQ4X4Lb__z3Qbv2v1ruXL`=!Ro{O zYi=dfQQmj8>=qG+tEZy*nkpz?xqa7_*UIcpefI93=E??E?60+=?T)Ai!xpY<*-g09 zo>*RjF(!uHX#lFH$BE+7s!>CLu3kWU$0$;gXGwVSeb>BXp7Nn!UhTDK3A?@I5Dw!0 zi?sw*7b!ic{*Vx+KfwmlY+~+1VMqn}zIP->FECyA*_dP{VGr+3)3P^3G=t3RAMSf} zOg!VKrky05fTPX$nsYuE@Q0A3H`Gd*F9H87wXH^=w??=~eiTKbpDZQKd!#bz9TWRq4URw|n)kjBgRq+j9NM zln;D&CFfsFM4%zz5iuP6%|TgwMRup-d7cY6{E~;*1W^S*`t02n zTQ)9jNvNsN`XM#xG`=b$VE+^^q}L#S?bp6BS@D6oG{m^-;O~r-KO$K0I6`K(V`rQ; z{rN6liuDi7C*n#vUZBnwLk}h?a=tPK4m56us{)&f8&I9J32 zx$*v)g5n4w7tQU5<)BSeu>Uc?#PQ@*N7CDC&%(t6u6l-?(gL%85LRogYFjaRZ!>7N zf_DV)8g1Oz27wmi6MOl<+K_HHrt82g{l;2=j;a+jYt;i2H`N;j#P;zD$nKuZ|n_isBHiAC#nQ`mIR_0aU=YbF!(;#{7JyrWX~v z#Z9lwcs&v=UR2>&v2*Jn#Wk6VPo9g zcLr`ZYc+trVaz2WXCMTh$dzM@lFg|g92~fh%w;bcZ+FO1{&UH6V_DgyCu?5pRb(cdyAvIgUP`Bi{`5rt!1x z|J_Vn!>Vf=?$Ml_GIgTSGA%mh*LzI49AC%m`Ru;@-O< z{NHInAl2xvw%h-KaY5C3@c%St{dwkp@`C>6{a+rLnEy?(mwEU9rIUMQK@iN}cg^-3 z98_-hYODbwCSj&}ug_M2n;s+4lxQ}r3QSaSmA1}~uPTs@KU{(DN7Xd$29xPM$3KNd zzLZSc>T=_SD7dEEhEdlOndV7UHY@;U|6I~HUd6Q)TBGF{6V)r#pj=tb<%U(NXNAhN z%~WL?*2cBk;@5;+A3}%dv=~Y~B_BG%KgVbYaUEu&7T$L?DRyLoCc7(2jVmVcY)5|I z{yyH;&7w0KfDsIY%j~r*u__2ve~giJ6tRe}XnNf)eYPHGfDv}++(jq57g5{wk< z`KO+3#q9y~i>}$3;ucsy@WSOwmxM)}H3L#fb=j(6@87>a=gj$(ry{9*CQj?Fh=>SQ zEF4faDVWe0yQG7h+|V(ZqCc`}-Bm|H@FM9H@Kr}DoSn-I(LgfSimj(zaHyG!zX0sm z$-NY1)y157=n2hcV&X=?f~%==7=ti=+{ui(koJ{l#}hAkyGf&Ip3IY4t*&nT)S-)Wb{}pg z^X6gP$XT9rr&RFe!1be55g0zGE;rs=dZwmY*lgtf{a3M^ERH*IW@HOb&!SK_?|sr#)CI{BT}>_% z!0icZxUI(-HH5mYX^zVP6$p`EKd~9*XqV;VT5MU7w0n{RMG5gRJ|WBIo76p%&k&fk!+0{3uG2at0TjaMx#$D5;6Kc;}@JK(^iTv`nT^_~HT_nUUFKz|xc=4EYx> z8(s;=WWk{*;$X?a+UJzg&;V;H7Rwy7&%$iewtWS5ldb4`;bj~p;6p&iTgI_QE^%Q(;-R!a zI&DtlI4zg~C(xucjSmU}Q>(vT4-?1Ni7ID1LgadsWO(#!*SCGMQtq>h-;}6;pm%3` z6#QKmxGB&ME&7j5V0wO3`N+AbChHNk6d9-YcOi#dsrrJ0;WL|>5uD2f9Zc`mK59(n zVQ$Yjs0}Or%LX$C4a8(DN~8as5B1R;cN@ITD7H!N{Zsw)2W)JtA52A63u`u;HRstB z8RhviCV~h2lFJ~^!F8ig+y(Bs@xseA;p&Bbr+&dP9ra%M`c%wPm7qS-&U$o z<^0iTa-nZ;|S;>+>6!TiTQuP*({Ul|bAZt@(OB-IO?v_7Hx_{fFM_a=|T%Z17HY;Q`vjqt*(gy_n zy6tM}56WoE$rmS?Jzt|tzi@KKj&ET2mb z)g^7h=;Aay?mFfJ*?CirSHF23JinwRa#C)dW(&uKuTn<`LzaKn?5-H-l^HW(O;t(h z<-_kR%;UGcQU=QWV*p~6>fwP1|EVdnedEwtXLT%)N;$V1CQJGXs_Yg4&_g=yjUSSBdQy5Qa))y@&Er;$ z2km&e$ID#(H2fYF3EWj_@y=@%@INEQVz9dWW0YlobZ ztE|tyJ?n>c$SeVyBw4U4C|P(h&4|2`qN{+CQ;EIaGiu^j@5nYaczJ5L*iuEeP-w|w!7qt0St#evW*h5-!J|0dofDHG^Q#B>Mu@A4dJD7hJ(T=gJz4sqU zYndBR^tb*)V}uXX6FPrlN-}u3#=%S|3qPuPYlE?@=10!*x8ypi3VrWgr+83>#CH$n z4^JkEta-%cwxlj%75#^;Ek~4SE|&}l+Dr9H*8?spdAWR@*{ouCjIVV*@UbNjr=@a% z{rO``%S1x-y1DAr2>J#%xi1#*eywgjhso(yu9~XX^N;DaBo!Q^oEobZg1Y`B#hGPH zYC?xcJd;_ogaolz-Uu--m4(8e*J9Vd>*bZi3R>@Mj<_gU6I}Ehy>(Uf7aTo89-)EC z8Zn6wBR)^K1M~1LXx7;4`Y4hpT%z5tCRx(OJtUx^ld$s=SsLM8;_^~*BX+thO~9kZ zeenL+Ra$R0K_`q?xfr6`Z=0x7hB@=!Z1yMF8*)Mw-Z(zZafGpv+!_t>C&bT@q zjd)?qc#AWzO^e?(X*%uMIZ96rF8nTGSM`!`t{9Miz1thQZLJ|=5!sPJnHH^W7V}yE z#AmZPQ50T54B1PvrEvlNU?5pF8{M;HlQ93{F&T3slgq@>2z2$fG?$sqb4}P+b$Gp) z+ssmoGjy$p#k*+D^_S^iUov0Vx0(>Yi;fhSa4PJso`VbnybB9(FTJC$nY){;h}V41 zNfJS&wwQ$a?Z&)L!A4w*=L3!wT^-NT==~f-vUgT9&8nVn1+G*!IO0<~KCJ>-_1odf z@OP+ymY5rZ=EF7c9|dI~5pb=$0ZLQ|@^T(i&n$)avRY3x3hH4jMxHPQ9olW|<6Asu ze2UsogJ@i?(Ch>27WOx=-389J8-2|9N*{vG`sR6wotW16rM66kvL>?L6k#I&b3=3_ zYddakiZnA-?K50XrliA}YT3{WCv2dZe5{6hsus;z6)YFdk)r9&3*4s|h@@hgoB;|+ zG2(fdUc$)-n@Bfz;K5=t? zeMd;Jp>}tzJeW=204PFfeK|p{9#4$Sc-hc^am|?13`dc66L=72qqJY-MYkLFxWG3C zqW06qN>5Z@3!YMX_{Z~wA3*^MJXu>P1^80BH@;P4S6KBKh1!27H&{Z%|z+jQS`^f~XT z3!#^KGhU$rY{Ut?^IJerY?^zhiC4(XfiTvfoSuzVNRt36*u7D+{m; z7St`w#qC9D)Y3*?y(dMjAh{B`5|T0It}sJGni%`nSbtCcq5MxwV{0^ zC*ubO&1JY0;|@;oMKi)sk(8APr*`z#(!_4-u2ckZhO|n z`qUX3UF*@Zb69qVVp0cE;=+4*D!Vt&p-!AuN0q3r?;pC@# z>d(T-EO;`W{c?`I(AM!Ngy(_ZcIUaQkhz^&XTW`FGE_4Kwd-?nIP~_brz%UjUd_{J zsP^bx_-J7M^t~t3FgH&gzDsWyh z9@fhFh86h)md`BzFs$%tfOMgEv%>UZOp;iY3iqQsybrUe?&$WUv4Bh_&=HYntq(zw!T-k z(hTieEe&x5bW6Y$Gst;XVVwRccOs-^HAF;-_-#JZy&UuP9Z#VCnqj|>lkwfHj>Jc2 z?5gbE#~dE|iUYY)aS3sU^SG}6ytmu2I*Bbd{xW0zHUvhG&R6jibBnL79OF3=vgKAC zr=N7B{KatU^X{%^Q?q68LO2zJG}9WYSzEt;YuNV`fX9Aru|c!iz-C;ED71Aqv%cNJXt$fI0v(`H2)akT&L%Q!zmECi0#~M9iF&2xY$m`j_ zEc0^>Z0}~+ciAkTMzUtCIN*IM*}n)JqAyd*l5FAsI@;wlx(pz$YORhIHHnGu-4QH~ zNffatLvo5sjuK*yt>tqbat3(kQYaxfLcor7uliR7J`mQcD4nWQGA(a(6{1TVW=ah~ z2E6x+6gZ_~?_h!9UaNiWCJT@qa>-8gAo6W>C4PKsOaK(i3czgj-# z27U0z1YC#R%NnMayYlAcw03TCOMpg#;Mkkf7(}~bAhX`SG3KQidNS^qoT25-n*cnW z`ty4(AUw6(T<#!9c!2Qfv=58l;B)Po9!bxiZkAHtd&M){`@JiapQf6$D}#!)&gFi!W zllgx^iG2URNhUSTGblIDmw` zY~Q>&nFMI?)DdE0ViKU~y=s>vC~&;okTK|m_6x{(QHrq}rUYSQgr=6nB~7PkBY$yR zM`38q#=|kMT_R2?W}cbnI*Y|J?Wvh+|f~XBg+9++E5bi16Oh;-7#N0b}tX*Sg zv7evuUDs`ml#@w3vTyn78UY=m<7{I+_$n92DX!zC$$S8OEPq530i<1DH{k9UuFHtl zv4C#^c+<)lPBYujHu|m3piv+R+a`jL$NF??12?w=2!K2RQ&q8XjbqRE?`K^0f*DSy z7**N&-CmC(9=u3xWq525K8RDytT!HJTeuN=|2hYXrCwx3Vp1J3`izlbee+cNFpi+k!F)3fPl@sOX zA91Gdx1)HVz%5SV%gZAOf1NIwo1#Z=5j&|6#Of$AOCg}jOwu+WQ$@0n$276tx?qW9 zWIr<{=^9%v(Jcp1OOK8kg?CdAb`7_FxrXhU%T{|jSBaT*Q5C>FW#U2emBss>sh2_3(J6A*zwAP;7uha7vg1FUyjK$)dR zibTcqC{0f8YEOP{Ze200(r+Dps*eQ2u)2aEW6P4|4CLI&xHliot zDvxQ4LCCUP4fJHo)J+M{zH_e1tN<}kM>@~L;Ek3#G_;=)8y^wrsv84hCHRnG^rLwo z)j=I$4%^^)hPc0Zsm}Co1(Nt#Oypz`UWBPJ%VBu~Wh6pfe7kzursoHT*Pn@Vc2%5= z?Ly8;SK?_3@OsWCbvUzzYiLZH`)`pw?K69=W~h{BOxa`0;eNvjh}Y+5;q#h#;^R0r z@4Ne(<(?1=^(n>mGG}?Q-Dx3LL(m^glY+)?ojR0oR@G=a8rA6;=&yMebKT*#W`@&P z;j6ZX67JdI(h~&%?SY{7zuwr_{PcmoKu={OrMhp{0!aUOC!0lSHxJwtq2?8iQb3y` z05<|iQ#B}o9g^C-0yNarB3HzGze@Oio#f;-N^E#;Ea#Cg^kn+erz?Ov78-W@DqsZD zfBUvlK-nJB<^wG?L+jIz%m9ev%ID5Nxg;Lk+@1-J#BX?tWqgy+lEha7SVRG5BU7q- zlF>1<(Z1hsN<-u()5!XWD{NRp*dc8!H{T^8((mrOj}2xHzkYG7g`t$RsQ4nU`FB<3 z^c+8k#!PVm59eCF#|O66?zQ7&Tp?YZVsV>UimrPDF0%In<4?31K0jl3+OB}}8y8z6 zZtb63p}c1)0?ehs$OU zVm4b!b?4HPk^tIDv4-zkfIt95o?jf~9R+!Ll`~;m!Bo!?jTkfIZ!SJRTZ0#?SQG~> zRHFtZR8AjWnv|BV>R2MpG~9IZvl%nxzIm!(Shx=ln3g0%2jXA_vBM?RP*r3&J9 z#U?@at9ch2wDZ*R=Q0$?*)O@w%+R%@&6yIAz93ljlB?ziEqw+Lhfkv!BTJ}z_>yR@ zHx_{v*`)QjE56dLY>0*pTn-G1P2p9I`Gg}~K(pMe?yy^fe`HZZ7!`+h<;E>A!+n;K+;m z=PY)nuU=B5-C5~oJkLg(dx1^BhtJINs`Mjk@ispbHsm*I?&_D3nY<<Ni-Hn&>fc9KSeB`t~@H{+K zX0A}T+72w>uxT-A4jDH~(Jf$w9Sx)I0@eY&68(fLby9UEj=$ej!W63p2`IoU`M{Ca z!HUYyJ}nUg#?Eo@%VR6AAMb}fe}DfAx-nV9`0l4+CgvMCu&ddXc7X34Eh_{ADokny zGl{YU=edx%;k|*!p?zGpnk%PISxGaHJK*%%%^*F!UrX`pR>Dq5m7)ap5@1}$kcQ_< zY>n50ucR?eF7NpHQ)8PnWek`WW}vRd@z8K3 z2tGk-8Ti?zO(jP1b4jbC=x!)x^<^(-=xlu2tUE^jbQ z$13{vBoAhRZd8ZH!?ztV89z_EhpX=kC(K<~-oAX>h~)G_{_m>t-n7P>W@~6uW2N1- z!44KwmD1;pr_Pf+b>7Q!5mT(x!{1CRDnS!-?J6HK$QRpnqWP!0Z4GeTc3l`w_+fJP%S-HYM%5QW7?0q6~^4giMbC{kNEC+(f%M^{E z{aVklXY`L0O}1chQ_24Uj?Xe>Y7*OEz!zdcCnJFdl>i>2PTz7jF;@N8*lyg?n<%Z$ z$Y9xbtb)4#*ce5=fB&kv`Lk3XqI;Z`CIw;7#@2>DqKHT$QH$Q9fGW zKdVA0vdDGCSa$Kn(D^e>54%^#N?4i2%{G!Tva+&0{r!4XXED&7{X>4P!>`S+{QUfo z4cwmP=1nhRxfNneT;R(V%h%S~eGjw;rHRy!HtfxL8AK&~lAWArIm8Fy*H({U&GK-4KhTK9(779w z5~#1fNt(Mez%Ta`37cuK5f=A6e(X^NA0OXmt_LiqW{0UYqn3x_tGKEHD7W&&P18H& zCv&srtCYK{np`hkx)k-h%#z-kwAY%#0wOdSbge&ewP7hE;H6ArlDYqnb$pA3wlCu# zh+x_*jSwUPz8s9%X{FG?X6N4ielNXau!Dsp9=2RI)-zL6ymE5J*4>E%HWMH+eDkvQ z{^8Q#4LP7yX`m5`8QUZE;EQsQ;jwckKa=*P-m309sh>S)eOexY$+BiPf2PuHE>Q>^ zymT?u)L$nDdvh|rRw|pn|Ej!9>rZ3%o*MExF44ngt_vUseya#!gehxt0vlau?ymh5 zx=wxsT%%Fi3YZhTw{A)J?=I`a@Tb{61_dfEE-s=@i6@SGjuq?aWjzT4T|{!8MgOF@ zq%d-EJTfTOh1|V+7vVV^l(guD{5X=RaDJxwLPRQqy~(nZy)+|cVaB~`LcNY01{`Pda{sQ7r_pg8*f#&b-M#8SGv;*t4+$1kVV*7CcYdj47Djw-{^> zFI@++TZylCp}}Mhr|?wU+*ZkiyhmqX#T4C?dBK+^;5;$X`cgZ^TfE(FuLz8~#cu+d zqhR~iJ4(AUQwv@V<683U^Z4=qD)My;8?@Z1e}eT0wVlg zen_I8r~sHj3NGQ*d}iJ_8!~Ci)vN+u>oQZEtr)uXM$Ln?T{J0ZDsuj+@GCH#szC(^ z^ZidB23z+%+vmk8hgD(!m4_DELHp1JvN!kk<51M9BOJVE<6ebI%MQl9y1Dr{!CAd-3L)IJ3~p%l=L zKo4nZ^dA+G;3@1T)pZg+(BD4>T2pmUJ5DR30z5sd0V7#yL59EJ`r#3(h0^ad)1b%B z&W>zhmbf?|Sb6r}fAzP?6@eGbd!i4-#dYXYYODT9*g3=r9^^GvR(|U!F>!ITdN`fw zjOn_}AS+gPw!y1}z6%N7O1sG6c1j%3@zP%dmEgWOAd%70dVuzx&jI*?BobGk^47W!$fxt@pZxzU`IFJpM)I zzq12-T7UnDzlSnkV?P%85egW8|MR-ucHzIf~ z$?4RHJwr^F41jg$xBAnGT`{okLuBM|>v4*PuI?ux<>g=oa_S&q!74K>h-J@vE{GL( z^3e+DUX~IEc;V74-=p9BxC9^|f?+zho&6R-Wh6a*wjTe;%XsWqn)81FXSE=}81&FBA{`4}T#&}@$sgO1kgf#tc5!j$eA`0bmxbR7!`9TCM> zmPW?5KOb*a5(6-GFi`%k10c1aknsG%);zF5p1DrXU)J(%d|3{)@UCr)B=2=?zcQBe zmx?WO6Aj#V8_Bj2a-P0;Cf#TAyY9!tGE+90$>XnqM_A*bn!iNSvfmE`%{BDOwW?Y{ z#=y;8#`mj|j`ZdWZO)DsDV@-pyFCd)V_C|ewDirD`iE)h8^>nij*;mDST^Z(cGhKh zS1ixzU|iBFX9kYO10V3xlPT*9T$yEVubfW*=;T6E4#TGII+}sAx4(It)i@@wav0yY zXf~yf>7Rw(^V2S145geWbKO!8R!P*PE<+Gtavr4*U$dJdhSs{4>ma}gTCu>SraXIT zerrBTYWHIA!T)GV8@sH+=N4R+{}ob|9k*Uj4aH%dk1@YRUL-W+-9E`sA7Qe2e&DAt zP_vcvN2k70TRpBccdI@%%f~sS~uxp^$g(H}BLqINd_wdIxHsEz* z<>SDr_6B7y62@zMiGXb$H(HMv+?b9S#2}G?Fmm{K?BxBbr|Cew1dROw_OO`eF9J=Z z8Y7EmEMy&?#|;&lEymvvKdl-o8r~I3h6vc`h2OC_S$jHb> zI*C4yd=^nA(`NQe#fQG3ST~!DwM&TCDR;sVlQ}OP_>~FKCV37Fl7Nt`XdIc7(Q@|Jk;vwxKVbyW%*6^rdQ(Z=se- zkY$&791X@+iSc8VB?VXZXCD7!0K8xn!TPb&4YJ`*dHLBElnskQc4`|%{@|ssXnLm>0=H|u#31#~X$#l8_uLoCUwDArrySrp2qL@M!?EV5CGy6_CrZ1^n-}`xqn+7% zHaLzXPccCyzk5|rZAoL1+5XE_ZA)X37ht=8g1m_WmaAnARN>NzwaS2MH&Yge@`>+P z{8)SB)NEf3w~SSKEnE-`=vwZZsbq(-Ki^Js<=A=lOP!SLzPzuVxueyJi!bUo zrCOv*uCoGjm2t?r=icEQUI416c0>~^?G8%zsOZD={qe6Sn3M-Gb4*h;#_)Yz)UrUJ zZgz!PQdL!8t^4*Hbrz#ZqhIp%Jbu+0mD6R-_Wp8D=VuI-E{6odNF=j?a?T{aHTrZq zx4&0^2xp8fVgJ|8Y<<+S@~75i!b8P9PyQ z_l*~nxtw+U^Qs4HlJy~820|?@G{>IIKD6sWJQHVDZ@D<2tz&gQds6rq=qS!H!B&P^ zWUsr#q3`Kg2}gEHtNJ>dhE~3b|FfODC?ji8T|6&m=d0ki&-C7=h<3H1;#YL(?;c*> z%bSWWxAly=TfZ&F#DBF#3E&UqW}nY6Gu18No?_JzRK{V1@-670-UbyC-CK!L2f)s9 zJV)>Zg7n^_Zgaa|SwN#IU$8wNNEzMS6SrC=A*YdC4% zmE7n)W!7Q1YA?=1sR-WXQX|=9-=MVg!nU<(mDR%Kw(38!tqZBJS#8wLSdU5rbJg~MEyg>#HfuwK zso7)%X8)*&ikJ};YFOp?`r$SH;B<SDaDtV-RYxZ!RE_ax7qK6vRs;l! zI9>O^?$!;QO@vAYz>GXK-QYj*TbqDH?;D}uf@W)2$eBrg`7y;lRGO{Y9Gvjne=-4q zuUE5VxNLs{SV*Sqt<(JneqgLdKgVZa!jOGO=kiLs5YHW()LR8g(jHtrG3KTbV6{0S ztx@hfWsm)`;^qv*5iKcx<)e1zm=^2S)!5hsWZkbJrGak4?Frk+8v`hgPo6#9R%LDL zv0WXt-WGmh_e@Bt^j8kJ&)M~--1}h34~tYJ%==D}OM1=vclTV|Dgu3YUW6Jg6!rr{ zI)UVa(kKJ3L%RGZ5mwwd-6{Nl5-5%Og_cs4!{k+wojSW#v8r#LoP3{SJcWRpPyW!w z-^L(m!Mpki)$13ZZc#MyBouRk>dlKMD@i=V_5SO_Z+wzyE3&}2o5|e4w(lgsZ`szV z8KBmf47hJ2bHS%`uX~BYxI8l>3g6A+o7Zm0TW1b)GAK=DXoD*zOuUQE`0sYzE~mnA zUS)THKsdurj||H0@u9E$%y>?zZp726Hv zZuI=3Po%bfhSH)StIH;?fG%S}0bIam_!RSm=G_BPTx~n&oeHYkgx@TTdpfd@C7(y2zs)1JPJ8-|g|j-aDPo37Z?1j?qAtL~ zBsxR+cvkVVE+7?GHa?z3SRGd$WfU5<^(CpadNb6b-yId@(+0Z#anQ#~hkiniW|( zNJA@l0xF-U!E0()Ay1~(=7G>ty(}}Mh9tb|>CCALP;lyY2p9kRS~s8=ldg)XtAD3X ztR*auTR3$@U7!_UDYWSy^!2UZJZYx{oql|*x0`Bu%z1K>BX@H3CPVP@qt~iizmIaB z>ciFZ$1v0qS6kcQDe55`PT$|M>*bqAI*zVabo>}jp%ReS>GkjLb`$2Z?XkqD$jBUB z7~>Ui{}z1zPJTaFKfdv+1v2sS8uM_`)RG?rLlhMqZL?G^dgqIC?V%eXLlHtp`S|z_ z@~acuIRE}|WO#5X3r{A_Ys9kl{~ggbpp?eY`0fGBNgLcg@&UG5 z9#t9Vf!~#vn)I&UeDdNCaq89cxv&c{rqt*M*3Up*cPj*wzv?>d5x%K(|0ZNZ0K z51hNPE9wRXFrej=iI`#GP_{$w$*x*o5 zG|#7{)u(r~Oqb(zyzMFFq%7#X<_AzlySP*l8=Z|>b&g1d7M^y8l9 zUkJFy{4WD59hspf7bLXQH$8fqg7q-R1kQL&mGkVJkA*WE(lQGNe0?KKAuKbMVT3lN zD3Nh=BrQ?O&+p|U8>RW>8n@!6I!H7Za$iPzgaLx~VOX`0P=Mj&9+XMG;u8ifI%i|G z?fK+fu)WOCoYcH4*E)&Mxn!j}B{jjZGX~mYZ|#4bzCj8T0%iXuE9obsET8;@{#<5F zNsbWi8XvpGSeU#Hs;4F=IQ+E2(tFXQ;9XHxO48AZWq8lCH|MYRm#1evOcl|=#~9|& ze^`f%*9!r<>I?qx7*X}Ny(?!$MYV|X&UbTTBwvBtwj0N|?gHy6m>x4#ht7F@VdoaO z2T-y%7&gOktqsMc4H9V~#{BB^8uZ7_mZ79e60DD3Q=5bS_%h*M_fZ2m7PhQmYhK(I zloP!1IWqF_wmHD(paRcVU8(x}qVaW>r;}asEUSte6l;O&;dUZ2&`sEjoRP$$2PV`n zR=GzWsrK#PnxhUSsl+`bAhl_~KeaRBcY_E3mC>+g6QK?msgb}t+&aOq@|^c zR?0b{QdPf?FqVH7RR2cldaY(jq0(AHA*-bkY%pFbr+aBBZ;~8S>QXU)K?Oz%A(&{t zASF~_GPC&>kQ6xvsWGaEmHwTbYT*9^#9r$7sUrN3o*wb1R8NwarqX!e;&xxavihi6WD@g$s_o*(tnUIayun$8f={adE`;G$>#+^Q(Eii2J6? z5VpAnB_=^_BI&jac?XnGjntC&K$cl3bGT$W~ZGTMp3A9+Qq~sYputR9|xJeNm7B@WQ-YS`L9B; z{cF%0``K8qWVR2>zEx}5!qg@~P%K~h9CQWH4p1BiU#gMS+^>O3p(fLX*a{K!=Z3aBfRa#3U7He*1>%18q-bNiC4VZI*YcBN$&`EMXY-$mW%c+n3;E3P&2<~;zlP2RZ z_CwlS3%k(Il8TDnDeo;!L%7U#cHEem^WP(|%{ZTbdkDTT-S7zpvpT9seG(2#(51fA zJGh<`3709SoO<)mcO}1~N7NMR3@-j1%8fX8kS!MKz=M3a0$t03a|>P^^p>qEE$8Cj zzVNKZqhu&awXhQ5lgluf%FCOE_y(}~whPB*J)QYn zM1&T?M<#fF{`AN(YBPMDrkveC9dt5!NiVIm;dH4%;6>WX;zS*=0!J-_^s2$8=wZ}y()Ly!dr%I-ICO%ro>tLH% zVQ}+Y?=`QR`e;9TxzxjP2qkv6B~;m&O1a8oW0@ZPf;&t>w(z7 zT-f(jB_-=piTmd1fIob18f~6jvd+8{)z@#j*Z#t&w2+OB(i3b_*Usxo{sN*;Q)t}O z>EQyXcch0kR6YzNs+jXlefYb=nd5ho!A#&8toXHk$B$s|TKLysJ)yxCw&MRt_1ATy z0cXNdN%kxxTaudm`g+{aJ*}cOfV7v5t%LX9C`=DK?_?bVj~7S(!xGNM_TM&7{$GBC z|APjmoJ;t+4XB0Q&gj3Ho!4HKH7(C!{ybNeWyhgMBw>|PWU z6Qw}UpBBF>nT7lt9&N->Tm62taRyX4_eo;{3vTEEzVTx+ z0HC%Eo|7{1b{y>OGuGx+epa+xLss=(8vc3Fva;x28xY~XB>`Jc>sFdL;uSnIs=p94 z{fmpsF3XO8VlTGXl}DM=a(I%ToS~0a1^d-G_}8A}wB2pLTaZoaAqQc9f+H8CGt69{ zuy$}Dl{^nwvFCm;kr4akBHjM)wvJ^}*`$!m*>c?(REB5qHY=kZ90c(^+6;6U8?K#3 z25u+!DgxOT-1z>l2oQU_U%Kp3%K_Fsflg}WJX?UBlb$PcHF+?S+^l8U5B&=N=5c$M zcHh)_jEgQfSrW)Otxy+dc7L z%<|Sy==HzuTe0D(Is>bFXK2^zs^f4`vfLa@S68>c_V;7T#_*@2Wc4=*X`IAxi+VFd z@-|JSpN6h@m>7TD1DSBP`R^5|?hGETqOrS>Cs}(a>-9B;o4J1;b8g~Oo~m^oE!01m1Lb6ot^Iik)!Qzu6TO6@T~T$z#eFvLuWhU>HNp33>_u`w^?l( zi7~S6#oC|#$0%t{abv&l^U($efj(etY-be}LfwW%OcK-n@#DSCS7C!tEhlk+)aRKw$Ylg^z$M@(MS)s>jX_oD2Is*ayyAQgeJ4@>mE&SWK^C+5{@gNq2!~FcihCa( zeqaD9wp|>n@^trez+qBxFSzPHr~`}c2fhPhUK^g#9noI%E0GTljh~YmGAi-LzB{y;Qhit64Yiu<-?#bFvYr5wzxcV; zy|ykw=1?zLEH?FI=k6%ex5Bv97^Z<4Dj%$zUPeP1?Ta%Oid&2xFF(rS)*^ zb&HET)hL(VV0%I6!Yt9+{@6b~8c2a(Z8*Rf;RGu_KWjUX+iBd~V2e=!OP>s;adWl_ zbaIa_t&WsAvfCHJtkXbc*61uI6dQMHo8H8d6i?m9?T`G|wazq%ub1$BVCp+*XzZb> zD1IwTNxAZ>v(6Cgb%zm&JjYL>t#WK8P_lciGRP40<2gx?U2!@u12D`qTU!Ceb zyTD7fFkgBu#%#ntDpv4~!2HVlbF<@O8ow_9=&J#J8kZQqza1;N%VjCrH6ZT?vZrj8 zaArp1i9dP7Fi@?yg!(LlS)*5{jVi6TU`!U9g!<$}yY`t1h9Du}z^E`!%-)L{9mvfr z@Z-@%#oS!S!Ck-DM5i$cixUK|?ixjijJexaa9cahoS>>>U5M-?SBPk9e1U{1#JQX` zh}hoFYx1OuXA$Yi#70P3r#+O!sG$+~z&{-mNUDD^rQ<%*a%uq!L!~ad!^F+OQ${O@~+4uAHMo4fE76Mr`Gz4QP ztzPshg!RE~skw8)$%7dFHxoF&NKK^KhczStl?Vwt7!p#jP%3mZ3lc3bKeiMSy9lkd zYoH-DQwxXk8UPgYSwDh241R=GZ{E}fiK;^Wbxe{cLrV~GOc@6UTZbVE4qg~2^?VyJ zEwJ=Q9ovVa zNIJeyMhG(2&V*-%%HDcP0-K*fXha$EFJne1K~!%t>(urw%sS{&%sO)m znc0bD^&ob3i;zokLqmlaCT*w9)0r(bp#Yy0=Kinxjh)xMfD9@1GDda$LY)KJTzs)v zV7weh+5QLPQxudHPSy(Qs;HCklACLCqY+%3WV8I>3Ms}>V4y>QEA52 z7mnV#+LSJs-X546%;$_iS?*f^mT^sonU=<44H3VS4G+LN=ZW?1m^8 z{swL?S|3XP7qIyU-~2zH)DCOye4^bJTq;@vvjl~G`>$pM0qRyoyqa#`5J^e-_~)jP zPlrSWBeqMVW-UI}Zip*Txc>t|{Y6)-CjWCywWH}Lu7&LFa;sfq?w4QBe?{ZFu&qAd zlw5+qbCjSxeDrU831G!^eP!-g6#VC3XRcx54$|>p`y0}0r|h2|`Sp9(e}4A&tWJrY z^GC%NUmf|Uf;Grh+x#~)|MtP(vV1I*|K&eoU_jl2|JzF${QuQz2rIghQHQ@%CqzNi|W%*&LN#Brm#1}L`D+Wq;8??C3e+N?}G~lTMqE)7o69k@s zc#3$@q-W=z`LECaj8{cGACB;4Y#H#HJ7q2OXGYLANPL#dRJyF!{N3p{mjSPd0fZVj zUlnqq)cVlL!p=oF>X#E!W6m<*j{EJu81P?yot6@b{ETdzJ6c1{Kw!|%6*aQfa6dHg zoMn_Bn~K*D_fMsPB#%yc5GkN)%AEMpepHzL4mVbaF$9Tc5j7aSTmWVDo8EA#c)Y+r z@F*65lemeO|G%iRcJ9W$MM4!VHk`X?>>k9)Cl?i?Q$38QsO4#xU*9ijA#HhqKInGx{#C$u7H?+`w+u#qiD(`STWO2Y=bmR>I}jxTt6 zTJr>xJ|oS{G{ae0xV{wLbsQ?Zn1V_`xr2=3L78G{Lg7hn5oa81@!ifb;~UW2;|ZuQ*>Izbj!VQplxC zHSdJ1xGu`hWn}t&LknQ~YQG9Au+Si9EcJKmIp%1Db;NJ#+O5omjf7Ab%j%gbb~T8a zd|#sthcQ2cMzou&;o67M%)ogy3Ryt+2vFG2_j9OsDORzo+f)-$jt%FG{wy# z2lr|!+5$v-hyl0>Fuaa)Vpi6N`JI%hV6X!^Enx|5AW~0Y4KabH0P_lVZ(rG@?pcH% z7;5X%B@bq`l>DK~eEcgYxnC=S-Zhw6lZp~TKr=W;LRo^4!`HyRyu-KzcP`5VRJiVm zJxCvQz-QLe+tAJ28jnJtHndUZCJ_S`726}*GbCj6lP+V_Tq-K2`fNF{_jCQ!bK zeNIrC9Az=vX`%&{20OWGTUrjSy9Q)pn?RMet^hZ*(O`?)fcX4Ox7q!^HRz1A74krpd;?v(@9_Mrr z%5_Y2-beNc8T)BHC&sk4a7|5A&tNma2jVUt?`fdQb!q0$soAZ(zSdE8)-reT@}fEy z)>PzkW5ApM=zo{!T4s>PfMQ3!yZ_;oE~&D`w#Ji85HYw{K8g{f z(}MVAHbB--Qm(qT0xZO*p8bl2USIk`h_O7v(gt9INJD5^S>>tijYSq>DaPxr0O3jG zp&RgSXJN|I3Sb8R{Ar+b`*svh!H(xSGy;<*>S$D$DCFRgkgAwS!^m7%p&9lS$i6@2 zlh~olpx#ul(5sECuIh zF>Q&EgjsAT%~y+|3y6L=#iQ4t7M^;~ZJ1vXv%-1gk+r{q`^Yy>-?S`S%8y9|-^Sb% zt5+hZG(1@#9Yj}|PmMul1|ho$6-$u_g_l8b(aqIR<}|*lq`Q2*K}p8ipJ=1<+?p}@ zjKub|H5TsF%sj2#mwltM!gZ@8a;LObh^2RW+RGhF1ms9I9*nAUl;$^s>O5>%(te?T zg^Q@MHK=qfsqdQud!t}$^0yWIYf+FF3Bmz6l(#PSupbIm4Jt#ksCYu(JA4Hw8T*>M z?^^{q@OYgC(E?crwr`Gz3YyLxuGd)5;}6x|0J*J=T5`G$tPA1_3fk@M+Km;5YsRw| z)$E47%>&+0FqL{|8s0@<3M>baJe>Xh^|)?WY{5{Pc7&Nto2qk<#hA5~%x$zCVlkeE z5n1E)Ubu2wH@3b&zeJVtn4uQGW&5D9?+BB{$3_&F>JKL}=vc^)2 zNRW(7V`kp83V2wXv+a`G_s9OQW6ix8Cv7*&6f#oh9$GJ9pwywiXbB?uM)Wzs)c6kK z3;MoI>H&VQgr-s`bEbrQa9&>?M3}_ZkBThBg-#skVH;HHBNXyxG-I~Y-eHcB4R1{M zgc<_5H;~#5kKKFW>aKz96`pZs!nGBh>0u*oh2gvsSEB zb6QKG#7R}(Qzno19qpk&4g;Aq8H&+`jv5N&+!<6{7-G?2ctJw^E(Tk^Txg(6h&AUa z`I#Ps*)O2hE^1v-TxSJgyeuSHx5P~$fWT1|MH<&a3AgM@XirXU_N2w8J^yHGt|lQ_ zq&p$R1u`0v`e_`}XN!C`oF^GH@^yn9m7ZsnGV4g_!SmXhF;*N)GZ2rfzZ(hIGHLDVBX0h?483xyJ%!@HPr(f*~OVs`M347#pIk4pM z(PdCIeLO@+8z0!Ol1E2YFLCRYz+@kkz!V<9&A(R0o)O#jmGkEp zX55wkyEWLsCdO|oa4mMe-TX4_`ed1zVJ6>=VGw>&qSbU@5p$E`7UKTe?H?pL)67C2 zw0_P$dqKw^#-@&7ad*~}-k2c?;gu84bUj~LnnyCY3k?EURft|5YcE;v-HFzxU3bc? z#*~hJWq}yLU@=!I{z9`|eILCVEL*V%3iM<)_O%=9)2QyILh);l=FGy6_BE2PY zx<#{tImcG}l5KRF2GGMk!E20N18R4zU)Sd+njyhX1$Y(&{(2UagDbwUOx++QXY=1! zGS2;vVafP^?XB!3Uo20I+gBH^#VwB`M8@QGsNPcqtxDZ|^Zah#{r6c9|RyjF=@y^pYbKiz05| zCAaHp=j)eusH+)RtE^c2s;hA*`b&R>$4Z?R*c6x$6+~Cf;(1R?-fgoT#0bay^*Z= zofCHL%ez4J!hPZ7(a50b?a@e8&t_5(k1SK>15ZVBdl_~2h8Dr!e{VgZzu(eVKf;ip zg&Xg0Ua!lv5Aq%%ZX6*@`oFaK!&!&Bg(A;Jw#sk21)<%l&@}GzD$FZair{<4k8i3v ze^?!VuAfalPspd9BotlVGh|zcmq@B5_~LtOWX8F^gp}^vR^BGZ2a;uj&{`^oHw6l8 z#7;My;JQ8>@|@JV`q#1q=2R1g~LRh#T`a5-f`U(L|nYNNWd zWsT|0{n?37qqx*OzDyLjghBdWfKHwstDo^0FZw4D^+ub6hnDXS`^>{!)$$~`pe?>!(V_4DEp1XQlRU9!Q2;Wm8mTXHERzeJ zEBu*WHww%qaWq)w#B-|6n#pu*rxgPZ2E4>)=tvp=u(28`@B{c%Dvw^2&1^rXkAu2X z5q56z=|9Xhp)aSO<$02Bq1)-kG@R2EV|cE0N~Qa(gg$zPT0(xM(v^Hr7v6KbsGz3b z{?EBIefX;XBaD?wlYRZ?Ulj#4o%Z7QP*0K3Pd(F-dK3#B0oT0r;ZlyhwxF8-^J$V& zhrQ3K?7*b-2^P;(tPr(OVJA5Jx!B&(-T%@Tu9UyJQMu(~BYsn?>DGSfO!ImR zOQ^$vhJM{?BA{uQv{Lrt8zq5lMA)|8MjP^M7jp}+W zBseup)dDBVRn}zS3NGp;1%hTd?Wxd>e^(we-xj|{kNbdg2QIGQ&*#31Y z@@KC_K>Wn2h{H&21A-iol8jvXx-fV8R_)-hx;$G#*{0_0>3wnR+1Vzr!r1QIr%W4o;)1OI(68>j%d`Y@Wcm%ynT`_7 z?RkeQpZ?s-FIb=I49q3hsd~!b`Y_hk53GGCtS~a@h1~CH&@03LJWEyW^1Z!L95PZzN$F>MsJ~JYCQ8+^%H-`A!hkx z#x@CYC!R%qy?b(Oy3jXakNrt5o_~FP1J!$~$7k3X<}cRus+HBdL-a>_`gkd;q3h2n z@Sqpvqg#CgrZQfAlz7#R^KQE{{`QytQ9X3Rk$rge=E>d{G_N-E%CKHM>TzL>@@wo1 zA#WskM~Qobr}Au&5G(ob#Zz*8r0SXjGmjKV-H_2jcK3@Kt+}aRG*fY{ z!(DuK{!(+*+{Z`}^2*sQdp#`o6Y>=>zml0#+N>WXoj_+`NZh;AUYS3kWt?^}aGc!G zlayh+3Y$1^TdpQ@8e3e{=bp@59z~y)EW) zTkr?J{YUk{tA_-t$Ysj=CI3&KpC^r(ZahPWV!M=ftijfX~=i^EqmCFGpB>Ghe;gyRQo zNrmA0QN@VZxs6Z!rFhuEfw~zLZ}P-AD3@!i~ioQ3iL84W0xjMUcAH1^Q7qw~K zOC!r$>;avUnyAs!SHGq?4hm_nx?xD|jE!D(?o--}CB)%_nN^gd9-#`h}Be|u0#svlFMNHtC6WRTzt7{l`dZO8EvcO=Q5Q$b2B z;MlP?uPpKsO!WmLH0|dCcINeRgVM_}w zHBbWzwxKby4&vJ8h|P}@H!N$QM5FTEv64=G1F{UY{%<;cH3kOhazk6d>X;xc&2f<< zmSiRcYg}#EHQwFy-Cvo$QKPh6*_<~&s2j#B+gBeWIhbW|J|A$N{kVJ168#a`pZ&=Z zSCHSO8FmkZ)*wUzrFIc>V(vxIFd*Z;j@u z5Cv34Mv(949Zo}8o^w6CASpx9cR3Hdt;}JgxEjC+35@n( z@RV^C4q=4qRJYFwyJ3f#f;qsfaAVP;=u9N#<3ixS-!sWz1U#V8liQ<+Gi}oJ4EIgt zRjec!owO5RyihtS0bDMgjhhmzBO=VI;P}Bp%g5-k(|$}qQN>EdWd->#rbbKeBb z=fN?nex!DFwt;_sb$PL?<3N4GQ`r7-(`2}b;lc+h_}o@_p>kvV9`{Us;8@^xj2(i; zRHc?;JL@r6**k*psXWh)6SBATm88bJLT&Zp_hM=bR_>GOej3?jE)~ba@g>_VC7lie>r2)MUS-LAo?2|>njLY*o#4Ik%th`Wns$Qkd%Wuku@K`JdYJ~Ct147Tp_FM+yJhFT z<-aw@>g^}faL8PoLip7!&r!-3MX1Lus-?_bC61koK`Tw3>f}V|Ykz*CYUW+kaB!Sw zE_1PZEw?&w!_#2ObH2+})c*TTO-=Jfg*y^|?Bn#eJvqYYxYkLZK%X!2Qf;efVX98V zge0Tans&Cx*=KIBj{qN1AGhj-wixSZVa{C)W@b2ofS!F1nCkOTQPHZIll*J+3+HCu zGA}dVMyBDnqjm1ZLMwZiQYj1Q^sVUi2Zaj3L-e@@XkUbjK1dnEM-ck*^r2M59eThL zvNU3bUi0B-n`xy#%rqTXR3lTD=@qau?fTgAX=c8->%GMkH- zP|@ReG1i{l9uz3ay6QHxH9!ee0U1*-=Mx8$g)h_xx)z~bxo8YzXhi@uOm5_Y zR=A||ANwuAFyEHXcTOv|_%B~olN(aqgC*FXlo8+GHyCeX=`l~66sk>5^#)Z~ak&$}} zgHE10l?{^A{Ott0zbJqrN`7mz3zLnnP-&HwS6vdR9U2=JC)3?q{v|~fO?4CuaZW|=b5Y=P? z%JKX~c45^4v~1S5F+7W*rg{G4>z*RiSYbMEuXISMX$dX*6`b_~=-b8@11{&DhnK{E zANa&ii!t7GR`P9-9+H=kbD{=)d4MdKAHJ>kXwmN%FP^DIzYkG2&@bWkS3VtLYlE>x zEl%H%3!>(=BhTThJncbr4NFpuDw3l^hhEn+3|UDVBpN}-(nXov>VYK zfbrbqlZak8$JEjpDJiKtAU1sfC9M0N|HklCGkDAt4yh9os2&TYKrZA7TDdQICq?Z+H!lKTLv_GG z6?OjX>Mk`_{wmf5(9mVsJ14Icf)43d%+S0~B{11;D4k5)oI9~6rpCBq!)j0KU6ZMj zZmwj&b^zWg2eIJLT@BDmkjK(Fw+4t!d9@E%LOvkj_z!)2^<5zd6e^_=C7#k5(5gsYT3;?ZDobtnrmcMO|SYIB*D%I6U0lD-d|Y37hk@ ze@Xw?WA=R@t3-}vs2?H#n!NHccJ6=m6 C{`1!Fccj+U6IsaD*^001wNa=Lcp4br zDDZ0lha9c+T-7KLuvoTD71jo%8fwd)Tpb;N#1c^T!Dg)G;+>9wNZ6}gfOgn<5BJ(u zz?&6LVBV@HLa)q_((;@E?`?MMvjGS-jDJ8ANN_-lp@|X?puZMXJ;MsCo#A2Gz69hb zGm*1BHKIqY0cr#mv48imTmCu7ItCv9v&vJkXh5P&0i8sw$$NR1oNaM!ULWi9NrWz{ z&zlg=AA`V?sXR4$cn(h9&jl`kCm0URycN2z(5qk`AoNq*HQ|~AuC8Bp@%y(uQ5zn; zUmZ)|g)NI|SN|@5*hrUS_-4=cAhto-bOi0gHE*igET5 zDh}u8kWpJ(glt~#U&AjeuAaDt1xOKi*qnO4z2xu(>=Bh=Wy&u4+U9}HoO^BnH}=Bf z`cw#j<}g-Uakw!l?F0OU2>PD(f8$g|rFnV3jVgsr+$v^qs+#=eRLyrsy2GyyeA~q% zuiWe759y{{AAHikReTne214R1=ubZU8`(q#BxUTJAZ5NmI;funwmMYzV$DQAIa(KZ zAVkq;@>dMa*Avn`2b${HUk6OmH`@4WRm#x+b_IK%RZ_bwf<$pv>|% zezG{flbKnWOK{g?p!1nZPxptjAn!(W?)+?5*Q6=E!}$Hdv(1s?NdJQySl0!lb{lUs z`pdAX#$a=ITwKyv5^8-zwpq_0s1uJnD8H_zd|aT=bV!477qYcVwJxMKDaw#--h+@P z@B~ux#g(lK^Fl!}vd(JFI%{%pS=HiBqkEHmvpF0G8Ql88ZNzAA1GNF987>P)tSj>K zwK6+X8=cmgh|C4A9p;hO!>wQ1n0?A9kV@;hU@>q;MK95YuR8Fe=u-k#qICLV7|e?w zK>7K4w5gbf73xr6j8J;+%E7zY1#_)co3~QRo`tOAzEo?X6mKracwLksj*6I!ew!{G zRSl$TOL*?YuXNWbU36flyt?9D%v(3p&z*nAzIP+73TA;?e;()#k8eBirECGCYy50) z77yv_=ZD>i^h!mcJxwjcazU5zHg17_JPykXWmW?ly7~tK;8hL<8jP=biFul$7=_Wk z`H9T&jSzTGxsbzeI9iNi!_h-?)~h~%Wuv65r-coH$u@vlYi?1qL=>diB#)p+TNZ=+ zoolj4R5EM`2)p|2k(9u@L;uXB3hxo<-m|@z!{_d^)d3V|>h_sxSpEa1{f$#t+W~aY zW$_MaC8i1*w&|z|xMF^uF!qZJkg)T@He51)NJOV}Jby@->P~)>DC{TZXZszob z6(v9uT6WW=`d|E?&pjO1XB^xT1_tt3Ooy4qsStHV=qO+ll_l|t1>1B=0-gl0bU&u; z#62PP)<%4b^{-*_dbszzNs+j3wp+lHoG4$sVPyW!gBf7ZRS z;oFKxFUS!rWS<9R?fVoVK@Opw?ct{!^6c&-#1abVtK*fLP6@eEm%v*Uf2MwyxyZu( z&GOAU75e}ta)yFvv~hCl?t1FUq~2gWQ@N(b#}YgIK>4h6^E51ZY<7)Xu#K=aZGOR zq3n7w%_CMp!R`PQKz|?ZH+Lue^O9|H_y4S_ihor&X#D?nI!wwVv;5(?wLQo?j9(`G zm1}OVDlmcDpsGm)!DS$|Q|>c(E^zcp{;x>j@n5g$S!mbeySN(K)Gs#$6+9*&FD6dHop7>lx{zxG!$^+sg zLV-grcOs$lDwNt4@v5)jXNiY1Xv~-PX>_HD)othTBoIx-T)|Bu;Cb48(t?(rnh{8W z+65y|?;5!_SBS2sZAe?*on8R%m==uMT7&;ppSh*R7m54^SI>L`d`CmJkWmexMSB|1 z9cA`!5R@upnniqKg^pWmP4{4o7kREE??A`CuUYXaYrZZ2#T~HtxMu_I@O<||bW>v} z|7>MCb9@ZsOex>FaHwhK;&7fsv?#)J$^kdeY70-nk59+4n}~0he%`JTI?B6Z0IfsL zp8ryF<9+G6dQ-Mm)n4C#DY4Z&e%ibGAL<~=X0m&h4ZD=9-}dw@GxnxsuGDM>2gFjt zZYvvl==k2Rc|r%=)WL5ezKLi%dSt8irY0enx{R7vpJW$*e={~0e?ts+7~85CtzJT= z51IH~As0yK89bb=tueInX!7=ln(H)m*M<*h34U)&NNM`Q9oXTa!Kkc*($5xaNrRSH zI=V!Q4q%js<6&(kSIw)vvKL0nazPp^YO)xly4=x?xp>)i-@mL=xumT*wA%EllvVY> z7!qQ%Nm3U#(wO5FgSC;@(U^DPGi*2wx}^`fF4~asa^d`1|R4(vX}TXSAMwB_Q8<-55-*s z!l5QC7(j_)x!Tr$Xnt5TX62yHYjn!SPn_D!EtIRyZ4fgy)bH$X*P%buC2z|fTm7f$ z$4=r0FeJ}CPbmdWS9D!9OT8mt;kq*JOISeZO8o?BjB_1KY`m;)cY-_)M5zpbm;il2 zaxm4vAjr(294=5<_t)m5i2yBLFIE558;1oZA2BO15e=tKeYK9N4$P)>(VUjt4aO}j z#TV{B@d0!4`K%0H$`KTouDp+0Z|26{AK>nY|7W~9F21PG!bgh$6;yzH@Q$T|Py)pJ zE53jyC$}AgRs7_AD`>F!vwXv?FO&s1KNIIS1LFWgV1+Rt3|WWp(* z(rl*iYwaURYEaEzMwuAfu%s{>iLsI71pZp*(b9Hr25hkgw*(T^!PqOfZh=j0DIgqv z@Yba7P!F>P@DwkwromKoT?dK9`dd-DSOTn_nTWvUzVuL8w+ZFx@2kg`S(=f2r}sv7 zgRD8Mdj9&SdZp`qg34Q)qTcG0<^1)MV~R5$1fkp3^xG?|5rL%pt^&}rVp+Abic*N>&a%VjBH0R)tS{72 zQ47a5tIytkN>-o-k{{1Xi`w(PIi7>S4Qx%BLzu)8PPn(0E_GG-IUFgKY zbO(WeQrJX2&-EH}-x55pvt^1} zx86$Bdf^{j$0Vqq}Bjo29nu4`IJx13kIcKoUf1H7!{0)i^~?)jS;KY47_BD zqMH>zeg`NqWl3dfS>O!edO=n*=2xEAwbJIk*MsozdmtPdFsfzOT9ez2NCJg8dZBx=CpVkJWReME#W<>C`oh?Wxt?tbZ%zu~R~WdSV;29Ov& zHH1QoC1hKE3n<<*`_p}Cq6`rt1fQ<~hn95oE_c>jIL06<2Ap+AAN5g}<-!(mruXyB zqp|jye_F$cdaT!cgN23bbv51PX_6a(+f)hdnsRcHz1keOqMxbb`{}~aSkM>up)bSG zH=8zIqF~`$w#lUr&wd{^8i3Z-?gl^LY&ehy2J{hD>a?`ohx18wE|yAz%2Y3TPQUr{ zYd`~K&U^4_|v!#Q8Mo|qZe-*Vl$_t z-ai^4#2`o@yuGPTrEc)|Zs=yZI0zm-GNPXavJIi)`yfpV2iSt29eAT;QggI*WinO$ zJd+BG>w?Big8@++~UBHe9K#5ND?NF*;pMb^T+i$nt4L%gP>B=P!-ctLyRv z-^Q0QrhO*dM^!8<=J-k{}*}R8P(L*wQD&x6tN*H?I<830wN$C6a@?j zNbf{NYNSaoAsh<`QZzK_(n~1P5?T^P1(6bZAOS*eA@n4WkmPR8`;Kw%{da%gFJmxB zc1iZ$Ypz+>d>)VSFs9T(3n_gFL9R_;SBzyIb{D|gZD5xQUI`^w!071JoL(zdR7^36adWiPcrPt76DSlTZTO* z9M(Hi2Yn0I7B-ZYpI8l4Tgl}(1!g+UeZC&X0uL-yHm?u?792CffcSG5cGZT%mMRYm z$Co6g1VFNS040_@&+(?E6np*cwWH%N#!pkvc+LjW8-^~JTN*qG3d#gfdFU}8$Q1H4E&wu8Gseo1C$ff*1;a(oq zJoOx07GxU67{Eam$3J@chVA!mG+@frD>NIJg%*p=;^-1aR4+ivJ-3 zDU9Ne-W>72a>qH_#-3o97COLt)?QZvWJ}%o?4r)O#ELDwY@z=kibu29$1qL4V|HF( zaKmSa351fX@Z`C_WOk7V!?D-DaiJwvlc zc*Q^xM4JB1M(+`>Y<|Urq=E=m!yhZ%SdfpgzCftGA#P-yU!4yD!A)428u^iRUZik?>>3@@ zA|=hR4^>y4vO~f=`0*n`%%Ys|^e`mk93ciC|enz0WU`MyYGT z&c$66%;bn~t;|~oyDpDoZ*gQ%oGv_r%xU*0`^`??N2?=K*|)a^)wf5$evWGs*|>!s zg@m}^VG$7PC~hzmhBfExJZ;8+8%^vh7cZKyNHxwCrGl4pMUMIUZ$GVkRa29UR5WNj zcG}%^+WnobPMM+EXUxu`h^eH?%>oAOI&^h)Eg15LJU`Nxud=bV0sfOJxuzU4`(9k# zA9Yks!#34_sob0dty&Q0$W89H1LCM$wIIU&PMs-szXxa2)^oa@?4|J$?JnfSDUlHJ zkVKhHMY{5CC&)DSdEqNQ^NKQNK__x#gCy{}H z9lL2N;pL61jQN9CL)myt^}eJklK?qvJd9eyVjmd@Y7U>eJh!Ka%xviKb)#c{x>N&t zNr!ZcVZ*$`b5p@cPi^*O4b4etQ1Jui^k){Id*o?BcS4)Ou&Luk$jTz(&?>(w@HMND^8B~WLyER?1eIL`VXLMEq;x|e>kxiGz zl3ANyw8cIFAyT3m)58T(4m>bMiw*5&zsv1r z;73$!C-1l#0OfwCt;Fz6hz-g;E<1ZCuNYd~sSZ&48R4?Cn$3#utDDD_vD_vYV|=#%et)eU)aj1)UZLHgboPUVaX=&X%5Tb7oVhU^Q_Fcv-$#X*{y zn$`!dIamsHmd>=Nw{?s71ERDUzw3NkP&MRnly5?bk1u%S(lRRnVqt5-j(tkzG&t8k zz;J#kJZp6Zl$>kAMp|EVI%`8^$cwQRoFjv{xU9&suGMrX2BeYD?i=_@+u-w8>l;Kp z`3NDPWpN+W`*78DTKMG9&k01HO$WoJURzsR`Pw%^YVdk2Dyu7uG6e zF)=YF#D+F^US0*1x!ItdlZ!r+=4Sfv;o5X&?S5~g!P&ED^qXU(%I=Jz<;A{F6?u8{ z$T&zj0QnvY18i^Apc)uF4N>AWoEB6WeAyJ5??Bna?EmeNN$x~Hy3VrZPcmt2fN(lb ztd!m~o%Qe6PLS{F{o%>3NW*zn!a%#iHU8v^9GhH2Kzzb4T_(higF!&q3{ZJyhKBKb z#KgozLF`}mwX|M~1IiE(wS5gI_;IL|zc3TpxbNUj^9a-40W1tzxVkW%s~`9h%wE29 zadHv=C9I)V12D<`8BIl~_~(muOn?DYYX4jITP|@HtPG;jkiIR6GasPqm&2eVIPnr2 z{VE_ivvQu3+aYKjInjzlm7*PupM4Z6Y+vn(fy15L-$iBg!NTi)J1Q`63F$UdQ}gXV z%@2O}D|sIsJ(!y*P+`N+GzbrLzQ?(aRUN2xU*aUSJj;Ln{F-2B_O<*x^-soq**z18 z!KMKKfv2N(y>y;K{!_?AR`psr=i>M6L;*rgI4nIDkr>Do_tJZ>? zAZg#}O3ccl{9%Abkzl+-pB)c3)g6!n^}Tz6_MzIop>D^DWAEQ=x%H0NGhmOZA3~U( zTdAHG>>TL(5ml$!n0GO((O^MNF8FszvD!(@SP@`6{kPYz&IxwbCM*C4`{6x2?1Sxm zXnK1d-CbRe>u-X?SBtv3CNf%ogdz+D-AEb|s{YE{EKXlOMg<#?SKTTS*mEc0 z>KsBzF1=0z!JzL!@&z4izx!I3!ieHIdk%mvcK-t(Gv(RNY~rWfiMh9L|C*tOI92>( z>wV%7VqEHesszoRJ zjwuH~V_y&3UcF^rWxgfP_fA(Bt4SOva7+9s_@FbHVk*R-5)vUCpXid5H(+i1>P=j0j1V~Wc`=rQ<8*Rtrtpc$-};4yN4Rf%WDbjtg{O9MX8eFzkc43 zlN)d#TWoeKp_`Zr1eA>Sl6ALw1yR9r>dQdm3IkSEfAR#(J+kEip0w>(|@+$3A=Z?BM;h3k|W~maNEQN9(eAsP54 zfi#?G_qyOdicz31OLILH8|1)ZDkZj5Ecys)d`1*?XDsJpHO|5n{2-iz+2~L@Yje^u zfp-)un|M9MA#~~;*ps69C6m7gzvj6{*x^8aaGIXfqWjg)zspZC9zj>nb z!YX>%8_FYSi0cIoHP|`T@cW~&QLxS_q33X<@RNyZptnp_tfgMdv;(!G1B_Qdb4HKx z)R%F3n>+A{kY)Tz|AjTteN3&NJ$e5F{{v_y`b$?t$_fuHy&1GjNm}2_wxVkjE~yr|xg2WL0Jj+1Ux2PS?NE$@7vp zCI);1maM*w7gwudL+w7bOC3ox*Zm}A+8hAzW?dl|@r~)zU`Xl|}`LlwK$hDEF zPX(3sl}c4x^()PVI`DJ_x92r?`qix)qlUf{GS4R&NsW1pgEn`&Jy@{o^Md3Q; zu^*1&2GZ5C30d-^a{hZ(rniG=nmso%_VYbr7-NXkBA}=|V%{%~-;{(@`V&2-%&lJ` z^}Um*zAIo(Hq0Xl@Ob`>{*+9gJWyI%*$TOYG zdT@i7C{9d>l9Gm0Nm{)+d_XIb6UBX0@&e`zGotn{v51t-2MuD_z5Zs~##g>4NKaBm zsIc+p{$YuJH3cvP=3oi%D&Qafu!j}VB;at19S!H{k|RK_!ZN`Qnod^t~TXEZmj9)mQ*iFf0`)*X=b+% zg6a>@`GbfaI`CG6MF&i3Z z74=^nll_8r@Eh_i>r=n1d-zr1P^YCHJcPD<@s0v``CuLFMho5Sxcc-b-N&G)UJ;?- zpH{>w+v0d2HE{AzxYj?suIV&Oa-RE;|H|)Y&D|$*^M@=slY=0Z%&HZ_kA;pGRDOvH z9u70THdQ+ZJkv5lXv1SBf`a@|W{!`m>XGwQ&4wp6vLDo{2WP|!^}t01HA1wMkMT%6 z8!q{nbHZ{J@ct>BNNtWwnPtV7%r~n_Mu|GR6Hl9{DQtLwNPE1boVq!@ZnBeS|F3KJ zC=f=klfpr(B7-YHTA_e)Y;e3v%8hwY!7%>RE&wj2X3sf^Y&Hk|wdy2WmwM>O!b;+0 zc!AAaD}|YPM(yIM-r7#5MddZ68RQuPEOQty294iCk->b1rSE*%f zPX5)Z!Hd8?t>QyGGEoJ(o4{qsAGMD zFxTcM)XU{$$w70(S!X=%(*tE8hHyI9QJmuT;!6^}8A~eW3t{hOBAJ^pZj3cBNrl4J zy8505WG#~jJ?DW`8^C&F@re$w0za96gfIB?hil#czCQX27y#fwi%8Txuq&o>?ArOC zB>IXk06}wXtI-y33T7F0CM5$|>FCt9vSoPia+yg`SG3!|t1kVbZaIBAaF=kpf zuj(?%Lz>cozhXCmbm3hPk>^IGwTCswmJ1p6{O_f0b`JUTNu>Y2j1K~QkN$W?{A(GM z8{o3`xRoD4`7}WrmpWQ_?>Ogl^;YH}C2X08S78#*^730WZ4}fhp3Uksp=X(oAYcxAH ze?C$ui@HA^95z)7TJ627j4P1pX4_^0?coZriE}fWGox3w_)eyh=XeK1K{DHWTgq|F z>RpaJeEU)H_k+ZGFkKpKy?oWL^hhsTE{A1aW@gx)zodACXgU><+du??P9A-^k)aOqwbFnbR`{Qx1V8Dcp3Pmcx` z96vSX;JZGFS|*~Z)>1w#l-Zks;7K)(w%_QLY@fy}KO;*Ugj-#u>P-eU+%0fbAK=HE9{i&~^j~`Y zMvoAF&tg4@)T=JG_fz`qLpoz1fIxkt-3460wA)!k7 z%CZAo2Vk`0>MNL$cWa0h(55LRMre;}k9^74*v5T|?}Sg$(;#WkRE!ytrh4s>W}+@y zuoE=%7TksVqad(fOJGx(lQx_@;nKmK@i zIotNxC)n*dG?B!vLbo{`Z+H54zfy^w2BPl))-$STa>%^l0M4Di;003cm zecpC^PGwHa^y-1f1Nb8)!0D6mdwx^=Agcs4+n-wbDQUH z5|lpv5gQT3%^yHGu$pY?u#r^g8>F#NE{dEQ5m(X%IIC>kb8lsJPG>j!?p`jo1#HqXTMqRc13yfITLf@{9S}^vz0YHYWdV6kawt`?DQz+{!-P93I0vPD($(5lN9Sd z2_8>>q?g@JE_b1eRV`7BkKVkgSQ zj`h^3o7Pr3cLfb4Cwwxj5(b*=b1iZXA60vy))=b4!r<~}AM|8upzEA_)O3$DSlr;p zw`7k4SlvdC{wn%@`{}m_Mf3^`wpZ$sjxG7Fz6k zm85MKAklIIq&JGhK72F!llwL!=wqwHvX|~aA=kb6HXaJ|3$A=b^uh;XU$1h&@gZ>8oTLNr+0B8D$6 z?^muPPFm$YcPE6~OD-V_iGCE`Zc18xuExO7G7Ol>@3dS{-GhSrKl1+jgRY-$rWBsz zE2A^#Ld(ULmZg1Yc%N?fV=EZ|A0J=q%?L7|lPP+!EL$Y%)t;B{lQXaWt&@94UCqzl zoE7Xe1%jJR4oPB)vL6lsq0rX{R%D2x^m$nyg4zBL#MT3Btn;7tRm!MteDa7!O@hF` zCy}CfHGJ#$J;H`3R)?<~IPf+TNV8o*RT`~mB45{j)DP(@CSo!YWPl?gdbR$KvU$qn z{#pC4|1m}O|J?5X!>R+oC%->hFFsSUfklVx>VZsf4&!P9Sv4O2RjKd-V5%!@jMGd1 z!`OJ>g6)&Ti|z`oD-m12a|POuSQ)Nys)B=m$+PHHUcBx(nqJYL^fcZhk;Giz_6S-? zpSk^IPs5O>AMG`NaJ-rv+mrya`?&eDw?e6@DSWWN&>(J+glmv}D+D;F*IV3q?caYL zFN>-H zhp62Lg1ZBmlfU?KS~?hnOH0-5*-ReYBMZ|q`Pm9G@i2l2Xuu()hdr*i(3E+a6a_*n}LVqEkpjZcSA+euN3C$FI>09Qk zvBPuNOgu^e&#C>_{OhW44|A)lkoVnzU#)Wi_tXI6Z+h;k-}lK~VB29D2Pi@`FMmGW zLb;o$mS0hM1#I*KtRmXMr=fE7E%MMP@QC*vK*276YiP(HIPZ%+d_FAfUBPANU`E6_ z!G-s1R#$Sjqv-A-7KrE69Z&AOW85Kw@~*vF_3m>~fHxco>HVVHy?a!JuZ;8QQ*}(V z+Y3}-vE{4BoDV;^Nad3i0TtfbIy#FBIfZYI)%HNT-W*kTcgJ&CR@j^^voa=NH8sOj zlQIf50w*A20?S)RPyJiJ{`BmJ!NZ5)tQSsBOLLajm7U9BEnZ(GMriZ40D?p1JV{uo zXU#WW4~|?eut9l>fUdB%6Bp!HWpNCL2(Ph*`%-2OaKB)yp@_AmT}B;{BBSz~k=?Mp z9DUcfEi#y$S%WN<`qdZXcXdKGeu>uy4`6nIQYx&n2)&)zSn2yCf@pDEm-7IUsXZ>e zRLxi`E_pi4?YZo){~{{h9%rSQj4&TEKzl~-;aXs8#cVMnEiJ9+z;M9oo(D_{kZgF0 z@*q{~gNQVx=Saj5=a`GS2MRq*w{8a(4Yu$6$1-PQtQuN=uUVtR=7MprvjGX-$k}-L z4hOzvSD9-0I8hYcyM?RdQuu+e=o@6$*FA&8YfPAppH{+-rwH}`lRrdX$qx>&4H~*h z!&4y^{)3NKYcC_P3%e$#U2IC_vMv|HJol+iX6UOa*tH5@5sxl|EMx>RS)5R+&p`9piCc`u2V0Iqoki59zc} z7gqz0fdA*sXyvK9taeXj{EU?itIDp_NNavky$@j=1!cfthJGHd}e0ez=!MmlC6$XtrZKlxICNbr)x1=1J z9$MP>8Nid$vdmY`cy`s|(n`EZyC~!w7-*uDcvgCMZ#uMcsp#*@5{8#mRf_vNbF((g zwu_kCub4PVJ=M3!)`g2wR|rM{v7a2mrt-rFIlFj{Kc4Z5<^0Up|vS%o-(cnj_1Fw>@gYV_H8yp|44hJUb7K2_$p0&{!yV=P zMkR~)j^W`GIpz1WK;Bz4t?T$&lYlmsZT)aB2uf&&<^7Qre+)#+18y@oI2ch}*yBncm;im!?gvvGnXMFN_JrJG8c#=}=ep6LQC;pOYy;1@66B0WfD4;rn3 zo??XiU~F&h*mU<_g7S;Tj#3I=A$W^WaCb)i@y|zWyh)xuHx%{jA@BIOgjlKI=j@sg7>(_P`FTAtMm z@{kpIAwS=-E@Lt*}rwavG|# zHBxZL_eOFz+go!anrVc8hE#JZ>WMO5_=ihr$5xmRhUk#M8`sN_7;v-5m#QW1Wda3H z_h+xUan^UIKiCo|(WLO)Bb^X(m<#q|=KbcU!DS`^6!X1g#SxG5nqzrq1Ai)q2Q>0( z=$pL69qiw`tdgDVP{PiThs-u}@~bYKJx^RLazNcM({hEJaxvwIjncpT)hnnHIM}N> zp1;06viDV7)xdOOCsl;Yow}K9gAN0@byiD!-emUzp(XKqdE%k%0p)>mXGoa3zH6p> zsQ=cfOY0w(pyaFo4=X^m*#$cE{|Iamn~CJn%v8=_46Hde5s>kTD=Is;p!_dfq3i@o zlRe@%6u~(sp6hUa;hY17BwXq5_yxHAQTV)I(E?Gt%7uVxN$a^i(k{YE@F zOFKRkQqJ7xGaD}-=dj_$lO`vDjyZgj?3~z_(c-IBLj7PX(I%onK7|Q$f&K++LD#Oc1?>9^?qQwP=8kV zn$7*ewm5zO%x`9AtJYkc`p}}NPTq8=Y^e8>NYsjtx`P+hrA!>;1~1UH{55e41nf~F zQ-lEt{E#aBNfhm8o$eJ{jNDDAXtK5~jE(gRC4K0;$6CYvF=;OuQ#V)fuSB`~pQEmA zGGxF@;y`o${nU4YL=p2rUIoX5NB#X{F+L{Q>GGv{_~NcWdzS8?S80;HttiNJBFrvv zf`-O!vihldqxF_&skV`{Etu&872YH!edx--Rns553vRn*ae6qlza`eIA`sdN=G`e& zYL5$q_q;i?h4!pF&k(2fr9o2KxZeI9cmcCDYE!sEKzu)~k-|x%udx)VP1p$hnIe<2dLL^~AHr&Wq;9VVsjMKmM_O#vsdzq%P zg#jbYS1<2VSBAPBrG6ND+i6v2xm~a4Kg6nicI2az)GYVhmaz@9?)75-ivDfD?f}*I zImn5o7Sk!(lUZRM1+QT(U~o|`_W~Ast(kNeV9nTZ%ZhQ8g*RzJ5Wz7(pQMNTih;zp zaC1Ch$jmRV;3CqVxG$2J32gRg+2J-K3$MyqymzVRVZ4NV0|?3*TKR7SeOr|r_A>=} z^{Vb}Me|+vAy~@t9j3Nn@(`kE!9H}$$*t6emv~#0nGFynb@rP8G{oGLu{418?TY)_ zr}HNMZVQIs(1aOX0a&~wBhv9?_{#2fs-EG9qF3e)K?wwL_M_UR)Q@Vn^|1p z=>}HzV0Ltp--&se&D|W*swAypIV5^*O%21CQ(VR21BY!E)uvTzAf5VMuyH)iD|zpi z%?p;z%gmp|p_7;K&5!!$iZS9yH>iT=$Ri#e{#fd+~W(g9h>iy!y&{%9$=^ZiV91f&NBhxYyuhCgZ1?@| z06CA2b;%oGxEbNvVs6^6-N&{f7rK4uSC$GKTO~P~87TJSa1MJtV&z))f2ic>`=-Y4);pP& zGc;QQ@n=CQ8y}Jaw6c>k5+VZ;Pwq3jPJsIH9NXgP^UjTxY^i0>Dy(ru(iBqlN<+a5F zZI4^?QtsoTcCw%9lNw&Wxt_(C_&O#M6J1szYqS?~+@s>4#>^Z~lIZ|l$9B4g+x@Jy zzCx_AbM~Q>y`6x*YxSPzq?d#MUW(UpU(glL4Q)Acx~$Q_y$3J3|F@|MJAU=RmzCXm z@0)`^BoVOT@<);pTRdfBSA^`}S2ynNSkEN-xnHl4@!KOQfr*-yot61dD9z?;+*j(3 z?|g09_il$D2FxfIu=U$Sene&fig_G=!^1p3olq-hNu3~E4z>34i*?j^yS_fvDyI&B zzRaidJlhJi%)u1B3-f~830au0%?p^+yDJQe-*HP8?H&~l9Q`DMSzp8-l9TL}TwY*C z4fWEMF;4A3lmhvI8W@7DO{mw2h&2`$e6(g-Z$dBSQtM^=v&VJkO*z_lSXjHWI?ivk zoPjM}NM0s3TBM75D4n~^{1HQ4c3@o-6J&$n+dY<=4M=u7Fxl)TDx(3%6>tJf{p}Yb z2{l_E_nn0T&4}L31Q*>jDO*!&*H4K6qMS%%nbU{JkiDgiN@W*1b{Ic^sioc%-(KS%T1bwDCyK<8SmzHioOPC-(PshcA3D^ zIW{a?k}m7~J%HmWDcEV3`%+TuzKeDC?AaKugeT4cDJ+hb_SQ~HwX091^+wZB@KKourcTjLC~YyvmEz}3%ZVtytQ7x;?VtT!y|-drOm zDVdQPHs!p~X+v)6;jRb#oRliUV#yaDf8rZT7eEBnuDe$VAH75v{OLa|n^>C7`N z2M0B8v8Spp*vJiMwQ}WVUDUAMj|$x`@E2vdDLY*Y)9Jv&W{&zN*Fa>buq*#5l zLd4&y_=IzB)ECSNZkU?6m4R8#k*AfeJs8xA}+s&{dYq zaBxg_eLJd#^hmA|zDDc1JfP>7Nk4t*rRdVsjDi?wI2;@}DqG0T0&`9lg(h3%f}`W* zXg`_rP4`bY<+0DRWxKWo2b-TT%VDSFCfdOpO1T^#LBdT9OyPLS=LYQ)r4Dn32Bjqcv?`gTE}7*8G=vIGlzSMIfkU}oxQ=IcR4p5u95nB9KUuQGf# zkEFhDtgnm5@zab67cuhvx5C^CcDsLls$pAu7%p+P-W>aEAJM%DN6G>{p?bqt<&@iKU&lJ(|vBKc!H5_3+u`z?<*!Vo~vxxh2*s|vQ8vY6A zbQ$N!06J#n$!0?PC&3n*+v8*g1Jx=CYT6n#T7khY;Bza^v1M-+v@;%KRiSdzGl#(+ zZBZ4>aqn!dqp@`K9ht=h4)D(?I@?*g^@0>u+Ci zU?VNyis#Z?u3o&ppTdC;TpMgYAVnQDR3-(g=^>Jwq2gXK@qczhFH&R0~d+DdM zRByTwg~U9FB9M!Iz&x=yPVpHCULL@v{+r(NACr5`(m?+S3dc4)Y~KYYQ(S!xFx0Nv z(+O=b=SJJ|-KB`(N6UW8=s98wh3eCK1=OD*UQ=+s=h6?Bg!Z`aH{J!;#jL~K!jcb1 zP!(sSTjph1VS8USn4TFSJkq1kaN79Y{SB><;X1kt_PDCG!-F*e*P^g>WV-=f)S zJI77#q8_~E^rbgNIH{)bBYQ53jHqW*3J`~n?Lfn8TRX~(bRR7!r`n)I<$TxAx-j}3 z!2_fdKQaQfSm5{jvyRgnrSo}2<&*nxLHNB;Km?M3sTZjs-}*S%|M~BD->%O-`@?=A z7!2%FaPCr?(M%+k_Q)GT%8RuYx2_;~HTZrJU~WRDMs92necwjydtTAP*GD~!%{RBB zGKfnV!dqMOZxw7+oePU8YQ!^)ee0|9^XJ`7q*ryndo!c|5gG{BoaW7|v0gs~eQds} z4JiN_HVrQ;taj)?g5)#OGp2@D)^ZuYDQK9Lduh5S?B(ZC=-;R(J1btM4B4S7ds8}Q zas_-*`yGyd*sHHu)0yBEZzpKqX{uP%ubd+(8OFXo^99|_PSpu6hk{Icz8@x}2ec}5 z`gG->e)=tr8B19v^hQ=FyR+~zl!&bl?>hbW6=`l$?7JcQP$wly3RuX|$5yEfRu@!G znkn0wl>y#*>@lhC1J@qc!j=))=%!%3S1>4p-k%w`uvBHF{sNT>%#Ya>vQFI0V@mpv zpV~N|nPB;PA{1P4K3NQu{M?;CrG^3foBrM%UtZK^aAg#TS4P}WQSKbv z@-IuR*XkeYp>u=)X5d`HjXO8*aE_SHv(NE6=C}D2O(L5!%biIMTZvT;{|ZzGjQfch zOD3eaxQX*j127-W7&i0n;?rrP6nt2r9vr?m&-W`UWTCM5%FXIMP&c7oWp=sPJnMQ9 z@Dnkb)|g)Kfkzm{o98-n2Ges+yAEIk<11hs>n0EaKX>eqweE_nv_@Jku(U7b_a*Xh z1*Gz(u!k^S`|NK08i{9ZrmCTmUD3YJ%LC{YaZyp%#Rnp>qQ8ct&Ay8%_0x8zYbB}- zx8E+G6JXb(P7*MVD0I?${+>kt`0{FLoAr9p(S>fC>oZ}rIc$sWvIThF@d$2s<1rD1 z9dyqdbO>Tb;rPHS^x{iE)=07`z>Hp5v4Z4O7~w;G=e0roRquL%P+!ahzPdUfxrIvo zIYRl6;?dvlB*_b#;|?IsciYDQZb-Cz&u-Ui>7CkP zB#TtyZF>N^7V*6Z=>MZp>bB)U{hd{YmVnOD1M;0f7#KNgwScpIF6!1=(3dU8+I)2w zQqFd6VK$YSBcwruG`LwFHiPTv#PB(BV&KZnq4XOaULzUJByf>NQ*g^{Elc;&Q8M?PA=R4y}cIdHFcQu9SXk|g$s%p`tpGNHh zf-eC!C{1e4QyGs}MF$|ivDe?dWHDuAXE;aSQLq0qyQ0X&75Pj%E92=f%$RyMwm0El zFtC$|A+e1jFh|3tZW6+)&^+u8NNV!$FQ(15X(Zq_`Zf*)2|_7!N^;pOmL=; zUjLkZ^U+uXliV%ZU`cxqB-61S`;==qq99_1$*OUJo84@$8$7hg1j@g0{DbDs4#^P* z80k^My(!wY$xY79*IGB<6!@O_Qh_YbeBeHUNwW#S>Vu8gn#@o|uZg^po5A~OA}=%( z1F$oJGh`v%G2GMxHYWFgff`4}=kp(0JR3-IvcXs6MOI_1l|7{0N}KSk(kD9tr-n6X z(m_A0YQLBc&>%AtY6f9m$eF5t2GrfEQ;=5ZFsJCA@?VW>0p)kEFx4LmnF65Lma9s4@aJo%e^vb!}0>y=`Kp`H1(cZ-M5iI zF1z_!1O|9YQ0&XJ=j2(Alf`$QBe$aQQQ97B%ZMt}gQYqs(}`LrAMaLLanPgt;Y5S0 z@x9P#G`;iz(|P~aSJ^Dy-6Nk{skh~seqGf=4j`GeFafP@BZ89r`AR!a6OtXrR z@RF=Fq~(9J6q}2@ugiN!yZ7+q(*Zkn-ok8spN8?bpnP?as07*b*W+m0E6Lw}ng0P6 zq6K`%z2ObAy%iCxOr)V!I!(T<*eVe0Tz1~r zbpOgr!PZI4KZX=J^25PFms*U;YH3Cw=GB4}y59UWJ{upvDbQ+03qWvnlaWUeZ5w; zPC~|HnPx{0pkho1&+!hQ6Uv-Y}RHB)2ve(qxh)QVZ3azLVjCt&+6A?f)Oj)eK%S?Xd_k2eQLAqc3(MB2^J_O7`^-qpIQ5Q=9bdLPbbKs zo>9Q#hY9`+^Z?IR`w{*3FX3&C4mZp(FT+6!04?U+YgTug3z16mW(GTnj_ZWKm{xIk zPI6!}i132gS+6=d>MhcQKj*~)4U54nB=g)LqLW{ zf$We)PtFMbVR?mv&Np|1Sem4byV!#0=QMPFs^+M3PhiUjK2N!Xv5-eg{_H2${01ohMGsV!o;~6S;(E4aoI~K~abN2n0W?a2C9WIx4{A$pS-7wgGKajrnl}S4 z`0jC&Na;-MmsgY9YH{~7F-uw!;DeB|kyGMeiZG(UNwXrKJ>@P#TX~v}iu>w?RhE1J zPfEOwABF*Aq=Un89T!TpsKkHHJ}V^t_>MOa?B^T*Abr*e)L0D_npJdQ(tam&HAeOx z`Qg&R=Ph1gSEVDU3KHJ?(IEYnmf?wfMeC$h#0RRMQ!+GKq%mWm3yODpYT_$nUOJI% zT40I!%bYr>%v5;l&a(y@;qJj_^Z6{5r9!&p4fO%~PZ4D)doZ;A>I<2f*DRD$A?H_L zo_VaBnT*zOP~t%U;nf_~@Q)!0>ES&yXyEKNLZl{#MHx#htjOrM_fgAX5w|1$uAQH5 zHme_sQ)ycAopVsIh1YqoPK!y~<`?G(&z_*N`NWa{D=t1_!tR;{#)J*w(=Goi z${n)QwOMvl%;Bx%((ijC5jz&S~5cV(goW#`}370 zB_+OBe4U+(f~UzV*VgoH8XZ(MccR8F-CMJ##*Jpw8E&YDjCMz#TqyOlvmHXOxEp!H zi?`NLeixyE#QbFNx@+9{=`nS&=7i*0@ZEz7XJY)H9CD=CR@IL(6Z^QI?QVr)e=FxU zC99{`yEs0=bE;_Qw@mwKxi5jM9sND(*6zUQ;p{98;eN2F$E;^XGA~d0vsp%l`j!JD zmsCIdYjJS?E%3n-2X^AGz|{&#P{?KnUJVTO_cUsP%4J$+02>jSU1JcGj7{VBWTOUr zCHp?yj5VODuuWWcA8AM~n1i<_t6-Xo?1HVL&%)}lGG^v3& zv&cS*^jq^Ks?Bo$RBuc1!lIT6i7NjapI9u~1ZwE3kED9vq@l;aF zU!`nue5qu(AP*)m4|vLwyRF^d>4x%#m+}XIHTf}IF}f{2`33wyzvMzh?H0*Skd#-kdu`z@V;JJGa)uBMwd|mwe;!^`Eb5{O?Cfw43=)l*ViM*i_59TS z!zQm<^@cDMqpRv4CgUV()gK58IRCNqEWF7ZZlY6Z22|?ivP#Oi=I*-vfmAg(U;N2$ z>Kw|J-vdE$^<30ZjE6fyTvho!|dzje?8aWr?EMdmvZ4vIoB<#f+>?kK(+teXc z>|ambFnkIcie8Wy(3QM(#{@q3)kho+wL})U+HXzXmYb`$>>(cvTzvDR3!k4S<^-8s zG1OyqLg59OEP%nY_Yw#*$(d?rC^J4^{KfZFFNZ}xCI+n|8AHLzO%_L7?lt#eG6l1b zD4$P;&)G)i`#j7n*t^&CG{{Z>kda2fPutM%(Az|RkviPzCC>p?&a+S1obM>C2azhi4ul%arF2n?ITeW*_FwVmZb|qFF!mk6y5V{?t2*RA% zq`_|aJSNG(vBq@;Y;}=$}o>UUr0=CH#17T2mqtX(X*L8j45s)`o)as81NEH-0nq4g0kPY2@Qz+ z>ZSKO)|fng4);n4e3@S)hGD%XjsqH~$T&tKD06(WziiIm&HTt;4M3`P=b}fPXm{S) zF5Uvf)5@sb%H=sNhq?Skqf`R3ZZZ7>sipm$$5Aq|&dnwQ zrJza;RxGb8qjMAsu3cymuEE~})_vV0opivm9ld`KZ1z#iRxp!b0dnGc!nLk4mu1$$y07RBRFkw0mpYe z$-_2G--Zc|uVS<9kc#NAHEb~fnibr6W~R;m1Hk9B`z!Dugn~<+oZnLo+0bp@JSu_NXPd~LYWmCZ} zfs>oz$uMFcaQ5c(T^+dlud(tIxQVh)MzFj$OF1Ao^5tpP96!IpUR<=NRcH80ZI7eQ z@_h{@9v7OVEalIrOva87dN%r0#d_Zgz5A7PorV8>X+$_=%;J&28Lm)0%=O0>F(6{v zt5Yzowp+f%pS7r9A8nO`0zFM^+u7t=BGO{_9YZ%QIDB^`5ts3ry4C6n zbL94EAYIl{0(xqN0<#fl1V&c7d+)T)0jasD-by=DrsXoJ@1WnAkgi0D0|#Wj9r%|a z`G9xrq1r^5pQjeTtn5d`|I=OzxF1&!=mEF% z7u$Qt8=PHPnM)u-y$h`NUkMH;A^S->^ulMVH zdp)1;9QCEinPc{k3MZ((e>9w&=+)_G;Z4weI$zbNglZm()krs7ybjK~2dwYAVRGSd z)6=Gj_Lvt+rb`9ODzCGW5Odl`3pck}!6PMQQRWuSYl5Ab&Pyw0~#Xk48Y$SBG&lsa2w{^NU+3~_mS+P?Q>@_{lRS}5{q>R z%1Ux|a^u~r+iu6G#ppsQ#^qQr9?i)wCc@@~Q)IO^m4l~+3$R*m9^EQz-XGO*~6 z8lxNX?6^r!4EDS%wKUx!G3KDgA%#9g4A)Okd+9m-LtT#_wx$i`8(}a)2!o#?Jaa{& zk1l}49s;>6ZTbi)P9ae8?h1+s&}&phYN{60a?jlwGp--N?Pm*_m9oN*gk_TPCtAL3 zWG$em4l+89l3x)j!oI3#Mqa3@f{8lNJ;uOMoA&Usz~ue;Aw`vJzixLmr3uWVQp5n; zXd%kLuTCG1_A{0?XgJ~L1xN|QUtepT(D|Xz&oe@_f{8gHadO2Vk)`tdYNd>Dt_5$f zcm=}%&TgO*WZ=&R9YBYHSip)pT$fp9w#s|zAc{U#0y+&H)2_htYNX zh|DXk8I5uagH|qzf9^Wj+5Gsz<1D{Bvp}i_V0&!hGvrQtu5t+ev z@k+!R)RuBZ*3y%jo@-PT&G}RYqHuNL!O9HpnG@8FQYM3Jt7qc3O*Y&ocyy%k+=s2G`HrN|JAd*5|jU&}n9JTo_2B|1A7?-ZgUx@-p*w5vH<%&S8q_J*?DMHYi# z((c!=0(Wip`XP>w&EYf`nju-_c7X3ZunoGkA!%pg9cID3v$Z^Qrkiuyu?aiqwa)PV z)wjTUIG~Uh`-x*h=!Mf$%Oz%#dfk);-g?tzc&RO%#Cp}ug!72YUO~O5MV3Pu^|W&# z(5;P&<;oei<>XJ>=}MSk`{t_^+6v|8$F#* zuraIdNycrgj^taD!FKaQiB)B22V^rH7w2skB$eBKy%Ywwo;!m65Pd^9#ClZb^Kl$- zyi|DEiF)qmOX8pC;=;(4XQlb8h5#d_NYK+$XXd@EFYRv`;weo4{GElG*2KFoC1R_t z#6yw}AshwT#Jv-nM+?hHa9j(fmQmUNejo>@JB2@`p`I&aAe;McW%0f_vT%z zO-AD+v4!7ywJ&Hv_wSE~axbb0n-3d|zaGD8Jj2C>Gc5168a*B4Ycb3n4T=FHRYH=; zQY3Vq&#K!Us-M>SlKrN-Qu3`b^e)%ao!;xnxWu`W7u3P=SeSHn{3WezXOMaqrvi1e z;O5Pnj%bR6{A#~wUhJTwj!#a4qT^=)u4yFI0w521I=k9&A_c6pShZ@UK~Yrw~n$xyJ$S z8b3n%^-TcV^gXEVRI}Uy%a=UcfiH%YE@8d!mvFH9q1zZ*OL3&tq@9molA&!OFab)& zV~5Ibr-z2_bB~4EBY@jSC^AkfoDtFC!P^*yKumd1C^D;V7RtuLKHD%#z&YK9;4&QD zN)|6X-L6xV<`6T6YKEKcVyH_?eo>nKZ~NdQzfyC9&ym+srZc(La?rI~hrm%@Y=2l0 zY(G>rc0FEbDmAh@m8)pC)vT#51eNjPF$DlF+z!tDD!r+SA?2#AU_acA;QbkQ5*!A& z6-ur&ux~8=hq9&s>-PD)%blcZWCP)hl3+70lh&S~=e9=X%CE4#JFHlG3>Ho80yZgT z_;47V4CXV<1KPW!6<7=?45)4BtLV(i&GwH?L{1>WF)KQFZCh%$h9bs`p@0K!+~(NY z7u{&{y&{#va#U^+O8P`V45OCK)t0vJGdKOH?6vV1h+oZ(Y%30%5B!91N~PQdTYmF; z=7is-w>7~jgI!Z2JowvoIZE02yupG;rIqOr`-zWFo6N7&Y)@_vNT7UJzZvDMO`d5@ zB#Yd=Y~4f^t6T6cH?GEgcP}c})0asMqLjUibIWvYyuf0A2s%!rGAX1A8>ywJlvR;V9ZpffSjTN-eU z!I*A}WO0gWIKJ!?fKB5`QwxXv0Nm7YW4R+N?EZ&BE8eLMlPM%64_z6+PTY-SdW~LhgREo+VQ9L*hLg>6EBrn{JAdv~&&mBiQVMf&%Yo&Ah)xyiQm%aVezOw27f* z+~xg6E&+liO%qj2WZ&N65@H|1rN7yK{+E6A$$j3N)1GDi7#~JCzwi03DbiHq|1<6W cgCF>tomXiU0rr diff --git a/icons/mob/species/vox/onmob_suit_vox.dmi b/icons/mob/species/vox/onmob_suit_vox.dmi index d43891315e7adf403121498e8a3093282a465551..fa1c75520fd7f7fb5c5330467ccd5e7fdf78589f 100644 GIT binary patch delta 15994 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 diff --git a/icons/mob/species/vox/onmob_uniform_vox.dmi b/icons/mob/species/vox/onmob_uniform_vox.dmi index 9bafaedb2006917cef7970a69e0963e4dce39209..8b9f11f0985c4a73818806a460dbf5a17629aae2 100644 GIT binary patch literal 197863 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�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�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%0AmB~jOdV~~Aym)! z;&%4)HlHoM2+k7?=N0K&yj$}D@5Uc6$qp$3e8&SNaBUXl@~!*4UQnYN(rBSKJDSGy zgaiU2Dj(}Bnjbgpw)9>RA7rn@-`<{L1Q5~3E5M9Le3r%S>%;9jJ9f%N$6M>)gSS~2 zy^^7k`@GQhJo$&m`#M&4uEWP-SdH2Rq_va1u8D!PegO{g{n`(ZMIj^{f7E_Yn8Q7^ zWH{TN`S5A~peiRcwlgF zM`Z;NM7t@$b_|(MXuuQ99TGp}vKiY+`xLVDurR{ehF*0$)I)Af0UU3DIWRW@sA;7( zR`NqA2-}WmE{Wp#XxGuhg&*8+vCz_BPN>;{6V`32hK+I&s(4w78xJEZSvMZ+$udgFHidF z+wJ*|pFLbRu*aLPm;4eO&lNN^pFvpYbv)HIgXuztvA`93mfL;HfsEIrVU~DA4`AY2 zMgzI&KvDJOh~4n^XjZvlFUI6q;<$zUK3G5o9?YllM}{Nr2y2-{!4VEAsVpxdL6Efj zp%lTeA=cU*o#fp|#!>EBT!@166Ydxs~2@LpK2{Pw*T?v zkez~vp8N1HyhY$A*5VxcQymX1MF0D9pC*cP;^)Y%c}Kn{f9yAJe;z+PMYTtBQ#tJ|Ryywee`(cMk@p9dJb`YY^rm*cNCZ_^QrD{;%e5G;a)$YZF9 z%I9{W^2>dJWgK7Lb4B4NXjz}=7y$hjx$W{}n(JE~Sk>H&-hLT3HX5DuTgtzGY@OXR zKdpdtv24$$M@UzfjMmz9L`VpgouvHJ;{#I|ff$sOJ_98ImDy35KcFUp10Axr1Z!bsu?seLYLk;F$BTtpKVEiS*8kY%&zl-J6v$*UFjD`FSly_itN6-9QXF zC&*RiMlUn!J_~hu@mkaQ4{4iVgF3mPKY1>()``+0!L|emi=2}cYUOBDVk1if!zvw9L&YK zh3}m`GBoFX|H&Ae`+%MAErP6A%={j?9atyer-ZD&qq zfej_I&+C0riSh7N)=OkSPN$&P*49=Ow=YO~P6qWBrOpj@n*$4AcR|v0!PZ9=m2@EM z6&`EI4LD}{aw&b{4OiEW(vl(*6Qz_f*TGh{VNx*iH-C>x@O`B*%Boy |{d@X{<+ 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%0Aj+&5nCCU~eo~SX? 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 bb%*3(V}x^RH8i*|@K55QtZ43o#~%L&1-qMP From b928829d52f2a307509ae2f63af1003f7e9389b3 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 12 Feb 2025 03:54:29 -0600 Subject: [PATCH 295/330] Automatic changelog generation for PR #4168 [ci skip] --- html/changelogs/AutoChangeLog-pr-4168.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4168.yml diff --git a/html/changelogs/AutoChangeLog-pr-4168.yml b/html/changelogs/AutoChangeLog-pr-4168.yml new file mode 100644 index 000000000000..e9f8cf56e6b5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4168.yml @@ -0,0 +1,6 @@ +author: firebudgy +changes: + - {rscadd: Undershirts and Socks for Vox!} + - {rscadd: Species compatibility for Trauma Team sprites} + - {rscadd: Vox Inteq Backpack Sprites} +delete-after: true From 49913654b57f294f908d706fb0486974a4b6affe Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 13 Feb 2025 01:03:03 +0000 Subject: [PATCH 296/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4113.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4163.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4168.yml | 6 ------ html/changelogs/AutoChangeLog-pr-4173.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4177.yml | 4 ---- html/changelogs/archive/2025-02.yml | 11 +++++++++++ 6 files changed, 11 insertions(+), 22 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4113.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4163.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4168.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4173.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4177.yml diff --git a/html/changelogs/AutoChangeLog-pr-4113.yml b/html/changelogs/AutoChangeLog-pr-4113.yml deleted file mode 100644 index e35a28131dad..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4113.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: generalthrax -changes: - - {bugfix: Sarathi and elzu balaclavas work again} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4163.yml b/html/changelogs/AutoChangeLog-pr-4163.yml deleted file mode 100644 index 0a4cab5d3f6e..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4163.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {rscadd: Support for the War Correspondent Vest and M20 Gas Mask for Vox.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4168.yml b/html/changelogs/AutoChangeLog-pr-4168.yml deleted file mode 100644 index e9f8cf56e6b5..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4168.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: firebudgy -changes: - - {rscadd: Undershirts and Socks for Vox!} - - {rscadd: Species compatibility for Trauma Team sprites} - - {rscadd: Vox Inteq Backpack Sprites} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4173.yml b/html/changelogs/AutoChangeLog-pr-4173.yml deleted file mode 100644 index 26ef9b4b8aaf..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4173.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {rscadd: 'Minute Energy bar, replacing High Energy bars in vendors.'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4177.yml b/html/changelogs/AutoChangeLog-pr-4177.yml deleted file mode 100644 index 8e9d6aac1623..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4177.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Cazdon -changes: - - {rscadd: Added Hardliner phorid envirosuit and helmet sprites.} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index ddcfd71f447a..150312137821 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -97,3 +97,14 @@ shoulder slings attached to them again. firebudgy: - bugfix: Balaclavas now layer correctly. +2025-02-13: + Cazdon: + - rscadd: Added Hardliner phorid envirosuit and helmet sprites. + firebudgy: + - rscadd: Support for the War Correspondent Vest and M20 Gas Mask for Vox. + - rscadd: Undershirts and Socks for Vox! + - rscadd: Species compatibility for Trauma Team sprites + - rscadd: Vox Inteq Backpack Sprites + - rscadd: Minute Energy bar, replacing High Energy bars in vendors. + generalthrax: + - bugfix: Sarathi and elzu balaclavas work again From d66c2cc328707abad51b3dcece6b7cbdb0f9d0bd Mon Sep 17 00:00:00 2001 From: MassiveMen <164101356+MassiveMen@users.noreply.github.com> Date: Wed, 12 Feb 2025 20:39:54 -0500 Subject: [PATCH 297/330] Removes the spiritual quirk (#4179) ## About The Pull Request Removes the spiritual quirk entirely from code. ## Why It's Good For The Game Spiritual was made for a very different environment, with a very different idea of how quirks should be used. Serves no purpose. ## Changelog :cl: del: remove TRAIT_SPIRITUAL and all references /:cl: --- code/__DEFINES/traits.dm | 1 - code/_globalvars/traits.dm | 1 - code/datums/traits/good.dm | 13 ------------- code/modules/admin/verbs/pray.dm | 6 ------ 4 files changed, 21 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 37b66fc428c5..cfae692cc1d5 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -321,7 +321,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_HEAVY_SLEEPER "heavy_sleeper" #define TRAIT_NIGHT_VISION "night_vision" #define TRAIT_LIGHT_STEP "light_step" -#define TRAIT_SPIRITUAL "spiritual" #define TRAIT_FAN_RILENA "fan_rilena" #define TRAIT_VORACIOUS "voracious" #define TRAIT_SELF_AWARE "self_aware" diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index 9b007b60352c..c953ef3c8418 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -125,7 +125,6 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_HEAVY_SLEEPER" = TRAIT_HEAVY_SLEEPER, "TRAIT_NIGHT_VISION" = TRAIT_NIGHT_VISION, "TRAIT_LIGHT_STEP" = TRAIT_LIGHT_STEP, - "TRAIT_SPIRITUAL" = TRAIT_SPIRITUAL, "TRAIT_VORACIOUS" = TRAIT_VORACIOUS, "TRAIT_SELF_AWARE" = TRAIT_SELF_AWARE, "TRAIT_FREERUNNING" = TRAIT_FREERUNNING, diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm index 574c35f60beb..1295cfa6e129 100644 --- a/code/datums/traits/good.dm +++ b/code/datums/traits/good.dm @@ -207,19 +207,6 @@ mob_traits = list(TRAIT_SKITTISH) medical_record_text = "Patient demonstrates a high aversion to danger and has described hiding in containers out of fear." -/datum/quirk/spiritual - name = "Spiritual" - desc = "You hold a spiritual belief, whether in God, nature or the arcane rules of the universe. You gain comfort from the presence of holy people, and believe that your prayers are more special than others." - value = 1 - mob_traits = list(TRAIT_SPIRITUAL) - gain_text = "You have faith in a higher power." - lose_text = "You lose faith!" - medical_record_text = "Patient reports a belief in a higher power." - -/datum/quirk/spiritual/on_spawn() - var/mob/living/carbon/human/H = quirk_holder - H.equip_to_slot_or_del(new /obj/item/storage/fancy/candle_box(H), ITEM_SLOT_BACKPACK) - H.equip_to_slot_or_del(new /obj/item/storage/box/matches(H), ITEM_SLOT_BACKPACK) /datum/quirk/tagger name = "Tagger" diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index d6fb69980364..5a637dcad885 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -27,12 +27,6 @@ prayer_type = "CHAPLAIN PRAYER" if(GLOB.deity) deity = GLOB.deity - else if(isliving(usr)) - var/mob/living/L = usr - if(HAS_TRAIT(L, TRAIT_SPIRITUAL)) - cross.icon_state = "holylight" - font_color = "blue" - prayer_type = "SPIRITUAL PRAYER" else if((usr.faction && ("roumain" in usr.faction))) font_color = "purple" prayer_type = "SRM PRAYER" From 70103c38ab8933ff6fd274a0202929d395a32ac3 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 12 Feb 2025 19:50:29 -0600 Subject: [PATCH 298/330] Automatic changelog generation for PR #4179 [ci skip] --- html/changelogs/AutoChangeLog-pr-4179.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4179.yml diff --git a/html/changelogs/AutoChangeLog-pr-4179.yml b/html/changelogs/AutoChangeLog-pr-4179.yml new file mode 100644 index 000000000000..b1187c20bf34 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4179.yml @@ -0,0 +1,4 @@ +author: MassiveMen +changes: + - {rscdel: remove TRAIT_SPIRITUAL and all references} +delete-after: true From fa011cb68d26ad08466bdabffa1d7eccee4d2659 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Wed, 12 Feb 2025 19:44:56 -0600 Subject: [PATCH 299/330] Fixes Autowiki crew generation (#4180) ## About The Pull Request Due to a small regression in the dynamic humans, rendering of the actual bodies wasn't happening. ## Why It's Good For The Game I ain't got no boooooooddddyyyyyy ## Changelog :cl: /:cl: --- code/modules/autowiki/pages/ships.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/autowiki/pages/ships.dm b/code/modules/autowiki/pages/ships.dm index 854117eb3c1e..7d38b8d968f1 100644 --- a/code/modules/autowiki/pages/ships.dm +++ b/code/modules/autowiki/pages/ships.dm @@ -79,6 +79,7 @@ wiki_dummy.wipe_state() to_equip.equip(wiki_dummy, TRUE, FALSE) + wiki_dummy.regenerate_icons() var/icon/wiki_icon = icon(getFlatIcon(wiki_dummy), frame = 1) //Make all icons 32x32 for wiki sizing consistency From 97527cc5e1191e8a6f60f94f5f6bd84c08848130 Mon Sep 17 00:00:00 2001 From: MemeSnorfer <116136632+MemeSnorfer@users.noreply.github.com> Date: Wed, 12 Feb 2025 17:45:55 -0800 Subject: [PATCH 300/330] Loadout General Tab Additions (#4156) ## About The Pull Request Pads up the general tab in the loadout setup with a few harmless items. Specifically: - Matchbox - Candle Pack - Tarot Card Deck - Spray Can - Crayon Box - Bee Plushie - Spider Plushie - Flushed Plushie - Blahaj Plushie - Bag of Die - Table Bell - Hourglass ## Why It's Good For The Game More toys for the blorbos. All of these are fun harmless items for characters to bring with them for flavor or whatnot. ## Changelog :cl: add: Added matchbox, candle pack, tarot card deck, spray can, crayon box, bee plushie, spider plushie, flushed plushie, shark plushie, dice bag, table bell, and hourglass to the general tab of the loadout screen. /:cl: --- .../modules/client/loadout/loadout_general.dm | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/code/modules/client/loadout/loadout_general.dm b/code/modules/client/loadout/loadout_general.dm index 712500f9fd62..f6d271212bb1 100644 --- a/code/modules/client/loadout/loadout_general.dm +++ b/code/modules/client/loadout/loadout_general.dm @@ -46,6 +46,14 @@ display_name = "Clockwork Zippo" path = /obj/item/lighter/clockwork +/datum/gear/matches + display_name = "matchbox" + path = /obj/item/storage/box/matches + +/datum/gear/candles + display_name = "candle pack" + path = /obj/item/storage/fancy/candle_box + /datum/gear/cards display_name = "toy, deck of cards" path = /obj/item/toy/cards/deck @@ -54,6 +62,10 @@ display_name = "toy, deck of KOTAHI cards" path = /obj/item/toy/cards/deck/kotahi +/datum/gear/tarot_cards + display_name = "toy, deck of tarot cards" + path = /obj/item/toy/cards/deck/tarot + /datum/gear/eightball display_name = "toy, magic eight ball" path = /obj/item/toy/eightball @@ -91,6 +103,14 @@ display_name = "paper bin" path = /obj/item/paper_bin +/datum/gear/spraycan + display_name = "spray can" + path = /obj/item/toy/crayon/spraycan + +/datum/gear/crayons + display_name = "box of crayons" + path = /obj/item/storage/crayons + /datum/gear/cane display_name = "cane" path = /obj/item/cane @@ -107,6 +127,22 @@ display_name = "toy, moth plushie" path = /obj/item/toy/plush/moth +/datum/gear/bee + display_name = "toy, bee plushie" + path = /obj/item/toy/plush/beeplushie + +/datum/gear/spider + display_name = "toy, spider plushie" + path = /obj/item/toy/plush/spider + +/datum/gear/flushed + display_name = "toy, flushed plushie" + path = /obj/item/toy/plush/flushed + +/datum/gear/blahaj + display_name = "toy, Solarian Marine Society mascot plushie" + path = /obj/item/toy/plush/blahaj + /datum/gear/hornet display_name = "toy, marketable hornet plushie" path = /obj/item/toy/plush/hornet @@ -132,6 +168,10 @@ display_name = "toy, suspicious pill plushie" path = /obj/item/toy/plush/among +/datum/gear/dice_bag + display_name = "toy, bag of die" + path = /obj/item/storage/pill_bottle/dice + /datum/gear/amongus/New() . = ..() var/obj/item/toy/plush/among/temp = new path() @@ -147,6 +187,10 @@ path = /obj/item/colorsalve /datum/gear/tablebell + display_name = "table bell" + path = /obj/item/table_bell + +/datum/gear/brasstablebell display_name = "table bell, brass" path = /obj/item/table_bell/brass @@ -166,3 +210,7 @@ /datum/gear/camera display_name = "polaroid camera" path = /obj/item/camera + +/datum/gear/hourglass + display_name = "hourglass" + path = /obj/item/hourglass From 9ceec6b3aa7c96c713ac55971e3cc460f6b62152 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 12 Feb 2025 20:05:38 -0600 Subject: [PATCH 301/330] Automatic changelog generation for PR #4156 [ci skip] --- html/changelogs/AutoChangeLog-pr-4156.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4156.yml diff --git a/html/changelogs/AutoChangeLog-pr-4156.yml b/html/changelogs/AutoChangeLog-pr-4156.yml new file mode 100644 index 000000000000..6d8a7466fb77 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4156.yml @@ -0,0 +1,6 @@ +author: MemeSnorfer +changes: + - {rscadd: 'Added matchbox, candle pack, tarot card deck, spray can, crayon box, + bee plushie, spider plushie, flushed plushie, shark plushie, dice bag, table + bell, and hourglass to the general tab of the loadout screen.'} +delete-after: true From 5cbfac8da4ca1592b6864d444bbb407f793e8a84 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Wed, 12 Feb 2025 20:23:56 -0800 Subject: [PATCH 302/330] Kali Andhi is better supplied (#4085) ## About The Pull Request Improves Kali Andhi's starting supplies a bit to make its start-of-round a little less painful. - added a Bulldog with small magazines to the armory, so all three troopers can use a longarm - added more starting uranium fuel for the generators - increased starting funds to 4k ## Why It's Good For The Game ![kuznetsov](https://github.com/user-attachments/assets/5fbed82d-d63d-4b98-a029-d5b925039d7d) ## Changelog :cl: balance: buffed Kali Andhi's starting funds, fuel, and weapons loadout /:cl: --- _maps/configs/syndicate_ngr_kaliandhi.json | 1 + .../syndicate/syndicate_ngr_kaliandhi.dmm | 63 +++++++------------ 2 files changed, 25 insertions(+), 39 deletions(-) diff --git a/_maps/configs/syndicate_ngr_kaliandhi.json b/_maps/configs/syndicate_ngr_kaliandhi.json index e46133492841..ff8a7c2ec135 100644 --- a/_maps/configs/syndicate_ngr_kaliandhi.json +++ b/_maps/configs/syndicate_ngr_kaliandhi.json @@ -18,6 +18,7 @@ "map_path": "_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm", "map_id": "syndicate_gorlex_kaliandhi", "limit": 1, + "starting_funds": 4000, "job_slots": { "Captain": { "outfit": "/datum/outfit/job/syndicate/captain/ngr", diff --git a/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm b/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm index 124fe97a4ba4..33f9ca763dbd 100644 --- a/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm +++ b/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm @@ -1275,8 +1275,8 @@ "jL" = ( /obj/machinery/door/airlock/hatch{ dir = 8; - name = "Armory"; fast_close = 1; + name = "Armory"; req_access = list(3) }, /obj/machinery/door/firedoor/border_only{ @@ -2153,8 +2153,8 @@ /area/ship/crew) "oc" = ( /obj/machinery/door/airlock/hatch{ - name = "Bridge"; fast_close = 1; + name = "Bridge"; req_access_txt = "19" }, /obj/machinery/door/firedoor/border_only{ @@ -2684,6 +2684,8 @@ /obj/structure/cable{ icon_state = "0-4" }, +/obj/item/folder/syndicate, +/obj/item/folder/syndicate, /turf/open/floor/plasteel/dark, /area/ship/bridge) "rz" = ( @@ -3132,8 +3134,8 @@ "vl" = ( /obj/machinery/door/airlock/hatch{ dir = 8; - name = "Armory"; fast_close = 1; + name = "Armory"; req_access = list(3) }, /obj/structure/cable{ @@ -3845,6 +3847,7 @@ /obj/effect/turf_decal/industrial/outline{ color = "#791500" }, +/obj/item/stack/sheet/mineral/uranium/twenty, /obj/item/stack/sheet/mineral/uranium/ten, /turf/open/floor/plasteel/tech, /area/ship/engineering/electrical) @@ -4179,6 +4182,7 @@ open = 0; req_access_txt = "3" }, +/obj/item/gun/ballistic/shotgun/automatic/bulldog/no_mag, /turf/open/floor/plasteel/dark, /area/ship/security/armory) "Ba" = ( @@ -4439,6 +4443,7 @@ }, /obj/machinery/light/directional/east, /obj/effect/turf_decal/corner/opaque/red/mono, +/obj/item/folder/syndicate, /turf/open/floor/plasteel/mono/dark, /area/ship/security/armory) "CK" = ( @@ -5508,8 +5513,8 @@ icon_state = "1-2" }, /obj/machinery/door/airlock/hatch{ - name = "Control Room"; fast_close = 1; + name = "Control Room"; req_access_txt = "10" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -5834,8 +5839,8 @@ /area/ship/hallway/fore) "MS" = ( /obj/machinery/door/airlock/hatch{ - name = "Command Deck"; fast_close = 1; + name = "Command Deck"; req_access_txt = "19" }, /obj/structure/cable{ @@ -5874,8 +5879,8 @@ "MU" = ( /obj/machinery/door/airlock/hatch{ dir = 4; - name = "Engineering"; fast_close = 1; + name = "Engineering"; req_access_txt = "10" }, /obj/structure/cable{ @@ -6986,47 +6991,27 @@ /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/item/ammo_box/magazine/m57_39_asp/empty, +/obj/item/ammo_box/magazine/m57_39_asp/empty, +/obj/item/ammo_box/magazine/m556_42_hydra/small/empty, +/obj/item/ammo_box/magazine/m556_42_hydra/small/empty, +/obj/item/ammo_box/magazine/m57_39_sidewinder/empty, +/obj/item/ammo_box/magazine/m57_39_sidewinder/empty, /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/item/ammo_box/magazine/m57_39_asp/empty, +/obj/item/ammo_box/magazine/m57_39_asp/empty, /obj/structure/sign/poster/contraband/c20r{ pixel_x = 32 }, +/obj/item/ammo_box/magazine/m12g_bulldog/empty, +/obj/item/ammo_box/magazine/m12g_bulldog/empty, +/obj/item/storage/box/ammo/a12g_buckshot, +/obj/item/storage/box/ammo/a12g_buckshot, /turf/open/floor/plasteel/dark, /area/ship/security/armory) "UM" = ( @@ -7589,8 +7574,8 @@ dir = 1 }, /obj/machinery/door/airlock/hatch{ - name = "Life Support"; fast_close = 1; + name = "Life Support"; req_access_txt = "10" }, /obj/machinery/door/firedoor/border_only, From 3e487823858e091b526f956167c7cb689ba7a533 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Wed, 12 Feb 2025 20:24:33 -0800 Subject: [PATCH 303/330] Tegu Housekeeping - I fix my own tcomms mistake that I gave jegorg (#4122) ## About The Pull Request Fixes some issues on the Tegu and adds a few things that were brought up by people that played on it. **Fixes the Tegu's tcomms to not link with the outpost and autolink with other NT ships.** Adds a single pair of sunglasses to the security officer's closet. Adds a cigarette vendor in the hallway. Adds two noticeboards to the vessel, for use in organization and notice-boarding. This also gives vessel captains the ability to prevent violations of OSHA code [1910 subpart E](https://www.osha.gov/laws-regs/regulations/standardnumber/1910/1910SubpartE). Adds a PDA painter to customize PDAs the vessel is given. Unifies the Paperwork Storage area with the Supply Office area to reduce power usage on the ship. Gives the engineer an angle grinder to assist in salvaging and mining operations. Adds two fire cabinets to bring the vessel in compliance with OSHA code [1915.505](https://www.osha.gov/laws-regs/interlinking/standards/1915.505). Adds PDA cartridges to cabinets for use with the jobs' respective PDAs (if they are chosen to be used). Stocks the oxygen cabinets with two small emergency oxygen tanks as they did not spawn with oxygen bottles to begin with. Adds NT and N+S stamps where they belong. ## Why It's Good For The Game This ship had a number of issues and was missing a few things, this PR seeks to alleviate those issues in a non-intrusive manner. The issue of the Tegu linking with every single relay and ship has been resolved as well. A few gear additions help make the Tegu lean more towards it's salvage/mining capacity and give the Engineer the option of fieldwork assistance. ## Changelog :cl: balance: A number of changes have been made to the Tegu to modernize it, including the addition of an angle grinder and a repaired telecommunications array. /:cl: --- _maps/shuttles/nanotrasen/nanotrasen_tegu.dmm | 142 +++++++++++------- 1 file changed, 90 insertions(+), 52 deletions(-) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_tegu.dmm b/_maps/shuttles/nanotrasen/nanotrasen_tegu.dmm index db0df25656e0..822f42f76b91 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_tegu.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_tegu.dmm @@ -43,9 +43,6 @@ /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" = ( @@ -83,7 +80,7 @@ /obj/item/folder/biscuit, /obj/item/folder/documents, /turf/open/floor/plasteel/patterned, -/area/ship/storage) +/area/ship/cargo/office) "aB" = ( /obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, @@ -556,9 +553,6 @@ dir = 1 }, /obj/machinery/airalarm/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, /turf/open/floor/plasteel/dark, /area/ship/cargo/office) "dL" = ( @@ -599,6 +593,8 @@ /obj/item/storage/toolbox/mechanical, /obj/item/clothing/gloves/color/yellow, /obj/item/storage/belt/utility/full/engi, +/obj/item/gear_pack/anglegrinder, +/obj/item/cartridge/ce, /turf/open/floor/plasteel/tech, /area/ship/engineering) "dZ" = ( @@ -1155,11 +1151,8 @@ /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) +/area/ship/cargo/office) "jL" = ( /obj/effect/turf_decal/corner/opaque/white/diagonal, /obj/effect/decal/cleanable/dirt/dust, @@ -1175,6 +1168,10 @@ }, /obj/structure/closet/emcloset/wall/directional/south, /obj/effect/decal/cleanable/dirt, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, /turf/open/floor/plasteel/patterned, /area/ship/hallway/central) "jZ" = ( @@ -1421,6 +1418,7 @@ req_access = list(48); name = "field technician's locker" }, +/obj/item/cartridge/atmos, /turf/open/floor/plasteel/tech, /area/ship/hangar) "lU" = ( @@ -1556,7 +1554,11 @@ /obj/structure/chair/office{ dir = 4 }, -/obj/machinery/light/directional/west, +/obj/item/toy/plush/moth/atlas, +/obj/structure/noticeboard{ + dir = 4; + pixel_x = -25 + }, /turf/open/floor/wood, /area/ship/cargo/office) "mG" = ( @@ -1962,7 +1964,7 @@ id = "tegus_cewindow" }, /turf/open/floor/plating, -/area/ship/storage) +/area/ship/cargo/office) "qK" = ( /obj/structure/cable{ icon_state = "2-8" @@ -2042,6 +2044,7 @@ pixel_x = 8; pixel_y = -20 }, +/obj/item/cartridge/quartermaster, /turf/open/floor/carpet/orange, /area/ship/crew/crewtwo) "qW" = ( @@ -2065,6 +2068,7 @@ req_access = list(48); name = "field technician's locker" }, +/obj/item/cartridge/atmos, /turf/open/floor/plasteel/tech, /area/ship/hangar) "qX" = ( @@ -2132,6 +2136,7 @@ dir = 8 }, /obj/machinery/light/small/directional/west, +/obj/structure/closet/firecloset/wall/directional/north, /turf/open/floor/plasteel/patterned, /area/ship/hallway/central) "rJ" = ( @@ -2155,13 +2160,17 @@ /area/ship/hallway/central) "rL" = ( /obj/machinery/telecomms/server/presets/nanotrasen{ - freq_listening = list(1351); - autolinkers = list("nanotrasen","broadcasterA","hub") + autolinkers = list("nanotrasen","broadcasterA","hub"); + freq_listening = list(1353,1351,1459); + network = "nt_commnet" }, /turf/open/floor/circuit, /area/ship/engineering/communications) "rP" = ( -/obj/machinery/telecomms/broadcaster/preset_left, +/obj/machinery/telecomms/broadcaster/preset_right{ + autolinkers = list("broadcasterB","hub"); + network = "nt_commnet" + }, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/window/reinforced/spawner/west, /obj/machinery/door/firedoor/border_only{ @@ -2491,7 +2500,8 @@ "uf" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/telecomms/server/presets/common{ - autolinkers = list("common","broadcasterA","hub") + autolinkers = list("common","broadcasterA","hub"); + network = "nt_commnet" }, /turf/open/floor/circuit, /area/ship/engineering/communications) @@ -2634,7 +2644,11 @@ /area/ship/crew) "vS" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/telecomms/hub/preset, +/obj/machinery/telecomms/hub{ + autolinkers = list("hub","bus","relay","messaging","nanotrasen","broadcasterB","receiverB"); + id = "Nanotrasen Communications Hub"; + network = "nt_commnet" + }, /turf/open/floor/circuit, /area/ship/engineering/communications) "vV" = ( @@ -2666,6 +2680,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull, /area/ship/external/dark) +"ws" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) "wt" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ @@ -2783,7 +2805,11 @@ "xi" = ( /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/telecomms/message_server/preset, +/obj/machinery/telecomms/message_server/preset{ + autolinkers = list("messaging","hub"); + layer = 3.1; + network = "nt_commnet" + }, /turf/open/floor/circuit/green, /area/ship/engineering/communications) "xj" = ( @@ -3107,10 +3133,6 @@ 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"; @@ -3126,6 +3148,14 @@ dir = 8; pixel_x = 8 }, +/obj/item/stamp/nanotrasen/ns/supply{ + pixel_x = -6; + pixel_y = -6 + }, +/obj/item/stamp/nanotrasen{ + pixel_y = 7; + pixel_x = -7 + }, /turf/open/floor/wood, /area/ship/cargo/office) "Ah" = ( @@ -3257,6 +3287,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/pdapainter, /turf/open/floor/plasteel/patterned, /area/ship/engineering) "BS" = ( @@ -3348,6 +3379,7 @@ /obj/machinery/computer/cargo{ dir = 1 }, +/obj/machinery/light/directional/west, /turf/open/floor/wood, /area/ship/cargo/office) "CE" = ( @@ -3682,6 +3714,9 @@ /obj/structure/chair/handrail{ dir = 2 }, +/obj/structure/noticeboard{ + pixel_y = 28 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/hallway/central) "FY" = ( @@ -3853,15 +3888,12 @@ }, /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) +/area/ship/cargo/office) "Hi" = ( /obj/effect/turf_decal/industrial/warning, /obj/machinery/suit_storage_unit/engine, @@ -3948,6 +3980,9 @@ /obj/structure/cable{ icon_state = "0-2" }, +/obj/item/stamp/nanotrasen/captain{ + pixel_x = -5 + }, /turf/open/floor/carpet/royalblue, /area/ship/crew/crewfour) "Ie" = ( @@ -4060,7 +4095,7 @@ }, /obj/effect/turf_decal/borderfloor, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/closet/firecloset/wall/directional/north, /turf/open/floor/plasteel/patterned, /area/ship/hallway/central) "Jp" = ( @@ -4111,9 +4146,6 @@ 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" = ( @@ -4224,6 +4256,8 @@ /obj/item/gun/ballistic/automatic/pistol/commander, /obj/item/ammo_box/magazine/smgm9mm, /obj/item/ammo_box/magazine/smgm9mm, +/obj/item/clothing/glasses/hud/security/sunglasses, +/obj/item/cartridge/hos, /turf/open/floor/plasteel/dark, /area/ship/security) "KK" = ( @@ -4298,16 +4332,12 @@ /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) +/area/ship/cargo/office) "LF" = ( /obj/machinery/porta_turret/ship/nt{ dir = 5 @@ -4687,9 +4717,11 @@ /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") +/obj/machinery/telecomms/bus/preset_four{ + autolinkers = list("hub","processor4","bus"); + freq_listening = list(1353,1351,1459); + id = "Nanotrasen Communications Bus"; + network = "nt_commnet" }, /turf/open/floor/circuit, /area/ship/engineering/communications) @@ -4774,9 +4806,7 @@ }, /obj/effect/turf_decal/industrial/warning/corner, /obj/item/radio/intercom/directional/south, -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, +/obj/machinery/vending/cigarette, /turf/open/floor/plasteel/patterned, /area/ship/hallway/central) "Pl" = ( @@ -5397,7 +5427,11 @@ /area/ship/hallway/central) "UA" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/telecomms/receiver/preset_left, +/obj/machinery/telecomms/receiver/preset_right{ + autolinkers = list("receiverB","hub"); + freq_listening = list(1353,1351,1459); + network = "nt_commnet" + }, /turf/open/floor/circuit, /area/ship/engineering/communications) "UF" = ( @@ -5509,7 +5543,7 @@ density = 0 }, /turf/open/floor/plasteel/patterned, -/area/ship/storage) +/area/ship/cargo/office) "Vr" = ( /obj/machinery/cryopod{ dir = 4 @@ -5596,9 +5630,6 @@ /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 @@ -5653,8 +5684,11 @@ /area/ship/engineering/communications/room) "Xn" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/telecomms/processor/preset_two{ - autolinkers = list("processor2","hub") +/obj/machinery/telecomms/processor/preset_four{ + autolinkers = list("processor4","bus"); + id = "Nanotrasen Communications Processor"; + layer = 3.09; + network = "nt_commnet" }, /turf/open/floor/circuit, /area/ship/engineering/communications) @@ -5870,6 +5904,10 @@ /obj/effect/turf_decal/industrial/warning/corner, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset/wall/directional/south, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, /turf/open/floor/plasteel/patterned, /area/ship/hallway/central) "Zb" = ( @@ -6607,7 +6645,7 @@ lJ Cv Rw GM -Pu +ws zh eZ cM @@ -6860,7 +6898,7 @@ uF qF aA Vm -WC +Ij tz qR Yk @@ -6909,7 +6947,7 @@ uF uF uF uF -WC +Ij PF PF PF From 318b68c514c9007aaab13c1355b51be27b97e3fe Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 12 Feb 2025 22:34:39 -0600 Subject: [PATCH 304/330] Automatic changelog generation for PR #4085 [ci skip] --- html/changelogs/AutoChangeLog-pr-4085.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4085.yml diff --git a/html/changelogs/AutoChangeLog-pr-4085.yml b/html/changelogs/AutoChangeLog-pr-4085.yml new file mode 100644 index 000000000000..045116edc048 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4085.yml @@ -0,0 +1,4 @@ +author: Apogee-dev +changes: + - {balance: "buffed Kali Andhi's starting funds, fuel, and weapons loadout"} +delete-after: true From 20db4109be35452e32dea3422e8106bfb7a5cc3f Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 12 Feb 2025 22:35:01 -0600 Subject: [PATCH 305/330] Automatic changelog generation for PR #4122 [ci skip] --- html/changelogs/AutoChangeLog-pr-4122.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4122.yml diff --git a/html/changelogs/AutoChangeLog-pr-4122.yml b/html/changelogs/AutoChangeLog-pr-4122.yml new file mode 100644 index 000000000000..d651368865e4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4122.yml @@ -0,0 +1,5 @@ +author: firebudgy +changes: + - {balance: 'A number of changes have been made to the Tegu to modernize it, including + the addition of an angle grinder and a repaired telecommunications array.'} +delete-after: true From 0a6af7dd2f56b493414286fa7f3fb8d3f1b58927 Mon Sep 17 00:00:00 2001 From: zevo Date: Wed, 12 Feb 2025 23:33:28 -0500 Subject: [PATCH 306/330] Makes some minor changes to Lavaland Buried Shrine (#4158) ## About The Pull Request Removed the three creature den spawners in the ruin that were never supposed to be there. Also removed the brimdemons due to their beams layering under the tiles for some godforsaken reason. Added a few more legions and some goliaths outside to balance this. Added some useful reagents to the potion bottles in the lava-flooded center of the ruin so players would actually pick them up. (Coniine, C4LZ1UM, and Purified Soulus Dust) Added some more rare botanical loot to the dining table at the north end of the ruin to incentivize players to pick them up and grow them. (One each of a golden apple, ambrosia gaia branch, cherry bulbs, and cherry bombs) ![image](https://github.com/user-attachments/assets/9fa13e91-cfc1-44a6-b548-27d7cd745966) ## Why It's Good For The Game Tired of hearing complaints that my ruin has shit loot and way too many mobs because I cant put any tendril loot in and spawners got added by a mistake that wasn't mine. Maybe someday that draconic amber will actually be worth credits. ## Changelog :cl: balance: Buried Shrine has had some changes to its mobs and loot within to make it more rewarding /:cl: --- .../lavaland_surface_buried_shrine.dmm | 112 +++++++++++------- 1 file changed, 69 insertions(+), 43 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm index 17094a2d2bff..f3f5c1f58572 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm @@ -63,7 +63,17 @@ /area/ruin/unpowered/buried_shrine) "cv" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/glass/bottle/potion, +/obj/item/reagent_containers/glass/bottle/potion{ + pixel_y = 7 + }, +/obj/item/reagent_containers/food/snacks/grown/cherrybulbs{ + pixel_x = 12; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/snacks/grown/cherry_bomb{ + pixel_x = -14; + pixel_y = 11 + }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "cA" = ( @@ -414,7 +424,7 @@ "kp" = ( /obj/structure/table_frame/wood, /obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/turf/open/floor/plating/moss, /area/ruin/unpowered/buried_shrine) "kt" = ( /obj/structure/stone_tile/block{ @@ -615,8 +625,12 @@ /turf/open/floor/plating/moss, /area/ruin/unpowered/buried_shrine) "pK" = ( -/obj/structure/stone_tile/slab, -/mob/living/simple_animal/hostile/asteroid/brimdemon, +/obj/structure/table/wood, +/obj/item/reagent_containers/glass/bowl/mushroom_bowl, +/obj/item/reagent_containers/food/snacks/grown/meatwheat{ + pixel_x = -15; + pixel_y = 4 + }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "qh" = ( @@ -664,7 +678,7 @@ dir = 5 }, /obj/structure/chair/wood, -/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) "qT" = ( @@ -821,6 +835,9 @@ pixel_x = -11; pixel_y = 10 }, +/obj/item/stack/sheet/bone{ + pixel_x = 10 + }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "tL" = ( @@ -866,14 +883,18 @@ /area/ruin/unpowered/buried_shrine) "vi" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/glass/bottle/potion, +/obj/item/reagent_containers/glass/bottle/potion{ + list_reagents = list(/datum/reagent/medicine/bonefixingjuice = 30) + }, /obj/item/reagent_containers/glass/bottle/potion{ pixel_x = -10; - pixel_y = 9 + pixel_y = 9; + list_reagents = list(/datum/reagent/medicine/soulus/pure = 30) }, /obj/item/reagent_containers/glass/bottle/potion{ pixel_x = 10; - pixel_y = 9 + pixel_y = 9; + list_reagents = list(/datum/reagent/toxin/coniine = 30) }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) @@ -881,7 +902,7 @@ /obj/structure/table/wood, /obj/item/gun/ballistic/bow/ashen, /obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/turf/open/floor/plating/moss, /area/ruin/unpowered/buried_shrine) "vJ" = ( /obj/structure/flora/ash/stem_shroom, @@ -914,11 +935,10 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "wt" = ( -/obj/structure/stone_tile/surrounding/cracked{ - dir = 4 +/obj/structure/stone_tile/slab/cracked{ + dir = 5 }, -/mob/living/simple_animal/hostile/asteroid/brimdemon, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/turf/open/floor/plating/moss, /area/ruin/unpowered/buried_shrine) "wy" = ( /obj/structure/stone_tile{ @@ -930,13 +950,9 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "wM" = ( -/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) +/mob/living/simple_animal/hostile/asteroid/goliath/beast, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface/lit, +/area/overmap_encounter/planetoid/lava/explored) "wS" = ( /obj/structure/stone_tile/surrounding/cracked{ dir = 4 @@ -1165,6 +1181,7 @@ /obj/item/chair/wood/wings{ dir = 8 }, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "CD" = ( @@ -1266,6 +1283,7 @@ dir = 1 }, /obj/structure/chair/wood/wings, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "FC" = ( @@ -1529,7 +1547,7 @@ pixel_y = 12 }, /obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/turf/open/floor/plating/moss, /area/ruin/unpowered/buried_shrine) "LW" = ( /obj/structure/destructible/tribal_torch{ @@ -1586,6 +1604,9 @@ /area/template_noop) "Ni" = ( /obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/grown/apple/gold{ + pixel_y = 9 + }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "Nk" = ( @@ -1650,7 +1671,6 @@ /obj/structure/stone_tile/cracked{ dir = 1 }, -/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) @@ -1674,8 +1694,10 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "RK" = ( -/obj/structure/stone_tile/center/cracked, -/mob/living/simple_animal/hostile/asteroid/brimdemon, +/obj/structure/stone_tile/slab/cracked, +/obj/item/flashlight/flare/torch{ + pixel_x = -18 + }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "RN" = ( @@ -1924,6 +1946,10 @@ /obj/structure/flora/ausbushes/sparsegrass/hell, /turf/open/floor/plating/moss, /area/ruin/unpowered/buried_shrine) +"Zd" = ( +/obj/item/reagent_containers/food/snacks/grown/random, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered/buried_shrine) "Zk" = ( /obj/structure/stone_tile{ dir = 8 @@ -2688,7 +2714,7 @@ WZ TO Qb Mt -eI +Zd Hv FC Qb @@ -3033,7 +3059,7 @@ Td TO TO TO -TO +eI TO TO WZ @@ -3089,8 +3115,8 @@ WZ WZ WZ TO -TO -TO +eI +eI WZ WZ WZ @@ -3431,7 +3457,7 @@ TO Xr Ht Td -pK +Ad on Ii Tp @@ -3681,7 +3707,7 @@ Eh nh aD nh -nh +wM nh nh nh @@ -3932,7 +3958,7 @@ LJ ta NN ta -wM +Xv Ad mM Ad @@ -3953,12 +3979,12 @@ LZ WZ Ka dB -RK +qt uP di zN Ad -Td +RK Ad BF yz @@ -4042,7 +4068,7 @@ WZ WZ Yh Fw -SA +pK lJ WZ ta @@ -4308,7 +4334,7 @@ Eh Eh nh nh -nh +wM aD nh nh @@ -4333,7 +4359,7 @@ WZ WZ Td lJ -wt +yM ta TO TO @@ -4915,10 +4941,10 @@ TO Xr hn Xr +Fq +Fq TO -TO -TO -Wd +wt kp WZ Eh @@ -4973,9 +4999,9 @@ TO TO TO TO -TO -TO -TO +BF +Ws +Ws LP WZ Eh @@ -5146,7 +5172,7 @@ YK WZ WZ TO -Fq +Ws WZ DB yJ From 9e6f21be6e7ac4481cedb1990b52f14f23511c10 Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Thu, 13 Feb 2025 05:34:51 +0100 Subject: [PATCH 307/330] Minor Sunskipper upkeep. Also gives it a rifle. (#4147) ## About The Pull Request - Adds a Model-12 Sporter because I think the ship can use a hunting rifle (even if it shoots .22) - The safe has a written-down code now, instead of you having to use the stethoscope - Fixes colors of railings and stuff - Other minor tweaks and fixes ## Why It's Good For The Game Maintaining my ship I oh so hate ## Changelog :cl: add: Added a Model 12 Sporter to the Sunskipper. tweak: Sunskipper's safe now has the combination written down on a piece of paper - no longer do you need the stethoscope. fix: Fixed colors of Sunskipper's objects. tweak: A bunch of really minor tweaks and fixes to the Sunskipper. /:cl: --- .../independent/independent_sunskipper.dmm | 151 ++++++++++++------ 1 file changed, 100 insertions(+), 51 deletions(-) diff --git a/_maps/shuttles/independent/independent_sunskipper.dmm b/_maps/shuttles/independent/independent_sunskipper.dmm index 767b578c8f22..ff6c336a583e 100644 --- a/_maps/shuttles/independent/independent_sunskipper.dmm +++ b/_maps/shuttles/independent/independent_sunskipper.dmm @@ -320,8 +320,8 @@ "cI" = ( /obj/structure/fluff/hedge/opaque, /obj/structure/railing/wood{ - dir = 10; - color = "#543C30" + color = "#777777"; + dir = 10 }, /obj/machinery/light/dim/directional/north, /turf/open/floor/wood/walnut, @@ -468,6 +468,7 @@ icon_state = "0-2" }, /obj/item/radio/intercom/directional/north, +/obj/structure/chair/handrail, /turf/open/floor/plating, /area/ship/maintenance/aft) "eW" = ( @@ -516,7 +517,7 @@ "fP" = ( /obj/structure/closet/crate/bin, /obj/item/trash/popcorn, -/obj/item/trash/can, +/obj/effect/spawner/random/trash/garbage, /turf/open/floor/carpet/nanoweave/beige, /area/ship/crew/dorm) "ga" = ( @@ -536,7 +537,7 @@ color = "#543C30" }, /obj/structure/railing/wood{ - color = "#543C30"; + color = "#777777"; dir = 8 }, /obj/structure/fluff/hedge/opaque, @@ -622,10 +623,6 @@ /obj/structure/cable/green{ icon_state = "0-4" }, -/obj/item/clothing/neck/stethoscope{ - pixel_y = 18; - pixel_x = 11 - }, /turf/open/floor/wood/mahogany, /area/ship/bridge) "ib" = ( @@ -682,6 +679,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/wood/mahogany, /area/ship/bridge) "jb" = ( @@ -824,6 +824,7 @@ /obj/structure/curtain, /obj/machinery/light/dim/directional/west, /obj/item/soap, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/noslip, /area/ship/crew/dorm) "kO" = ( @@ -893,7 +894,7 @@ /obj/item/storage/toolbox/electrical, /obj/item/clothing/head/welding, /obj/item/storage/toolbox/mechanical, -/obj/item/weldingtool/largetank, +/obj/item/weldingtool/hugetank, /turf/open/floor/plating, /area/ship/maintenance/aft) "lu" = ( @@ -989,6 +990,10 @@ pixel_y = -10 }, /obj/machinery/vending/hydronutrients, +/obj/structure/chair/handrail{ + dir = 4; + layer = 2.89 + }, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/hydroponics) "mQ" = ( @@ -1028,12 +1033,12 @@ color = "#543C30" }, /obj/structure/railing/wood{ - color = "#543C30"; + color = "#777777"; dir = 8 }, /obj/structure/fluff/hedge/opaque, /obj/structure/railing/wood{ - color = "#543C30"; + color = "#777777"; dir = 4 }, /turf/open/floor/wood/walnut, @@ -1068,6 +1073,9 @@ /obj/machinery/firealarm/directional/east{ pixel_y = -5 }, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/wood/birch, /area/ship/crew/dorm) "ng" = ( @@ -1109,7 +1117,7 @@ dir = 5; color = "#332521" }, -/obj/machinery/vending/boozeomat/all_access, +/obj/machinery/smartfridge/drinks, /turf/open/floor/wood/ebony, /area/ship/crew/canteen) "nM" = ( @@ -1199,6 +1207,10 @@ }, /turf/open/floor/carpet/red_gold, /area/ship/hallway/central) +"pb" = ( +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen/kitchen) "pp" = ( /obj/effect/turf_decal/siding/wood{ dir = 6; @@ -1445,6 +1457,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/crew/toilet) "sm" = ( @@ -1459,7 +1474,9 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/machinery/smartfridge/food, +/obj/machinery/smartfridge/food{ + dir = 4 + }, /obj/effect/turf_decal/corner/opaque/black/half{ dir = 8 }, @@ -1488,7 +1505,7 @@ }, /obj/machinery/vending/cigarette, /obj/structure/railing/wood{ - color = "#543C30"; + color = "#777777"; dir = 8 }, /turf/open/floor/wood/walnut, @@ -1524,11 +1541,11 @@ dir = 8 }, /obj/structure/railing/wood{ - color = "#543C30"; + color = "#777777"; dir = 8 }, /obj/structure/railing/wood{ - color = "#543C30"; + color = "#777777"; dir = 4 }, /turf/open/floor/wood/walnut, @@ -1623,6 +1640,7 @@ /area/ship/external/dark) "uz" = ( /obj/item/mop, +/obj/item/pushbroom, /obj/item/reagent_containers/glass/bucket, /obj/item/storage/bag/trash, /obj/machinery/firealarm/directional/east, @@ -1668,7 +1686,7 @@ /obj/structure/fluff/hedge, /obj/structure/railing/wood{ layer = 3.1; - color = "#792f27" + color = "#994f47" }, /turf/open/floor/plasteel/tech/grid, /area/ship/bridge) @@ -1711,6 +1729,9 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/mono/white, /area/ship/crew/canteen/kitchen) "wK" = ( @@ -1830,7 +1851,7 @@ dir = 1 }, /obj/machinery/button/door{ - pixel_x = -22; + pixel_x = -21; dir = 4; pixel_y = 9; id = "sunskipper_toilet"; @@ -1925,6 +1946,7 @@ dir = 4; pixel_y = -20 }, +/obj/effect/spawner/random/trash/garbage, /turf/open/floor/plasteel/mono, /area/ship/crew/canteen/kitchen) "yQ" = ( @@ -1940,13 +1962,17 @@ color = "#792f27"; dir = 9 }, -/obj/structure/safe, +/obj/structure/safe{ + number_of_tumblers = 3; + tumblers = list(32,15,9) + }, /obj/item/spacecash/bundle/c1000, /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine, /obj/item/gun/energy/e_gun/mini, /obj/structure/sign/painting/library{ pixel_y = 30 }, +/obj/item/laser_pointer/green, /turf/open/floor/wood/mahogany, /area/ship/bridge) "zj" = ( @@ -1979,6 +2005,7 @@ /obj/structure/closet/crate/wooden{ name = "mining gear crate" }, +/obj/item/storage/guncase/m12, /obj/item/pickaxe, /obj/item/pickaxe, /obj/item/melee/knife/hunting, @@ -1988,6 +2015,7 @@ /obj/item/clothing/head/hardhat/mining, /obj/item/clothing/head/hardhat/mining, /obj/effect/mapping_helpers/crate_shelve, +/obj/item/attachment/sling, /turf/open/floor/plasteel/tech, /area/ship/cargo) "zC" = ( @@ -2051,7 +2079,7 @@ }, /obj/structure/railing/wood{ layer = 3.1; - color = "#792f27" + color = "#994f47" }, /obj/effect/turf_decal/borderfloorblack{ dir = 6 @@ -2138,7 +2166,7 @@ "BO" = ( /obj/structure/curtain/cloth/fancy, /obj/machinery/button/door{ - pixel_x = 22; + pixel_x = 21; name = "Lobby Door Bolts Control"; normaldoorcontrol = 1; specialfunctions = 4; @@ -2222,7 +2250,7 @@ color = "#543C30" }, /obj/structure/railing/wood{ - color = "#543C30"; + color = "#777777"; dir = 4 }, /obj/structure/fluff/hedge/opaque, @@ -2258,6 +2286,9 @@ /obj/structure/cable/orange{ icon_state = "5-10" }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/mono, /area/ship/crew/canteen/kitchen) "DJ" = ( @@ -2330,7 +2361,7 @@ /obj/structure/railing/wood{ layer = 3.1; dir = 10; - color = "#792f27" + color = "#994f47" }, /obj/effect/turf_decal/borderfloorblack{ dir = 10 @@ -2362,8 +2393,8 @@ "ER" = ( /obj/structure/fluff/hedge/opaque, /obj/structure/railing/wood{ - dir = 6; - color = "#543C30" + color = "#777777"; + dir = 6 }, /obj/structure/sign/directions/evac{ dir = 1; @@ -2494,6 +2525,7 @@ /obj/machinery/firealarm/directional/south{ pixel_x = -6 }, +/obj/structure/chair/handrail, /turf/open/floor/plating, /area/ship/maintenance/aft) "Gt" = ( @@ -2578,9 +2610,7 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, -/obj/structure/railing{ - color = "#999999" - }, +/obj/structure/railing, /obj/machinery/light/small/directional/east, /obj/structure/cable/orange{ icon_state = "0-2" @@ -2617,7 +2647,7 @@ }, /obj/structure/aquarium/prefilled, /obj/structure/railing/wood{ - color = "#543C30" + color = "#777777" }, /obj/effect/turf_decal/siding/wood{ dir = 5; @@ -2808,7 +2838,7 @@ }, /obj/machinery/light/dim/directional/north, /obj/structure/closet/crate/bin, -/obj/item/trash/can, +/obj/effect/spawner/random/trash/deluxe_garbage, /obj/item/trash/candle, /obj/item/trash/candle, /obj/item/trash/candle, @@ -2840,7 +2870,8 @@ "KP" = ( /obj/structure/table/wood, /obj/item/paper_bin{ - pixel_x = 6 + pixel_x = 7; + pixel_y = 2 }, /obj/item/flashlight/lamp{ pixel_x = -8; @@ -2848,7 +2879,7 @@ }, /obj/machinery/recharger{ pixel_x = -9; - pixel_y = -3 + pixel_y = -1 }, /obj/item/radio/intercom/directional/south, /turf/open/floor/carpet/nanoweave/beige, @@ -2986,9 +3017,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/obj/machinery/advanced_airlock_controller{ - pixel_x = 28 - }, +/obj/machinery/advanced_airlock_controller/directional/east, /turf/open/floor/wood/walnut, /area/ship/hallway/central) "MN" = ( @@ -2999,6 +3028,9 @@ /area/ship/crew/canteen/kitchen) "MO" = ( /obj/structure/chair/stool, +/obj/machinery/holopad/emergency/bar{ + pixel_x = 1 + }, /turf/open/floor/wood/ebony, /area/ship/crew/canteen) "MV" = ( @@ -3009,11 +3041,12 @@ /obj/structure/toilet{ dir = 8; pixel_x = 8; - layer = 2.89 + layer = 2.89; + pixel_y = 6 }, /obj/machinery/button/door{ pixel_x = -13; - pixel_y = -22; + pixel_y = -20; id = "sunskipper_bathroom"; name = "Door Bolts"; specialfunctions = 4; @@ -3142,6 +3175,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/mono/dark, /area/ship/crew/hydroponics) "Pa" = ( @@ -3274,7 +3310,7 @@ "QR" = ( /obj/structure/fluff/hedge/opaque, /obj/structure/railing/wood{ - color = "#543C30" + color = "#777777" }, /turf/open/floor/wood/walnut, /area/ship/crew/canteen) @@ -3482,6 +3518,9 @@ /obj/item/reagent_containers/food/snacks/meat/slab/chicken, /obj/item/reagent_containers/food/snacks/meat/slab/goliath, /obj/item/reagent_containers/food/snacks/meat/slab/goliath, +/obj/item/reagent_containers/food/snacks/fishmeat, +/obj/item/reagent_containers/food/snacks/fishmeat, +/obj/item/reagent_containers/food/snacks/fishmeat, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen/kitchen) "Ug" = ( @@ -3502,7 +3541,9 @@ /turf/open/floor/carpet/nanoweave/beige, /area/ship/bridge) "Uj" = ( -/obj/machinery/microwave, +/obj/machinery/microwave{ + pixel_y = 6 + }, /obj/structure/table/reinforced, /turf/open/floor/plasteel/mono/white, /area/ship/crew/canteen/kitchen) @@ -3521,9 +3562,7 @@ dir = 1; color = "#332521" }, -/obj/machinery/smartfridge/drinks{ - color = "#D5A66E" - }, +/obj/machinery/vending/boozeomat/all_access, /turf/open/floor/wood/ebony, /area/ship/crew/canteen) "UK" = ( @@ -3568,6 +3607,7 @@ /area/ship/crew/canteen/kitchen) "Vj" = ( /obj/item/storage/box/zipties, +/obj/item/storage/box/ammo/c22lr, /obj/item/reagent_containers/spray/pepper, /obj/item/reagent_containers/spray/pepper, /obj/item/reagent_containers/spray/pepper, @@ -3600,7 +3640,7 @@ /area/ship/crew/canteen/kitchen) "VE" = ( /obj/machinery/button/door{ - pixel_x = -22; + pixel_x = -21; name = "Lobby Door Bolts Control"; normaldoorcontrol = 1; specialfunctions = 4; @@ -3616,7 +3656,7 @@ name = "Cargo Bay Shutters Control"; id = "sunskipper_storage"; dir = 4; - pixel_x = -22; + pixel_x = -21; pixel_y = 8 }, /turf/open/floor/carpet/black, @@ -3671,7 +3711,6 @@ pixel_y = 22; pixel_x = -12; name = "External Blast Doors Control"; - color = "#FF9999"; id = "sunskipper_entrance" }, /turf/open/floor/carpet/black, @@ -3825,7 +3864,7 @@ "YM" = ( /obj/structure/fluff/hedge/opaque, /obj/structure/railing/wood{ - color = "#543C30" + color = "#777777" }, /obj/effect/turf_decal/siding/wood{ dir = 8; @@ -3884,16 +3923,20 @@ /obj/item/folder/red, /obj/item/folder, /obj/item/clipboard, +/obj/item/paper{ + default_raw_text = "Current safe codes are: 32, 15, 9"; + name = "paper- 'safe code reminder'" + }, /turf/open/floor/wood/mahogany, /area/ship/bridge) "Zw" = ( /obj/structure/fluff/hedge/opaque, /obj/structure/railing/wood{ - color = "#543C30"; + color = "#777777"; dir = 8 }, /obj/structure/railing/wood{ - color = "#543C30"; + color = "#777777"; dir = 4 }, /turf/open/floor/wood/walnut, @@ -3910,6 +3953,12 @@ }, /turf/open/floor/wood/walnut, /area/ship/crew/canteen) +"ZX" = ( +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen/kitchen) "ZY" = ( /obj/machinery/modular_computer/console/preset/command{ dir = 4 @@ -3918,7 +3967,7 @@ /obj/structure/railing/corner/wood{ dir = 8; layer = 2.99; - color = "#792f27" + color = "#994f47" }, /obj/effect/turf_decal/borderfloorblack{ dir = 8 @@ -4208,9 +4257,9 @@ Nk ul GM xT -LF +pb Qc -LF +ZX XS Pe uQ From d664c2d06ff32eeab923f83a4c8e6903dcc0133a Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 12 Feb 2025 22:55:41 -0600 Subject: [PATCH 308/330] Automatic changelog generation for PR #4147 [ci skip] --- html/changelogs/AutoChangeLog-pr-4147.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4147.yml diff --git a/html/changelogs/AutoChangeLog-pr-4147.yml b/html/changelogs/AutoChangeLog-pr-4147.yml new file mode 100644 index 000000000000..6a6cb225192f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4147.yml @@ -0,0 +1,8 @@ +author: Sadhorizon +changes: + - {rscadd: Added a Model 12 Sporter to the Sunskipper.} + - {tweak: Sunskipper's safe now has the combination written down on a piece of paper + - no longer do you need the stethoscope.} + - {bugfix: Fixed colors of Sunskipper's objects.} + - {tweak: A bunch of really minor tweaks and fixes to the Sunskipper.} +delete-after: true From a2a5fa6c00634e459baa1b284b35df0058a0d03a Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Thu, 13 Feb 2025 02:38:45 -0600 Subject: [PATCH 309/330] Puts Bathroom locks on most ships + Vaquero doesn't need the MAA to help you piss (#4136) ## About The Pull Request ## Why It's Good For The Game Showers are like a dedicated afk spot (in my head). Makes it so people don't walk in on you naked while you're afk and can't respond. ## Changelog :cl: add: Bathroom locks to most ship private bathrooms del: Vaquero no longer requires a bathroom pass /:cl: --------- Co-authored-by: github-actions --- _maps/shuttles/cybersun/cybersun_nimbus.dmm | 5 ++++ .../independent/independent_dwayne.dmm | 13 +++++++++- .../independent/independent_falmouth.dmm | 12 ++++++++- .../shuttles/independent/independent_kilo.dmm | 26 +++++++++++++++++-- .../independent/independent_rigger.dmm | 12 ++++++++- _maps/shuttles/inteq/inteq_colossus.dmm | 12 ++++++++- _maps/shuttles/inteq/inteq_vaquero.dmm | 1 - _maps/shuttles/minutemen/minutemen_arke.dmm | 12 ++++++++- _maps/shuttles/minutemen/minutemen_atlas.dmm | 12 ++++++++- .../shuttles/nanotrasen/nanotrasen_delta.dmm | 11 +++++++- .../nanotrasen/nanotrasen_harrier.dmm | 11 +++++++- _maps/shuttles/nanotrasen/nanotrasen_meta.dmm | 12 ++++++++- .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 12 ++++++++- _maps/shuttles/roumain/srm_elder.dmm | 12 ++++++++- .../syndicate/syndicate_ngr_haboob.dmm | 12 ++++++++- 15 files changed, 160 insertions(+), 15 deletions(-) diff --git a/_maps/shuttles/cybersun/cybersun_nimbus.dmm b/_maps/shuttles/cybersun/cybersun_nimbus.dmm index 8f3d6328eec9..7b59c5537b6f 100644 --- a/_maps/shuttles/cybersun/cybersun_nimbus.dmm +++ b/_maps/shuttles/cybersun/cybersun_nimbus.dmm @@ -852,6 +852,11 @@ pixel_y = 16; pixel_x = -32 }, +/obj/machinery/washing_machine{ + pixel_y = 18; + pixel_x = 9; + density = 0 + }, /turf/open/floor/suns/hatch{ color = "#E6D2BA" }, diff --git a/_maps/shuttles/independent/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm index ec06680151f2..43d375369fac 100644 --- a/_maps/shuttles/independent/independent_dwayne.dmm +++ b/_maps/shuttles/independent/independent_dwayne.dmm @@ -165,7 +165,9 @@ /turf/open/floor/wood, /area/ship/crew/canteen) "bE" = ( -/obj/machinery/door/airlock/public, +/obj/machinery/door/airlock/public{ + id_tag = "dwayne_bathroom" + }, /obj/machinery/door/firedoor/border_only{ dir = 1 }, @@ -477,6 +479,15 @@ }, /obj/machinery/power/apc/auto_name/directional/west, /obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + pixel_x = -21; + pixel_y = -13; + dir = 4; + id = "dwayne_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock" + }, /turf/open/floor/plasteel/patterned, /area/ship/crew/toilet) "hd" = ( diff --git a/_maps/shuttles/independent/independent_falmouth.dmm b/_maps/shuttles/independent/independent_falmouth.dmm index 9fc71eb4ccd4..8c018a27a138 100644 --- a/_maps/shuttles/independent/independent_falmouth.dmm +++ b/_maps/shuttles/independent/independent_falmouth.dmm @@ -495,7 +495,8 @@ /area/ship/engineering/engines/starboard) "oa" = ( /obj/machinery/door/airlock{ - name = "Restroom" + name = "Restroom"; + id_tag = "falmouth_bathroom" }, /obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plating, @@ -735,6 +736,15 @@ dir = 9 }, /obj/effect/spawner/random/trash/mess, +/obj/machinery/button/door{ + pixel_x = -20; + pixel_y = -10; + dir = 4; + id = "falmouth_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock" + }, /turf/open/floor/plasteel/patterned, /area/ship/hallway/fore) "up" = ( diff --git a/_maps/shuttles/independent/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm index 1a9670b4d6ee..90fb829e9135 100644 --- a/_maps/shuttles/independent/independent_kilo.dmm +++ b/_maps/shuttles/independent/independent_kilo.dmm @@ -632,6 +632,18 @@ }, /turf/open/floor/plating, /area/ship/engineering) +"eK" = ( +/obj/machinery/button/door{ + pixel_x = -21; + pixel_y = -13; + dir = 4; + id = "dwayne_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock" + }, +/turf/closed/wall, +/area/ship/hallway/central) "eN" = ( /obj/machinery/light/directional/west, /obj/structure/crate_shelf, @@ -1254,6 +1266,15 @@ /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 6 }, +/obj/machinery/button/door{ + dir = 8; + id = "cock_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock"; + pixel_x = 20; + pixel_y = 10 + }, /turf/open/floor/plasteel/freezer, /area/ship/crew) "zH" = ( @@ -1652,7 +1673,8 @@ /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/airlock{ dir = 4; - name = "Restroom" + name = "Restroom"; + id_tag = "cock_bathroom" }, /turf/open/floor/plasteel/dark, /area/ship/crew) @@ -2282,7 +2304,7 @@ bA Ew xk xk -xk +eK nO "} (17,1,1) = {" diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm index 13a617b3374c..bb0a0c31464b 100644 --- a/_maps/shuttles/independent/independent_rigger.dmm +++ b/_maps/shuttles/independent/independent_rigger.dmm @@ -1125,6 +1125,15 @@ pixel_x = -5; pixel_y = -20 }, +/obj/machinery/button/door{ + id = "rigg_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock"; + dir = 1; + pixel_y = -21; + pixel_x = 4 + }, /turf/open/floor/plasteel/patterned, /area/ship/crew/toilet) "oz" = ( @@ -2628,7 +2637,8 @@ icon_state = "1-2" }, /obj/machinery/door/airlock{ - name = "Head" + name = "Head"; + id_tag = "rigg_bathroom" }, /turf/open/floor/plasteel/dark, /area/ship/crew/toilet) diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm index d82d3fea324a..35c4b7749564 100644 --- a/_maps/shuttles/inteq/inteq_colossus.dmm +++ b/_maps/shuttles/inteq/inteq_colossus.dmm @@ -1996,7 +1996,8 @@ /area/ship/crew/office) "vc" = ( /obj/machinery/door/airlock{ - name = "Head" + name = "Head"; + id_tag = "sus_bathroom" }, /obj/structure/cable{ icon_state = "1-2" @@ -4296,6 +4297,15 @@ /obj/structure/mirror{ pixel_y = -32 }, +/obj/machinery/button/door{ + id = "sus_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock"; + dir = 1; + pixel_y = -21; + pixel_x = 10 + }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "Um" = ( diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index e74bc4aa962b..135687911c7f 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -1814,7 +1814,6 @@ normaldoorcontrol = 1; pixel_x = 10; pixel_y = -20; - req_access_txt = "3"; specialfunctions = 4 }, /obj/item/radio/intercom/directional/west, diff --git a/_maps/shuttles/minutemen/minutemen_arke.dmm b/_maps/shuttles/minutemen/minutemen_arke.dmm index 4072f94cda08..025d31318849 100644 --- a/_maps/shuttles/minutemen/minutemen_arke.dmm +++ b/_maps/shuttles/minutemen/minutemen_arke.dmm @@ -768,7 +768,8 @@ /area/ship/cargo) "ve" = ( /obj/machinery/door/airlock/grunge{ - name = "Bathroom" + name = "Bathroom"; + id_tag = "arke_bathroom" }, /turf/open/floor/plasteel/dark, /area/ship/crew) @@ -1715,6 +1716,15 @@ /obj/item/soap, /obj/item/towel, /obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + pixel_x = -20; + pixel_y = -10; + dir = 4; + id = "arke_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock" + }, /turf/open/floor/plastic, /area/ship/crew) "UO" = ( diff --git a/_maps/shuttles/minutemen/minutemen_atlas.dmm b/_maps/shuttles/minutemen/minutemen_atlas.dmm index ac42351b5aef..694f55aa920a 100644 --- a/_maps/shuttles/minutemen/minutemen_atlas.dmm +++ b/_maps/shuttles/minutemen/minutemen_atlas.dmm @@ -261,7 +261,8 @@ "eB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/grunge{ - name = "Bathroom" + name = "Bathroom"; + id_tag = "atlas_bathroom" }, /obj/machinery/door/firedoor/border_only{ dir = 1 @@ -3890,6 +3891,15 @@ /obj/item/clothing/head/wig/random{ pixel_x = 11 }, +/obj/machinery/button/door{ + pixel_x = -20; + pixel_y = -10; + dir = 4; + id = "atlas_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock" + }, /turf/open/floor/plastic, /area/ship/crew) "Qt" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm index b5ab7d6f650d..2c485f3b07a4 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm @@ -2242,6 +2242,14 @@ dir = 8; pixel_x = 12 }, +/obj/machinery/button/door{ + id = "delta_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock"; + pixel_y = 20; + pixel_x = 10 + }, /turf/open/floor/plasteel/freezer, /area/ship/hallway/port) "Dq" = ( @@ -2429,7 +2437,8 @@ /area/ship/cargo) "Jf" = ( /obj/machinery/door/airlock{ - name = "Restroom" + name = "Restroom"; + id_tag = "delta_bathroom" }, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ diff --git a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm index 349e6d8bd98b..93aefdfdc6fc 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm @@ -1511,7 +1511,8 @@ /area/ship/engineering) "hV" = ( /obj/machinery/door/airlock/command{ - name = "Restroom" + name = "Restroom"; + id_tag = "harrier_bathroom" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -2097,6 +2098,14 @@ dir = 6 }, /obj/machinery/light/small/directional/west, +/obj/machinery/button/door{ + id = "harrier_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock"; + pixel_y = 20; + pixel_x = -12 + }, /turf/open/floor/plasteel/freezer, /area/ship/bridge) "lj" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm index b3f02ffdec42..e7adf9b4cd90 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm @@ -3407,7 +3407,8 @@ /area/ship/cargo) "Rv" = ( /obj/machinery/door/airlock{ - name = "Bathroom" + name = "Bathroom"; + id_tag = "meta_bathroom" }, /obj/machinery/door/firedoor/border_only{ dir = 1 @@ -3684,6 +3685,15 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + dir = 8; + id = "meta_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock"; + pixel_x = 20; + pixel_y = 10 + }, /turf/open/floor/plasteel/freezer, /area/ship/crew) "Zf" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index ff2f7eaa8f80..fbfd491ef71c 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -3943,12 +3943,22 @@ dir = 1 }, /obj/effect/decal/cleanable/cobweb, +/obj/machinery/button/door{ + dir = 8; + id = "ranger_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock"; + pixel_x = 20; + pixel_y = 10 + }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "BI" = ( /obj/machinery/door/airlock/wood{ name = "Toilets"; - req_ship_access = 0 + req_ship_access = 0; + id_tag = "ranger_bathroom" }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) diff --git a/_maps/shuttles/roumain/srm_elder.dmm b/_maps/shuttles/roumain/srm_elder.dmm index 5f32bb05aff7..0a5ea714793d 100644 --- a/_maps/shuttles/roumain/srm_elder.dmm +++ b/_maps/shuttles/roumain/srm_elder.dmm @@ -1842,6 +1842,15 @@ /obj/effect/turf_decal/spline/fancy/wood/corner{ dir = 4 }, +/obj/machinery/button/door{ + pixel_x = -20; + pixel_y = -10; + dir = 4; + id = "elders_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock" + }, /turf/open/floor/wood/mahogany, /area/ship/medical) "vX" = ( @@ -4128,7 +4137,8 @@ dir = 1 }, /obj/machinery/door/airlock/wood{ - name = "Restroom" + name = "Restroom"; + id_tag = "elders_bathroom" }, /obj/effect/turf_decal/spline/fancy/wood/cee{ dir = 1 diff --git a/_maps/shuttles/syndicate/syndicate_ngr_haboob.dmm b/_maps/shuttles/syndicate/syndicate_ngr_haboob.dmm index 70928c9b58e2..f8b19c75a4ad 100644 --- a/_maps/shuttles/syndicate/syndicate_ngr_haboob.dmm +++ b/_maps/shuttles/syndicate/syndicate_ngr_haboob.dmm @@ -664,7 +664,8 @@ dir = 4 }, /obj/machinery/door/airlock/grunge{ - dir = 4 + dir = 4; + id_tag = "boob_bathroom" }, /turf/open/floor/plasteel/tech/grid, /area/ship/crew/dorm) @@ -1183,6 +1184,15 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, +/obj/machinery/button/door{ + pixel_x = -21; + pixel_y = -13; + dir = 4; + id = "boob_bathroom"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "Bathroom Lock" + }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/dorm) "ye" = ( From 9fa1f672003532b24bcd271202df6442cd3b9a32 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 13 Feb 2025 02:49:57 -0600 Subject: [PATCH 310/330] Automatic changelog generation for PR #4136 [ci skip] --- html/changelogs/AutoChangeLog-pr-4136.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4136.yml diff --git a/html/changelogs/AutoChangeLog-pr-4136.yml b/html/changelogs/AutoChangeLog-pr-4136.yml new file mode 100644 index 000000000000..3282deb7140d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4136.yml @@ -0,0 +1,5 @@ +author: generalthrax +changes: + - {rscadd: Bathroom locks to most ship private bathrooms} + - {rscdel: Vaquero no longer requires a bathroom pass} +delete-after: true From 062c54d6cdd6868b80c55cc81f63dff9785d3277 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 14 Feb 2025 01:02:49 +0000 Subject: [PATCH 311/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4085.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4122.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4136.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4147.yml | 8 -------- html/changelogs/AutoChangeLog-pr-4156.yml | 6 ------ html/changelogs/AutoChangeLog-pr-4179.yml | 4 ---- html/changelogs/archive/2025-02.yml | 21 +++++++++++++++++++++ 7 files changed, 21 insertions(+), 32 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4085.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4122.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4136.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4147.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4156.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4179.yml diff --git a/html/changelogs/AutoChangeLog-pr-4085.yml b/html/changelogs/AutoChangeLog-pr-4085.yml deleted file mode 100644 index 045116edc048..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4085.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Apogee-dev -changes: - - {balance: "buffed Kali Andhi's starting funds, fuel, and weapons loadout"} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4122.yml b/html/changelogs/AutoChangeLog-pr-4122.yml deleted file mode 100644 index d651368865e4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4122.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: firebudgy -changes: - - {balance: 'A number of changes have been made to the Tegu to modernize it, including - the addition of an angle grinder and a repaired telecommunications array.'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4136.yml b/html/changelogs/AutoChangeLog-pr-4136.yml deleted file mode 100644 index 3282deb7140d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4136.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: generalthrax -changes: - - {rscadd: Bathroom locks to most ship private bathrooms} - - {rscdel: Vaquero no longer requires a bathroom pass} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4147.yml b/html/changelogs/AutoChangeLog-pr-4147.yml deleted file mode 100644 index 6a6cb225192f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4147.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: Sadhorizon -changes: - - {rscadd: Added a Model 12 Sporter to the Sunskipper.} - - {tweak: Sunskipper's safe now has the combination written down on a piece of paper - - no longer do you need the stethoscope.} - - {bugfix: Fixed colors of Sunskipper's objects.} - - {tweak: A bunch of really minor tweaks and fixes to the Sunskipper.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4156.yml b/html/changelogs/AutoChangeLog-pr-4156.yml deleted file mode 100644 index 6d8a7466fb77..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4156.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: MemeSnorfer -changes: - - {rscadd: 'Added matchbox, candle pack, tarot card deck, spray can, crayon box, - bee plushie, spider plushie, flushed plushie, shark plushie, dice bag, table - bell, and hourglass to the general tab of the loadout screen.'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4179.yml b/html/changelogs/AutoChangeLog-pr-4179.yml deleted file mode 100644 index b1187c20bf34..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4179.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: MassiveMen -changes: - - {rscdel: remove TRAIT_SPIRITUAL and all references} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index 150312137821..f4dd21c9a215 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -108,3 +108,24 @@ - rscadd: Minute Energy bar, replacing High Energy bars in vendors. generalthrax: - bugfix: Sarathi and elzu balaclavas work again +2025-02-14: + Apogee-dev: + - balance: buffed Kali Andhi's starting funds, fuel, and weapons loadout + MassiveMen: + - rscdel: remove TRAIT_SPIRITUAL and all references + MemeSnorfer: + - rscadd: Added matchbox, candle pack, tarot card deck, spray can, crayon box, bee + plushie, spider plushie, flushed plushie, shark plushie, dice bag, table bell, + and hourglass to the general tab of the loadout screen. + Sadhorizon: + - rscadd: Added a Model 12 Sporter to the Sunskipper. + - tweak: Sunskipper's safe now has the combination written down on a piece of paper + - no longer do you need the stethoscope. + - bugfix: Fixed colors of Sunskipper's objects. + - tweak: A bunch of really minor tweaks and fixes to the Sunskipper. + firebudgy: + - balance: A number of changes have been made to the Tegu to modernize it, including + the addition of an angle grinder and a repaired telecommunications array. + generalthrax: + - rscadd: Bathroom locks to most ship private bathrooms + - rscdel: Vaquero no longer requires a bathroom pass From 6181b4742f36274361e17416a2bfe305aceb5f51 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Thu, 13 Feb 2025 18:35:03 -0800 Subject: [PATCH 312/330] Adds Pocket Pouches - an additional storage option! (#4171) ## About The Pull Request Adds new options for storage fitting in your pocket (normal-sized in the backpack to prevent stacking them)! ![image](https://github.com/user-attachments/assets/1c3f5252-ca7f-49c2-ab07-2d571abd184e) Six new pouch types: - The medical pouch, with the ability to hold 4 basic aid items of your choice. - The engineering pouch, with the ability to hold 3 basic tools of your choice (or IPC structural supports). - The ammo pouch, with the ability to hold 3 ammo handfuls or 3 magazines of your choice. - The command pouch, able to hold radios, tablets, and other support items for a squad leader on the field. Also adds a generic pouch and an explosives pouch. ## Why It's Good For The Game This PR adds additional storage options to add more variety in loadouts. Now that we've had equip delays and storage changes most people are more hesitant to use certain storage options, and this allows them the ability to specialize their pockets into carrying specific essential gear in an easier to access location without relying solely on their bags. ## Changelog :cl: add: Pouches! Now purchasable in the outpost and attachable to your pockets. /:cl: --- code/game/objects/items/stacks/medical.dm | 9 ++ code/game/objects/items/storage/pouches.dm | 177 +++++++++++++++++++++ code/modules/cargo/packs/sec_supply.dm | 46 ++++++ icons/obj/storage/pouches.dmi | Bin 0 -> 1614 bytes shiptest.dme | 1 + 5 files changed, 233 insertions(+) create mode 100644 code/game/objects/items/storage/pouches.dm create mode 100644 icons/obj/storage/pouches.dmi diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 1f8e39d05f4b..7611a1b91f51 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -169,6 +169,9 @@ /obj/item/stack/medical/gauze/twelve amount = 12 +/obj/item/stack/medical/gauze/five + amount = 5 + /obj/item/stack/medical/gauze/heal(mob/living/target, mob/user) if(iscarbon(target)) var/mob/living/carbon/C = target @@ -239,6 +242,9 @@ var/heal_brute = 10 grind_results = list(/datum/reagent/medicine/spaceacillin = 2) +/obj/item/stack/medical/suture/five + amount = 5 + /obj/item/stack/medical/suture/medicated name = "medicated suture" icon_state = "suture_purp" @@ -285,6 +291,9 @@ is_open = FALSE update_appearance() +/obj/item/stack/medical/mesh/five + amount = 5 + /obj/item/stack/medical/mesh/update_icon_state() if(is_open) return ..() diff --git a/code/game/objects/items/storage/pouches.dm b/code/game/objects/items/storage/pouches.dm new file mode 100644 index 000000000000..c4c2564aa58a --- /dev/null +++ b/code/game/objects/items/storage/pouches.dm @@ -0,0 +1,177 @@ +//Pocket pouches, specialized storage expansions +/obj/item/storage/pouch + name = "utility pouch" + desc = "A small pouch for storing items." + icon = 'icons/obj/storage/pouches.dmi' + icon_state = "pouch" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + drop_sound = 'sound/items/handling/cardboardbox_drop.ogg' + pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg' + throw_speed = 3 + throw_range = 7 + slot_flags = ITEM_SLOT_POCKETS + w_class = WEIGHT_CLASS_NORMAL + var/empty = FALSE + +/obj/item/storage/pouch/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.attack_hand_interact = TRUE + STR.max_w_class = WEIGHT_CLASS_SMALL + STR.max_items = 2 + STR.max_combined_w_class = 24 + +/obj/item/storage/pouch/examine_more(mob/user) + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + if(STR.can_hold_description) + . += span_notice("It can hold:") + . += STR.can_hold_description + +/obj/item/storage/pouch/medical + name = "aid pouch" + desc = "An individual first aid kit, for use preventing and treating battlefield injuries." + icon_state = "pouch_medical" + +/obj/item/storage/pouch/medical/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_w_class = WEIGHT_CLASS_NORMAL //holds the same equipment as a medibelt + STR.max_items = 4 + STR.max_combined_w_class = 24 + STR.set_holdable(list( + /obj/item/stack/medical/gauze, + /obj/item/stack/medical/suture, + /obj/item/stack/medical/bruise_pack, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/ointment, + /obj/item/stack/medical/splint, + /obj/item/stack/medical/structure, + /obj/item/storage/pill_bottle, + /obj/item/reagent_containers/pill, + /obj/item/reagent_containers/syringe, + /obj/item/reagent_containers/hypospray/medipen, + /obj/item/reagent_containers/glass/bottle/vial + )) + +/obj/item/storage/pouch/medical/PopulateContents() + if(empty) + return + var/static/items_inside = list( + /obj/item/stack/medical/gauze/five = 1, + /obj/item/stack/medical/suture/five = 1, + /obj/item/stack/medical/mesh/five = 1, + /obj/item/reagent_containers/hypospray/medipen = 1) + generate_items_inside(items_inside,src) + +/obj/item/storage/pouch/ammo + name = "ammunition pouch" + desc = "An ammunition pouch, commonly used by soldiers to hold additional ammo in an accessible location." + icon_state = "pouch_ammo" + +/obj/item/storage/pouch/ammo/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_w_class = WEIGHT_CLASS_NORMAL + STR.max_items = 3 + STR.max_combined_w_class = 24 + STR.set_holdable(list( + /obj/item/ammo_box/magazine/ammo_stack, + /obj/item/ammo_casing/shotgun, + /obj/item/ammo_box/magazine, + /obj/item/ammo_box/c38, + /obj/item/ammo_box/a357, + /obj/item/ammo_box/a858, + /obj/item/ammo_box/vickland_a308, + /obj/item/ammo_box/a300, + /obj/item/ammo_box/a762_stripper, + /obj/item/ammo_box/amagpellet_claris, + /obj/item/stock_parts/cell/gun + )) + +/obj/item/storage/pouch/engi + name = "technician pouch" + desc = "An orange pouch used to hold a small amount of tools or supplies, often used for emergency repair kits." + icon_state = "pouch_engi" + +/obj/item/storage/pouch/engi/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_w_class = WEIGHT_CLASS_NORMAL + STR.max_items = 4 + STR.max_combined_w_class = 24 + STR.set_holdable(list( + /obj/item/crowbar, + /obj/item/screwdriver, + /obj/item/weldingtool, + /obj/item/wirecutters, + /obj/item/wrench, + /obj/item/multitool, + /obj/item/flashlight, + /obj/item/stack/cable_coil, + /obj/item/t_scanner, + /obj/item/analyzer, + /obj/item/geiger_counter, + /obj/item/stack/medical/structure, + /obj/item/extinguisher/mini, + /obj/item/toy/crayon/spraycan, + /obj/item/stack/marker_beacon, + /obj/item/clothing/gloves + )) + +/obj/item/storage/pouch/engi/PopulateContents() + if(empty) + return + var/static/items_inside = list( + /obj/item/crowbar = 1, + /obj/item/screwdriver = 1, + /obj/item/wrench = 1, + /obj/item/weldingtool/mini = 1) + generate_items_inside(items_inside,src) + +/obj/item/storage/pouch/grenade + name = "grenade pouch" + desc = "A row of small pouches intended for holding explosives safely, primarily grenades." + icon_state = "pouch_grenade" + +/obj/item/storage/pouch/grenade/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_w_class = WEIGHT_CLASS_NORMAL + STR.max_items = 3 + STR.max_combined_w_class = 24 + STR.set_holdable(list( + /obj/item/grenade + )) + +/obj/item/storage/pouch/squad + name = "command pouch" + desc = "A light blue pouch used by squad leaders everywhere to hold command equipment." + icon_state = "pouch_squad" + +/obj/item/storage/pouch/squad/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_w_class = WEIGHT_CLASS_NORMAL + STR.max_items = 5 + STR.max_combined_w_class = 24 + STR.set_holdable(list( + /obj/item/modular_computer/tablet, + /obj/item/radio, + /obj/item/megaphone, + /obj/item/assembly/signaler, + /obj/item/binoculars, + /obj/item/folder, + /obj/item/clipboard, + /obj/item/flashlight, + /obj/item/paper_bin, + /obj/item/paper, + /obj/item/pen, + /obj/item/camera, + /obj/item/key/ship, + /obj/item/geiger_counter, + /obj/item/toy/crayon/spraycan, + /obj/item/stack/marker_beacon, + /obj/item/reagent_containers/glass/rag + )) diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index 103fadf860bd..0152f9421ac4 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -50,6 +50,52 @@ contains = list(/obj/item/circuitboard/computer/security) crate_name = "camera console crate" +/* + Pouches +*/ + +/datum/supply_pack/sec_supply/pouch + name = "Utility Pouch Crate" + desc = "Contains a small basic pouch for holding two small items of your choice." + cost = 150 + contains = list(/obj/item/storage/pouch) + crate_name = "pouch crate" + +/datum/supply_pack/sec_supply/pouch_medical + name = "Medical Pouch Crate" + desc = "Contains a small IFAK for issuing to your crew for field triage. Comes pre-stocked with basic medical gear." + cost = 250 + contains = list(/obj/item/storage/pouch/medical) + crate_name = "pouch crate" + +/datum/supply_pack/sec_supply/pouch_engi + name = "Engineering Pouch Crate" + desc = "Contains a small engineering pouch for holding various tools of your choice. Comes pre-stocked with emergency tools." + cost = 250 + contains = list(/obj/item/storage/pouch/engi) + crate_name = "pouch crate" + +/datum/supply_pack/sec_supply/pouch_ammo + name = "Ammo Pouch Crate" + desc = "Contains a small pouch for holding either magazines or loose ammunition on the field. Remember, make them count!" + cost = 150 + contains = list(/obj/item/storage/pouch/ammo) + crate_name = "pouch crate" + +/datum/supply_pack/sec_supply/pouch_grenade + name = "Explosives Pouch Crate" + desc = "Contains a pouch designed to hold frag grenades and C4 for use by demolitions experts across armed services." + cost = 150 + contains = list(/obj/item/storage/pouch/grenade) + crate_name = "pouch crate" + +/datum/supply_pack/sec_supply/pouch_squad + name = "Communications & Command Pouch Crate" + desc = "Contains a medium command pouch for holding various items often used by commanders everywhere." + cost = 150 + contains = list(/obj/item/storage/pouch/squad) + crate_name = "pouch crate" + /* Misc. weapons / protection */ diff --git a/icons/obj/storage/pouches.dmi b/icons/obj/storage/pouches.dmi new file mode 100644 index 0000000000000000000000000000000000000000..47a141a9b17596dabcae3d2086b79fa54c1c2cd6 GIT binary patch literal 1614 zcmV-U2C?~xP)V=-0C)k7(7g)6FcgO2Ik}2MyNiFTi?m1wdkb>tIVJ~8qDiW^Z?Ka?A=~%D zGkqs-c~u%Igd00nkQL_t(| z+U=WvXjNqx$Dh-NpkmHnbFfX*beUrFsR@B-ko{3XiV(ES zOp2hI#fni-e{5rsGTLQnwQN?KX}S%z`D-RB$kxs8E6+Ih+;h%--*e9NiqH3-^WOKo z=RWWIeBS3d_nbYmNOVJGi3d#>ctZ<7X$uH$R| zINE7NF^87T57MfgKWL5Tu{yTX8UPl)tn6OeaABBQOUqSXWvpEt@!6}*<91EUrk^{0 z4F!Sc@Jh+;)O0Z?>3sFn!SObqN8ekW|7zJzdjLvYLB%>2LPd{qp)G`T>SR(Ec*Cd zw(6VNd`KNT@}^N)|AnOX*{bF0`237v+S)#%HD8!;KLD8S@kH0-W(E*{Q>lUcCgCX8kAHDLkRQxJBwj(tSSgrpz_;HM}7@I7aJ z{+;y2<u zkli?s3A5{*Hb?iLN_q}>DCayqT34ak-|TLq?+2$RoX2xO=E^ydr68n1`*VPweLM%~ zraxld0oje?MjbT(X9|M)zH3bQod0m*{VA#xWRCz&L8BqXd9- zh7{xkkV*i66oj-H769h(<)#%00Q>|1PrP$L%eG}Y5$te3Awt3~+Aet&;h2cdxTqe) zZUu>>1b_e#2><~g5&!}~Bme|}NB{@`kpK_?A^{)(L;^qnhy;KD5TyeE_4nY?nMAR( z$tTedd7Zo3e>47_7;7HQEuhSSo|I$fmQ~SEM{`0SU+cGaOLrouhFI~^WEyJAPc~lB zr;c9d4%A5$RUF;xMP znVDg6VJ@6$cQQNPDd!k`4qCA5R*8Y{G3^gx7v(iOnm%v^;O2NY09&fp`j%>1Ue53C z?p5u=!o^gyq)gTNJp1m_Kmb17cqCB0s9Q-qm%p3#o7zSl)T+m-sC><8YTw(a<#;Cm zzP9D-X3sh)*Uql4KjUyb1Q6@jZX`^`83DQ}2>pJO@B`ph5|3yy?T-q8NdyE2P`hqh zd|hpgYQMjyfqwrbrT{Fj$)H0GW8*uEg?j^pT+iZN$kzk~fXIVw7QP43WZEA!06!3s zM8HsYJ-xYMAHBNkY1;JKLA9_c)mb#>@Qm?sI(7P|iq6rcrjfuY$XOE4f$K5hPd_}i^yLyUpdpRRCW4**0=XWpn6d*2u2YwY~cG* z2n?s1_6Lo=jM7TVJ99MQoX*CB`e!You~@75P1p^9Dou}{O!}>#s!kuz0n4m;ft!)N*MxC`-G+0g z>-Gn=-Ffno>w{RzjYroW#7gE(F$aK~@WO?6sP?gA|EQZVrywVQR04o7Dact8&*kr? z{b3@&nSyjS9;cwd5rAJm5Pl667ca4VUq$#S Date: Thu, 13 Feb 2025 20:45:40 -0600 Subject: [PATCH 313/330] Automatic changelog generation for PR #4171 [ci skip] --- html/changelogs/AutoChangeLog-pr-4171.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4171.yml diff --git a/html/changelogs/AutoChangeLog-pr-4171.yml b/html/changelogs/AutoChangeLog-pr-4171.yml new file mode 100644 index 000000000000..95485c21aa27 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4171.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {rscadd: Pouches! Now purchasable in the outpost and attachable to your pockets.} +delete-after: true From cbf40ef4766a2365db55630e3825411ebbe3cf81 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Thu, 13 Feb 2025 19:46:01 -0800 Subject: [PATCH 314/330] Attachment Update + A few new attachments (#4040) ## About The Pull Request Adds two new lists to help handle initialization for valid attachments on gun's attachment holder lists, weapon_class_attachments (for attachments specific to a gun type, eg scopes for rifles) and unique_attachments (for attachments specific to that gun eg. folding stocks on the saber) and refused_attachments (attachments the gun can't take.) Adds secondary actions to items, currently bound to shift-space by default. Using secondary action on a gun will cycle through it's firemodes, if any. Underbarrel guns now support hand unloading and magazines. Underbarrel guns now come in guncases. Underbarrel shotgun is now pumped, holds two shots, and had it's price increased to 1200. Adds the Hognose underbarrel pistol, alof tube attachment and underbarrel energy cannon. The Hognose and alof can be bought in outpost cargo, and the underbarrel energy cannon can be bought in the black market. Fixes being unable to load underbarrel guns while weapons with bolts like illestren were closed. Energy guns have a muzzle slot so they can take bayonets properly. Pistols can no longer take underbarrel guns. Fixes a few typos ## Why It's Good For The Game Adding new attachments to the game isn't great right now since it operates off a single list. If a gun needs to have a different list of attachments it can take, it needs a snowflaked valid attachment list that needs to updated along with everything else whenever a new attachment is added which adds a lot of work. Organizing the lists into different categories should hopefully make things less messy to work with. Underbarrel guns now come in cases for consistency. The firemode hotkey was added due to feedback about how awkward it was to quickly swap firemodes to use an underbarrel gun, especially weapons with multiple firemodes since you had to moouse up and click on a HUD element. Having a hotkey should be easier. The underbarrel shotgun was changed to make it feel better to use after feedback. New attachments are cool I think, and work as proof of concept for the new mechanics in the update. ## Changelog :cl: add: Hognose, alof, underbarrel energy cannon add: Underbarrel guns come in cases. add: Secondary actions and hotkey. add: Muzzle slot for eguns balance: Pistols can no longer take underbarrel guns. balance: Underbarrel shotgun holds two rounds, price increased to 1200 fix: Fixes being unable to load underbarrel guns while gun bolts were closed. fix: slings being funky spellcheck: typos code: new attachment lists, weapon_class_attachments, unique_attachments, refused_attachments /:cl: --- code/__DEFINES/dcs/signals/signals.dm | 5 +- code/__DEFINES/guns.dm | 1 + code/__DEFINES/keybinding.dm | 1 + code/datums/components/attachment.dm | 10 ++++ code/datums/components/attachment_holder.dm | 8 +++ code/datums/keybinding/human.dm | 17 +++++++ code/game/objects/items.dm | 11 +++- .../objects/items/attachments/_attachment.dm | 10 ++++ .../items/attachments/_gun_attachment.dm | 23 +++++++-- code/game/objects/items/attachments/alof.dm | 47 ++++++++++++++++++ .../attachments/gun_attachments/ballistic.dm | 35 +++++++++++-- .../attachments/gun_attachments/energy.dm | 41 +++++++++++++++ .../gun_attachments/flamethrower.dm | 2 +- .../attachments/gun_attachments/flaregun.dm | 2 +- .../items/attachments/shoulder_sling.dm | 2 +- .../objects/items/storage/filled_guncases.dm | 20 ++++++++ code/game/objects/items/storage/guncases.dm | 3 +- .../blackmarket/blackmarket_items/weapons.dm | 13 ++++- code/modules/cargo/packs/magazines.dm | 7 +++ .../modules/cargo/packs/weapon_attachments.dm | 28 ++++++++--- code/modules/mob/mob.dm | 19 +++++++ .../boxes_magazines/internal/shotgun.dm | 2 +- code/modules/projectiles/gun.dm | 22 +++++++- code/modules/projectiles/guns/ballistic.dm | 3 +- .../projectiles/guns/ballistic/assault.dm | 7 +-- .../projectiles/guns/ballistic/pistol.dm | 5 ++ .../projectiles/guns/ballistic/rifle.dm | 2 + .../modules/projectiles/guns/ballistic/smg.dm | 24 ++------- code/modules/projectiles/guns/energy.dm | 15 ++++-- code/modules/projectiles/guns/energy/laser.dm | 10 ++++ .../guns/manufacturer/eoehoma/lasers.dm | 11 ++++ .../manufacturer/etherbor/energy_gunsword.dm | 5 ++ .../manufacturer/hunter_pride/ballistics.dm | 35 ++++--------- .../manufacturer/scarborough/ballistics.dm | 17 ++++--- .../manufacturer/solar_armories/ballistic.dm | 3 +- icons/obj/guns/attachments.dmi | Bin 6061 -> 7468 bytes shiptest.dme | 1 + 37 files changed, 381 insertions(+), 86 deletions(-) create mode 100644 code/game/objects/items/attachments/alof.dm diff --git a/code/__DEFINES/dcs/signals/signals.dm b/code/__DEFINES/dcs/signals/signals.dm index 5abeb8dcf63f..e422a84975d4 100644 --- a/code/__DEFINES/dcs/signals/signals.dm +++ b/code/__DEFINES/dcs/signals/signals.dm @@ -273,7 +273,10 @@ #define COMSIG_CLICK_CTRL_SHIFT_RIGHT "ctrl_shift_right_click" /// from mob/ver/do_unique_action #define COMSIG_CLICK_UNIQUE_ACTION "unique_action" - #define OVERIDE_UNIQUE_ACTION 1 + #define OVERRIDE_UNIQUE_ACTION 1 +/// from mob/ver/do_unique_action +#define COMSIG_CLICK_SECONDARY_ACTION "secondary_action" + #define OVERRIDE_SECONDARY_ACTION 1 //from base of atom/MouseDrop(): (/atom/over, /mob/user) #define COMSIG_MOUSEDROP_ONTO "mousedrop_onto" #define COMPONENT_NO_MOUSEDROP 1 diff --git a/code/__DEFINES/guns.dm b/code/__DEFINES/guns.dm index 3cabcfa617ce..5419ff0ee468 100644 --- a/code/__DEFINES/guns.dm +++ b/code/__DEFINES/guns.dm @@ -137,6 +137,7 @@ #define COMSIG_ATTACHMENT_UNIQUE_ACTION "attach-unique-action" #define COMSIG_ATTACHMENT_CTRL_CLICK "attach-ctrl-click" #define COMSIG_ATTACHMENT_ALT_CLICK "attach-alt-click" +#define COMSIG_ATTACHMENT_ATTACK_HAND "attach-attack-hand" #define COMSIG_ATTACHMENT_TOGGLE "attach-toggle" diff --git a/code/__DEFINES/keybinding.dm b/code/__DEFINES/keybinding.dm index 50a16edc350a..6355c153374b 100644 --- a/code/__DEFINES/keybinding.dm +++ b/code/__DEFINES/keybinding.dm @@ -44,6 +44,7 @@ #define COMSIG_KB_HUMAN_QUICKEQUIP_DOWN "keybinding_human_quickequip_down" #define COMSIG_KB_HUMAN_QUICKEQUIPBELT_DOWN "keybinding_human_quickequipbelt_down" #define COMSIG_KB_HUMAN_UNIQUEACTION "keybinding_uniqueaction" +#define COMSIG_KB_HUMAN_SECONDARYACTION "keybinding_secondaryaction" #define COMSIG_KB_HUMAN_BAGEQUIP_DOWN "keybinding_human_bagequip_down" #define COMSIG_KB_HUMAN_EQUIPMENTSWAP_DOWN "keybinding_human_equipmentswap_down" #define COMSIG_KB_HUMAN_SUITEQUIP_DOWN "keybinding_human_suitequip_down" diff --git a/code/datums/components/attachment.dm b/code/datums/components/attachment.dm index 265aef622081..8e0038085cc5 100644 --- a/code/datums/components/attachment.dm +++ b/code/datums/components/attachment.dm @@ -13,6 +13,7 @@ var/datum/callback/on_ctrl_click var/datum/callback/on_alt_click var/datum/callback/on_examine + var/datum/callback/on_attack_hand ///Called on the parents preattack var/datum/callback/on_preattack ///Called on the parents wield @@ -39,6 +40,7 @@ datum/callback/on_unwield = null, datum/callback/on_examine = null, datum/callback/on_alt_click = null, + datum/callback/on_attack_hand = null, list/signals = null ) @@ -59,6 +61,7 @@ src.on_unwield = on_unwield src.on_examine = on_examine src.on_alt_click = on_alt_click + src.on_attack_hand = on_attack_hand ADD_TRAIT(parent, TRAIT_ATTACHABLE, "attachable") RegisterSignal(parent, COMSIG_ATTACHMENT_ATTACH, PROC_REF(try_attach)) @@ -77,6 +80,7 @@ RegisterSignal(parent, COMSIG_ATTACHMENT_UNIQUE_ACTION, PROC_REF(relay_unique_action)) RegisterSignal(parent, COMSIG_ATTACHMENT_CTRL_CLICK, PROC_REF(relay_ctrl_click)) RegisterSignal(parent, COMSIG_ATTACHMENT_ALT_CLICK, PROC_REF(relay_alt_click)) + RegisterSignal(parent, COMSIG_ATTACHMENT_ATTACK_HAND, PROC_REF(relay_attack_hand)) for(var/signal in signals) RegisterSignal(parent, signal, signals[signal]) @@ -206,6 +210,12 @@ if(on_alt_click) return on_alt_click.Invoke(gun, user, params) +/datum/component/attachment/proc/relay_attack_hand(obj/item/parent, obj/item/gun, mob/user, params) + SIGNAL_HANDLER_DOES_SLEEP + + if(on_attack_hand) + return on_attack_hand.Invoke(gun, user, params) + /datum/component/attachment/proc/send_slot(obj/item/parent) SIGNAL_HANDLER return attachment_slot_to_bflag(slot) diff --git a/code/datums/components/attachment_holder.dm b/code/datums/components/attachment_holder.dm index e1564902c5ae..0647a20e81b4 100644 --- a/code/datums/components/attachment_holder.dm +++ b/code/datums/components/attachment_holder.dm @@ -31,6 +31,7 @@ RegisterSignal(parent, COMSIG_ITEM_PRE_ATTACK, PROC_REF(handle_item_pre_attack)) RegisterSignal(parent, COMSIG_TWOHANDED_WIELD, PROC_REF(handle_item_wield)) RegisterSignal(parent, COMSIG_TWOHANDED_UNWIELD, PROC_REF(handle_item_unwield)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(handle_hand_attack)) RegisterSignal(parent, COMSIG_CLICK_CTRL_SHIFT, PROC_REF(handle_ctrl_shift_click)) RegisterSignal(parent, COMSIG_CLICK_CTRL, PROC_REF(handle_ctrl_click)) RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(handle_alt_click)) @@ -221,6 +222,13 @@ if(SEND_SIGNAL(attach, COMSIG_ATTACHMENT_UNWIELD, parent, user, params)) return TRUE +/datum/component/attachment_holder/proc/handle_hand_attack(obj/item/parent, mob/user, params) + SIGNAL_HANDLER + + for(var/obj/item/attach as anything in attachments) + if(SEND_SIGNAL(attach, COMSIG_ATTACHMENT_ATTACK_HAND, parent, user, params)) + return TRUE + /datum/component/attachment_holder/proc/handle_unique_action(obj/item/parent, mob/user, params) SIGNAL_HANDLER diff --git a/code/datums/keybinding/human.dm b/code/datums/keybinding/human.dm index e4ce3478e73a..034f1cffa2e7 100644 --- a/code/datums/keybinding/human.dm +++ b/code/datums/keybinding/human.dm @@ -36,6 +36,23 @@ current_human.do_unique_action() return TRUE +/datum/keybinding/human/secondary_action + hotkey_keys = list("ShiftSpace") + name = "secondary_action" + full_name = "Perform secondary action" + description = "" + keybind_signal = COMSIG_KB_HUMAN_SECONDARYACTION + + +/datum/keybinding/human/secondary_action/down(client/user) + . = ..() + if(.) + return + var/mob/living/carbon/human/current_human = user.mob + current_human.do_secondary_action() + return TRUE + + /datum/keybinding/human/quick_equip_belt hotkey_keys = list("ShiftE") name = "quick_equip_belt" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 17bcfd78d5c9..30fd5c8ec1d3 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -1213,7 +1213,16 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb ///Called before unique action, if any other associated items should do a unique action or override it. /obj/item/proc/pre_unique_action(mob/living/user) - if(SEND_SIGNAL(src,COMSIG_CLICK_UNIQUE_ACTION,user) & OVERIDE_UNIQUE_ACTION) + if(SEND_SIGNAL(src,COMSIG_CLICK_UNIQUE_ACTION,user) & OVERRIDE_UNIQUE_ACTION) + return TRUE + return FALSE //return true if the proc should end here + +///Intended for interactions with guns, like swapping firemodes +/obj/item/proc/secondary_action(mob/living/user) + +///Called before unique action, if any other associated items should do a secondary action or override it. +/obj/item/proc/pre_secondary_action(mob/living/user) + if(SEND_SIGNAL(src,COMSIG_CLICK_SECONDARY_ACTION,user) & OVERRIDE_SECONDARY_ACTION) return TRUE return FALSE //return true if the proc should end here /** diff --git a/code/game/objects/items/attachments/_attachment.dm b/code/game/objects/items/attachments/_attachment.dm index 1b46b59f8db2..822879516db6 100644 --- a/code/game/objects/items/attachments/_attachment.dm +++ b/code/game/objects/items/attachments/_attachment.dm @@ -16,6 +16,10 @@ ///Component that handles most of the logic of attachments var/datum/component/attachment/attachment_comp + + /// the cell in the gun, if any + var/obj/item/stock_parts/cell/gun/gun_cell + ///If the attachment is on or off var/toggled = FALSE var/toggle_on_sound = 'sound/items/flashlight_on.ogg' @@ -57,6 +61,7 @@ CALLBACK(src, PROC_REF(on_unwield)), \ CALLBACK(src, PROC_REF(on_examine)), \ CALLBACK(src, PROC_REF(on_alt_click)), \ + CALLBACK(src, PROC_REF(on_attack_hand)), \ signals) /obj/item/attachment/Destroy() @@ -80,6 +85,7 @@ return FALSE apply_modifiers(gun, user, TRUE) + gun_cell = gun.cell playsound(src.loc, 'sound/weapons/gun/pistol/mag_insert_alt.ogg', 75, 1) return TRUE @@ -91,6 +97,7 @@ apply_modifiers(gun, user, FALSE) playsound(src.loc, 'sound/weapons/gun/pistol/mag_release_alt.ogg', 75, 1) + gun_cell = null return TRUE /obj/item/attachment/proc/on_preattack(obj/item/gun/gun, atom/target, mob/user, list/params) @@ -114,6 +121,9 @@ /obj/item/attachment/proc/on_examine(obj/item/gun/gun, mob/user, list/examine_list) return +/obj/item/attachment/proc/on_attack_hand(obj/item/gun/gun, mob/user, list/examine_list) + return FALSE + /obj/item/attachment/proc/on_alt_click(obj/item/gun/gun, mob/user, list/examine_list) AltClick(user) return TRUE diff --git a/code/game/objects/items/attachments/_gun_attachment.dm b/code/game/objects/items/attachments/_gun_attachment.dm index d7b858922d80..fc8ba428c846 100644 --- a/code/game/objects/items/attachments/_gun_attachment.dm +++ b/code/game/objects/items/attachments/_gun_attachment.dm @@ -9,13 +9,15 @@ wield_delay = 0.1 SECONDS var/weapon_type = /obj/item/gun/ballistic/shotgun/automatic var/obj/item/gun/attached_gun + var/allow_hand_interaction = FALSE //basically so the fire select shows the right icon var/underbarrel_prefix = "" -/obj/item/attachment/gun/Initialize() +/obj/item/attachment/gun/Initialize(mapload, spawn_empty = FALSE) . = ..() if(weapon_type) - attached_gun = new weapon_type(src) + attached_gun = new weapon_type(src,spawn_empty) + attached_gun.interaction_flags_item = NONE /obj/item/attachment/gun/Destroy() . = ..() @@ -64,10 +66,25 @@ /obj/item/attachment/gun/unique_action(mob/living/user) attached_gun.unique_action(user) +/obj/item/attachment/gun/on_attack_hand(obj/item/gun/gun, mob/user, list/examine_list) + if(gun.gun_firemodes[gun.firemode_index] == FIREMODE_UNDERBARREL && gun.loc == user && user.is_holding(gun) && allow_hand_interaction) + hand_attack_interaction(user) + return COMPONENT_NO_ATTACK_HAND + return + +/obj/item/attachment/gun/attack_hand(mob/user) + if(loc == user && user.is_holding(src) && allow_hand_interaction) + if(hand_attack_interaction(user)) + return COMPONENT_NO_ATTACK_HAND + return ..() + +/obj/item/attachment/gun/proc/hand_attack_interaction(mob/user) + return COMPONENT_NO_ATTACK_HAND + /obj/item/attachment/gun/on_unique_action(obj/item/gun/gun, mob/user) if(gun.gun_firemodes[gun.firemode_index] == FIREMODE_UNDERBARREL) attached_gun.unique_action(user) - return OVERIDE_UNIQUE_ACTION + return OVERRIDE_UNIQUE_ACTION /obj/item/attachment/gun/on_ctrl_click(obj/item/gun/gun, mob/user) attached_gun.toggle_safety(user,TRUE) diff --git a/code/game/objects/items/attachments/alof.dm b/code/game/objects/items/attachments/alof.dm new file mode 100644 index 000000000000..a03b32dfab70 --- /dev/null +++ b/code/game/objects/items/attachments/alof.dm @@ -0,0 +1,47 @@ +/obj/item/attachment/alof + name = "alof tube" + desc = "An antiquated spring operated magazine attachment for the HP Beacon. Has a capacity of three rounds." + icon_state = "alof" + + attach_features_flags = ATTACH_REMOVABLE_HAND + pixel_shift_x = 10 + pixel_shift_y = 0 + wield_delay = 0.1 SECONDS + var/obj/item/ammo_box/magazine/internal/shot/alof/mag + +/obj/item/attachment/alof/Initialize() + . = ..() + mag = new /obj/item/ammo_box/magazine/internal/shot/alof(src) + +/obj/item/attachment/alof/Destroy() + . = ..() + QDEL_NULL(mag) + +/obj/item/attachment/alof/on_attacked(obj/item/gun/gun, mob/user, obj/item) + . = ..() + if(istype(item,/obj/item/ammo_casing) || istype(item, /obj/item/ammo_box)) + attackby(item,user) + +/obj/item/attachment/alof/attackby(obj/item/I, mob/living/user, params) + if(istype(I,/obj/item/ammo_casing) || istype(I, /obj/item/ammo_box)) + mag.attackby(I,user) + else + return ..() +/obj/item/attachment/alof/attack_self(mob/user) + . = ..() + mag.attack_self(user) + +/obj/item/attachment/alof/on_unique_action(obj/item/gun/gun, mob/user, obj/item) + . = ..() + if(gun.bolt_locked) + var/obj/item/ammo_casing/casing_to_insert = mag.get_round(TRUE) + if(gun.magazine.give_round(casing_to_insert,TRUE)) + mag.stored_ammo -= casing_to_insert + to_chat(user,span_notice("\The [src] automatically loads another round into \the [gun]!")) + +/obj/item/ammo_box/magazine/internal/shot/alof + name = "alof tube internal magazine" + ammo_type = /obj/item/ammo_casing/a4570 + caliber = ".45-70" + max_ammo = 3 + instant_load = TRUE diff --git a/code/game/objects/items/attachments/gun_attachments/ballistic.dm b/code/game/objects/items/attachments/gun_attachments/ballistic.dm index 6697895e48ff..51e6a64de049 100644 --- a/code/game/objects/items/attachments/gun_attachments/ballistic.dm +++ b/code/game/objects/items/attachments/gun_attachments/ballistic.dm @@ -9,6 +9,12 @@ else return ..() +/obj/item/attachment/gun/ballistic/hand_attack_interaction(mob/user) + var/obj/item/gun/ballistic/ballistic_gun = attached_gun + if(ballistic_gun.magazine) + ballistic_gun.eject_magazine(user) + return ..() + /obj/item/attachment/gun/ballistic/on_examine(obj/item/gun/gun, mob/user, list/examine_list) var/obj/item/gun/ballistic/ballistic_gun = attached_gun var/gun_bolt = ballistic_gun.bolt_type @@ -24,8 +30,7 @@ /obj/item/gun/ballistic/shotgun/underbarrel name = "underbarrel ballistic gun" desc = "You shouldnt be seeing this." - semi_auto = TRUE - always_chambers = TRUE + semi_auto = FALSE casing_ejector = TRUE gunslinger_recoil_bonus = 0 default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/underbarrel @@ -35,7 +40,7 @@ /obj/item/attachment/gun/ballistic/shotgun name = "underbarrel shotgun" - desc = "A single shot underbarrel shotgun for warding off anyone who gets too close for comfort." + desc = "A two shot pump underbarrel shotgun for warding off anyone who gets too close for comfort." underbarrel_prefix = "sg_" weapon_type = /obj/item/gun/ballistic/shotgun/underbarrel @@ -49,9 +54,33 @@ /obj/item/gun/ballistic/shotgun/underbarrel/grenadelauncher name = "underbarrel grenade launcher" fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' + always_chambers = TRUE default_ammo_type = /obj/item/ammo_box/magazine/internal/grenadelauncher allowed_ammo_types = list( /obj/item/ammo_box/magazine/internal/grenadelauncher ) +/obj/item/attachment/gun/ballistic/hognose + name = "PC-22 \"Hognose\"" + desc = "A compact underbarrel pistol chambered in 22lr. Holds eight rounds." + icon_state = "hognose" + weapon_type = /obj/item/gun/ballistic/automatic/pistol/himehabu/underbarrel + allow_hand_interaction = TRUE + +/obj/item/gun/ballistic/automatic/pistol/himehabu/underbarrel + name = "PC-22 \"Hognose\"" + desc = "You shouldn't be seeing this." + default_ammo_type = /obj/item/ammo_box/magazine/m22lr_himehabu/hognose + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m22lr_himehabu/hognose, + ) + +/obj/item/ammo_box/magazine/m22lr_himehabu/hognose + name = "Hognose magazine (.22 LR)" + max_ammo = 8 + +/obj/item/ammo_box/magazine/m22lr_himehabu/hognose/empty + start_empty = TRUE + + diff --git a/code/game/objects/items/attachments/gun_attachments/energy.dm b/code/game/objects/items/attachments/gun_attachments/energy.dm index 04962bb54d19..93ac00dbf857 100644 --- a/code/game/objects/items/attachments/gun_attachments/energy.dm +++ b/code/game/objects/items/attachments/gun_attachments/energy.dm @@ -5,6 +5,7 @@ icon_state = "energy" weapon_type = /obj/item/gun/energy/e_gun var/automatic_charge_overlays = TRUE + allow_hand_interaction = TRUE /obj/item/attachment/gun/energy/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/stock_parts/cell/gun)) @@ -13,6 +14,12 @@ else return ..() +/obj/item/attachment/gun/energy/hand_attack_interaction(mob/user) + var/obj/item/gun/energy/e_gun = attached_gun + if(e_gun.tac_reloads && e_gun.cell) + e_gun.eject_cell(user) + return ..() + /obj/item/attachment/gun/energy/on_examine(obj/item/gun/gun, mob/user, list/examine_list) var/obj/item/gun/energy/e_gun = attached_gun var/obj/item/ammo_casing/energy/shot = e_gun.ammo_type[e_gun.select] @@ -45,3 +52,37 @@ ammo_type = list(/obj/item/ammo_casing/energy/disabler/underbarrel, /obj/item/ammo_casing/energy/laser/underbarrel) spawn_no_ammo = TRUE +/obj/item/attachment/gun/energy/e50 + name = "underbarrel energy cannon" + desc = "An aftermarket conversion of Eoehoma Firearms' E-50 emitter cannon stripped down in order to fit on the rail mounts on other weapons. This less than orthodox conversion strips out most of the E-50's safety mechanisms to cut down on weight and size, making it dangerously prone to overheating even at its reduced power. Heat insulated gloves are reccomended." + weapon_type = /obj/item/gun/energy/laser/e50/clip/underbarrel + icon_state = "e50" + +/obj/item/gun/energy/laser/e50/clip/underbarrel + name = "underbarrel energy cannon" + desc = "Watch out, its hot." + 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, + ) + +// turns out shrinking an industrial laser to this size is kinda dangerous +/obj/item/gun/energy/laser/e50/clip/underbarrel/process_fire(atom/target, mob/living/user, message, params, zone_override, bonus_spread) + if(..()) + var/prot = FALSE + var/mob/living/carbon/human/shooter = user + if(shooter.gloves) + var/obj/item/clothing/gloves/shooter_glove = shooter.gloves + if(shooter_glove.max_heat_protection_temperature) + prot = (shooter_glove.max_heat_protection_temperature > 360) + if(HAS_TRAIT(user, TRAIT_RESISTHEAT) || HAS_TRAIT(user, TRAIT_RESISTHEATHANDS)) + prot = TRUE + var/obj/item/bodypart/affected_hand = shooter.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm") + if(prot == FALSE) + if(affected_hand && affected_hand.receive_damage(0, 25)) + shooter.drop_all_held_items() + to_chat(shooter,span_danger("The [src] violently heats up as it fires, burning your hand!")) + diff --git a/code/game/objects/items/attachments/gun_attachments/flamethrower.dm b/code/game/objects/items/attachments/gun_attachments/flamethrower.dm index 22c08bdab3bc..cfb98482d112 100644 --- a/code/game/objects/items/attachments/gun_attachments/flamethrower.dm +++ b/code/game/objects/items/attachments/gun_attachments/flamethrower.dm @@ -35,7 +35,7 @@ /obj/item/attachment/gun/flamethrower/on_unique_action(obj/item/gun/gun, mob/user) if(gun.gun_firemodes[gun.firemode_index] == FIREMODE_UNDERBARREL) attached_flamethrower.unique_action(user) - return OVERIDE_UNIQUE_ACTION + return OVERRIDE_UNIQUE_ACTION /obj/item/attachment/gun/flamethrower/on_examine(obj/item/gun/gun, mob/user, list/examine_list) var/total_volume = 0 diff --git a/code/game/objects/items/attachments/gun_attachments/flaregun.dm b/code/game/objects/items/attachments/gun_attachments/flaregun.dm index 0517c2e31f8d..162786b93265 100644 --- a/code/game/objects/items/attachments/gun_attachments/flaregun.dm +++ b/code/game/objects/items/attachments/gun_attachments/flaregun.dm @@ -51,7 +51,7 @@ to_chat(user, span_notice("You unload the flare from \the [name].")) loaded_flare = null playsound(src,'sound/weapons/gun/shotgun/rack.ogg',100) - return OVERIDE_UNIQUE_ACTION + return OVERRIDE_UNIQUE_ACTION /obj/item/attachment/gun/flare/on_examine(obj/item/gun/gun, mob/user, list/examine_list) . = ..() diff --git a/code/game/objects/items/attachments/shoulder_sling.dm b/code/game/objects/items/attachments/shoulder_sling.dm index fdf01c17a95b..99378e17cfdf 100644 --- a/code/game/objects/items/attachments/shoulder_sling.dm +++ b/code/game/objects/items/attachments/shoulder_sling.dm @@ -10,7 +10,7 @@ render_plane = BELOW_OBJ_LAYER wield_delay = 0.2 SECONDS - var/check_size = TRUE + var/check_size = FALSE /obj/item/attachment/sling/apply_attachment(obj/item/gun/gun, mob/user) . = ..() diff --git a/code/game/objects/items/storage/filled_guncases.dm b/code/game/objects/items/storage/filled_guncases.dm index 2cd5da2a54e0..8d13330dd721 100644 --- a/code/game/objects/items/storage/filled_guncases.dm +++ b/code/game/objects/items/storage/filled_guncases.dm @@ -347,3 +347,23 @@ /obj/item/storage/guncase/energy/e10 gun_type = /obj/item/gun/energy/laser/e10 + +/* underbarrel guns */ +/obj/item/storage/guncase/underbarrel_shotgun + gun_type = /obj/item/attachment/gun/ballistic/shotgun + +/obj/item/storage/guncase/underbarrel_riot_grenade + gun_type = /obj/item/attachment/gun/riot + +/obj/item/storage/guncase/underbarrel_flamethrower + gun_type = /obj/item/attachment/gun/flamethrower + +/obj/item/storage/guncase/underbarrel_flare + gun_type = /obj/item/attachment/gun/flare + +/obj/item/storage/guncase/underbarrel_hognose + gun_type = /obj/item/attachment/gun/ballistic/hognose + mag_type = /obj/item/ammo_box/magazine/m22lr_himehabu/hognose + +/obj/item/storage/guncase/energy/underbarrel_e_gun + gun_type = /obj/item/attachment/gun/energy/e_gun diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index ec07ea096dc0..e8482c52fa93 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -26,7 +26,8 @@ var/holdable_items = list( /obj/item/gun, /obj/item/ammo_box, - /obj/item/stock_parts/cell/gun + /obj/item/stock_parts/cell/gun, + /obj/item/attachment/gun ) /obj/item/storage/guncase/Initialize(mapload) diff --git a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm index 4e11d41df908..5c3e1fd2cbd9 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm @@ -161,7 +161,7 @@ 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) + pair_item = list(/datum/blackmarket_item/ammo/huge_weapon_cell) price_min = 4000 price_max = 7000 @@ -169,6 +169,17 @@ availability_prob = 20 spawn_weighting = FALSE +/datum/blackmarket_item/weapon/e50_underbarrel + name = "Underbarrel Energy Cannon" + desc = "The normal E-50 too big to handle for you? This underbarrel conversion cuts it down to a managable size with only a minor chance of painfully burning your hands." + item = /obj/item/attachment/gun/energy/e50 + + price_min = 4000 + price_max = 5000 + 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." diff --git a/code/modules/cargo/packs/magazines.dm b/code/modules/cargo/packs/magazines.dm index d7a34c778703..6c1a0ed66710 100644 --- a/code/modules/cargo/packs/magazines.dm +++ b/code/modules/cargo/packs/magazines.dm @@ -112,6 +112,13 @@ cost = 100 faction = /datum/faction/syndicate/scarborough_arms +/datum/supply_pack/magazine/hognose_mag + name = "Hognose Magazine Crate" + desc = "Contains a .22lr magazine for the Hognose underbarrel pistol, with a capacity of eight rounds." + contains = list(/obj/item/ammo_box/magazine/m22lr_himehabu/hognose/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." diff --git a/code/modules/cargo/packs/weapon_attachments.dm b/code/modules/cargo/packs/weapon_attachments.dm index 15b541778346..8180f593e135 100644 --- a/code/modules/cargo/packs/weapon_attachments.dm +++ b/code/modules/cargo/packs/weapon_attachments.dm @@ -38,6 +38,15 @@ faction_discount = 0 faction_locked = TRUE +/datum/supply_pack/attachment/alof + name = "Alof Tube Crate" + desc = "Contains an antiquated spring operated magazine attachment for the HP Beacon. Has a capacity of three rounds." + cost = 1000 + contains = list(/obj/item/attachment/alof) + crate_name = "alof crate" + faction = /datum/faction/srm + faction_discount = 10 + /datum/supply_pack/attachment/silencer name = "Suppressor Crate" desc = "Contains a single suppressor to be mounted on a firearm." @@ -68,30 +77,37 @@ /datum/supply_pack/attachment/shotgun name = "Underbarrel Shotgun Crate" - desc = "Contains a single shot underbarrel shotgun to be mounted on a firearm." - cost = 750 - contains = list(/obj/item/attachment/gun/ballistic/shotgun) + desc = "Contains a two shot underbarrel pump shotgun to be mounted on a firearm." + cost = 1200 + contains = list(/obj/item/storage/guncase/underbarrel_shotgun) crate_name = "underbarrel shotgun crate" +/datum/supply_pack/attachment/hognose + name = "Underbarrel Hognose Crate" + desc = "Contains an eight shot underbarrel 22lr pistol to be mounted on a firearm." + cost = 500 + contains = list(/obj/item/storage/guncase/underbarrel_hognose) + crate_name = "underbarrel hognose crate" + /datum/supply_pack/attachment/flamethrower name = "Underbarrel Flamethrower Crate" desc = "Contains a compact underbarrel flamethrower to be mounted on a firearm." cost = 750 - contains = list(/obj/item/attachment/gun/flamethrower) + contains = list(/obj/item/storage/guncase/underbarrel_flamethrower) crate_name = "underbarrel flamethrower crate" /datum/supply_pack/attachment/e_gun name = "Underbarrel Energy Gun Crate" desc = "Contains an underbarrel energy gun to be mounted on a firearm." cost = 750 - contains = list(/obj/item/attachment/gun/energy/e_gun) + contains = list(/obj/item/storage/guncase/energy/underbarrel_e_gun) crate_name = "underbarrel energy gun crate" /datum/supply_pack/attachment/riot_launcher name = "Underbarrel Riot Grenade Launcher Crate" desc = "Contains a single shot underbarrel riot grenade launcher to be mounted on a firearm." cost = 750 - contains = list(/obj/item/attachment/gun/riot) + contains = list(/obj/item/storage/guncase/underbarrel_riot_grenade) crate_name = "underbarrel riot grenade launcher crate" /datum/supply_pack/attachment/flare diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index c0af36bc9f33..cf03eaa86210 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -681,6 +681,25 @@ I.unique_action(src) update_inv_hands() +/mob/verb/do_secondary_action() + set name = "Do Secondary Action" + set category = "Object" + set src = usr + + if(ismecha(loc)) + return + + if(incapacitated()) + return + + var/obj/item/I = get_active_held_item() + if(I) + if(I.pre_secondary_action(src)) + update_inv_hands() + return + I.secondary_action(src) + update_inv_hands() + /** * Get the notes of this mob * diff --git a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm index 5fb5a594d452..3eb67eff0b30 100644 --- a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm @@ -64,7 +64,7 @@ /obj/item/ammo_box/magazine/internal/shot/underbarrel name = "underbarrel shotgun internal magazine" ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 1 + max_ammo = 2 start_empty = TRUE /obj/item/ammo_box/magazine/internal/shot/sex diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index faf596a7d42e..2a9e975bc158 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -268,8 +268,12 @@ /* * Attachment */ - ///The types of attachments allowed, a list of types. SUBTYPES OF AN ALLOWED TYPE ARE ALSO ALLOWED + ///The types of attachments allowed, a list of types. SUBTYPES OF AN ALLOWED TYPE ARE ALSO ALLOWED. var/list/valid_attachments = list() + ///The types of attachments that are unique to this gun. Adds it to the base valid_attachments list. So if this gun takes a special stock, add it here. + var/list/unique_attachments = list() + ///The types of attachments that aren't allowed. Removes it from the base valid_attachments list. + var/list/refused_attachments ///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 @@ -344,7 +348,14 @@ /obj/item/gun/ComponentInitialize() . = ..() - AddComponent(/datum/component/attachment_holder, slot_available, valid_attachments, slot_offsets, default_attachments) + var/list/attachment_list = valid_attachments + attachment_list += unique_attachments + if(refused_attachments) + for(var/to_remove in attachment_list) + if(refused_attachments.Find(to_remove)) + attachment_list -= to_remove + + AddComponent(/datum/component/attachment_holder, slot_available, attachment_list, slot_offsets, default_attachments) AddComponent(/datum/component/two_handed) /// triggered on wield of two handed item @@ -404,6 +415,9 @@ if(has_safety) . += "The safety is [safety ? "ON" : "OFF"]. Ctrl-Click to toggle the safety." + if(gun_firemodes.len > 1) + . += "You can change the [src]'s firemode by pressing the secondary action key. By default, this is Shift + Space" + if(manufacturer) . += "It has [manufacturer] engraved on it." @@ -1124,6 +1138,10 @@ for(var/datum/action/current_action as anything in actions) current_action.UpdateButtonIcon() +/obj/item/gun/secondary_action(user) + if(gun_firemodes.len > 1) + fire_select(user) + /datum/action/item_action/toggle_firemode/UpdateButtonIcon(status_only = FALSE, force = FALSE) var/obj/item/gun/our_gun = target diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index ac9567a72e50..7be3917be354 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -291,7 +291,8 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/gun/ballistic/attack_hand(mob/user) - if(user.is_holding(src) && loc == user) + // the main calls it's own eject mag before the underbarrel. fix this + if(user.is_holding(src) && loc == user && !(gun_firemodes[firemode_index] == FIREMODE_UNDERBARREL)) if(sealed_magazine) to_chat(user, span_warning("The [magazine_wording] on [src] is sealed and cannot be accessed!")) return diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 55c67c633d39..b36cc424b48f 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -54,15 +54,12 @@ ) //truly a doohickey for every occasion - valid_attachments = list( - /obj/item/attachment/silencer, - /obj/item/attachment/laser_sight, - /obj/item/attachment/rail_light, - /obj/item/attachment/bayonet, + unique_attachments = list ( /obj/item/attachment/scope, /obj/item/attachment/long_scope, /obj/item/attachment/energy_bayonet, ) + slot_available = list( ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_RAIL = 1, diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 2ebc78e60f06..a346e7193c77 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -25,6 +25,11 @@ muzzleflash_iconstate = "muzzle_flash_light" light_range = 1 + refused_attachments = list( + /obj/item/attachment/gun, + /obj/item/attachment/sling + ) + /obj/item/gun/ballistic/automatic/pistol/candor name = "\improper Candor" diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 819c32b888c1..7846bec2fe34 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -67,6 +67,8 @@ /obj/item/gun/ballistic/rifle/attackby(obj/item/A, mob/user, params) if (!bolt_locked) + if(SEND_SIGNAL(src, COMSIG_PARENT_ATTACKBY, A, user, params) & COMPONENT_NO_AFTERATTACK) + return TRUE to_chat(user, span_notice("The bolt is closed!")) return return ..() diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index faa52c29f268..6371895faa2a 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -101,15 +101,9 @@ wield_delay = 0.6 SECONDS 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/gun, + unique_attachments = list( /obj/item/attachment/foldable_stock - ) + ) slot_available = list( ATTACHMENT_SLOT_MUZZLE = 1, @@ -164,12 +158,7 @@ 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/gun, + unique_attachments = list( /obj/item/attachment/foldable_stock/inteq ) default_attachments = list(/obj/item/attachment/foldable_stock/inteq) @@ -201,12 +190,7 @@ 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/gun, + unique_attachments = list( /obj/item/attachment/foldable_stock ) default_attachments = list(/obj/item/attachment/foldable_stock) diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index a9501f4f3c7a..ee8161a33be3 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -38,15 +38,24 @@ /obj/item/attachment/rail_light, /obj/item/attachment/bayonet, /obj/item/attachment/gun, - /obj/item/attachment/sling + /obj/item/attachment/sling, ) slot_available = list( - ATTACHMENT_SLOT_RAIL = 1 + ATTACHMENT_SLOT_RAIL = 1, + ATTACHMENT_SLOT_MUZZLE = 1 ) slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 26, + "y" = 20, + ), ATTACHMENT_SLOT_RAIL = list( "x" = 19, "y" = 18, + ), + ATTACHMENT_SLOT_SCOPE = list( + "x" = 21, + "y" = 24, ) ) @@ -119,7 +128,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/gun/energy/attack_hand(mob/user) - if(!internal_magazine && loc == user && user.is_holding(src) && cell && tac_reloads) + if(!internal_magazine && loc == user && user.is_holding(src) && cell && tac_reloads && !(gun_firemodes[firemode_index] == FIREMODE_UNDERBARREL)) eject_cell(user) return return ..() diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index a38cb8e1818c..77c87142c2e5 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -107,6 +107,16 @@ ammo_x_offset = 3 manufacturer = MANUFACTURER_SHARPLITE + unique_attachments = list( + /obj/item/attachment/scope, + /obj/item/attachment/long_scope, + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1, + ATTACHMENT_SLOT_SCOPE = 1 + ) + /obj/item/ammo_casing/energy/laser/accelerator projectile_type = /obj/projectile/beam/laser/accelerator select_name = "accelerator" diff --git a/code/modules/projectiles/guns/manufacturer/eoehoma/lasers.dm b/code/modules/projectiles/guns/manufacturer/eoehoma/lasers.dm index 9b5f9777b0b9..b26562085773 100644 --- a/code/modules/projectiles/guns/manufacturer/eoehoma/lasers.dm +++ b/code/modules/projectiles/guns/manufacturer/eoehoma/lasers.dm @@ -70,6 +70,17 @@ charge_sections = 2 slot_flags = 0 + unique_attachments = list( + /obj/item/attachment/scope, + /obj/item/attachment/long_scope, + ) + + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1, + ATTACHMENT_SLOT_SCOPE = 1 + ) + /obj/item/gun/energy/disabler/e60 name = "E-60" desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." diff --git a/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm index 10a55857cf88..872abdb17884 100644 --- a/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm +++ b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm @@ -104,6 +104,11 @@ load_sound = 'sound/weapons/gun/gauss/pistol_reload.ogg' + refused_attachments = list( + /obj/item/attachment/gun, + /obj/item/attachment/sling + ) + /obj/item/ammo_casing/energy/kalix/pistol fire_sound = 'sound/weapons/gun/energy/kalixpistol.ogg' e_cost = 1250 //10 shots per cell diff --git a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm index f7d32787b6a7..f9cc8b484a29 100644 --- a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm @@ -364,6 +364,8 @@ NO_MAG_GUN_HELPER(automatic/pistol/candor/factory) /obj/item/gun/ballistic/shotgun/doublebarrel/attackby(obj/item/A, mob/user, params) if (!bolt_locked) + if(SEND_SIGNAL(src, COMSIG_PARENT_ATTACKBY, A, user, params) & COMPONENT_NO_AFTERATTACK) + return TRUE to_chat(user, "The [bolt_wording] is shut closed!") return return ..() @@ -612,12 +614,7 @@ EMPTY_GUN_HELPER(shotgun/flamingarrow/conflagration) /obj/item/ammo_box/magazine/illestren_a850r, ) - 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, + unique_attachments = list( /obj/item/attachment/scope, /obj/item/attachment/long_scope, ) @@ -693,12 +690,7 @@ EMPTY_GUN_HELPER(shotgun/flamingarrow/conflagration) wield_slowdown = RIFLE_SLOWDOWN wield_delay = 0.65 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/sling, + unique_attachments = list( /obj/item/attachment/scope, /obj/item/attachment/long_scope, ) @@ -850,15 +842,11 @@ EMPTY_GUN_HELPER(shotgun/flamingarrow) gun_firemodes = list(FIREMODE_SEMIAUTO) default_firemode = FIREMODE_SEMIAUTO - 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, + unique_attachments = list( + /obj/item/attachment/alof, /obj/item/attachment/scope, - /obj/item/attachment/long_scope, - ) + /obj/item/attachment/long_scope) + slot_available = list( ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_RAIL = 1, @@ -948,12 +936,7 @@ EMPTY_GUN_HELPER(shotgun/doublebarrel/beacon) recoil_unwielded = 4 wield_slowdown = DMR_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/sling, + unique_attachments = list( /obj/item/attachment/scope, /obj/item/attachment/long_scope, ) diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index bbf37bfa9d00..5d3f9e272052 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -1,4 +1,4 @@ -#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, /obj/item/attachment/scope, /obj/item/attachment/gun) +#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, /obj/item/attachment/scope, /obj/item/attachment/gun, /obj/item/attachment/sling) #define SCARBOROUGH_ATTACH_SLOTS list(ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_SCOPE = 1, ATTACHMENT_SLOT_RAIL = 1) //########### PISTOLS ###########// @@ -463,18 +463,15 @@ NO_MAG_GUN_HELPER(automatic/smg/cobra/indie) 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/bayonet, - /obj/item/attachment/gun, + valid_attachments = SCARBOROUGH_ATTACHMENTS + unique_attachments = list( /obj/item/attachment/foldable_stock/sidewinder ) slot_available = list( ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_RAIL = 1, - ATTACHMENT_SLOT_STOCK = 1 + ATTACHMENT_SLOT_STOCK = 1, + ATTACHMENT_SLOT_SCOPE = 1 ) slot_offsets = list( ATTACHMENT_SLOT_MUZZLE = list( @@ -488,6 +485,10 @@ NO_MAG_GUN_HELPER(automatic/smg/cobra/indie) ATTACHMENT_SLOT_STOCK = list( "x" = 17, "y" = 18, + ), + ATTACHMENT_SLOT_SCOPE = list( + "x" = 21, + "y" = 24, ) ) diff --git a/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm b/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm index 5224183f6a34..65e8c1b0d241 100644 --- a/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm +++ b/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm @@ -1,4 +1,4 @@ -#define SOLAR_ATTACHMENTS list(/obj/item/attachment/laser_sight,/obj/item/attachment/rail_light,/obj/item/attachment/bayonet,/obj/item/attachment/energy_bayonet,/obj/item/attachment/scope,/obj/item/attachment/long_scope) +#define SOLAR_ATTACHMENTS list(/obj/item/attachment/laser_sight,/obj/item/attachment/rail_light,/obj/item/attachment/bayonet,/obj/item/attachment/energy_bayonet,/obj/item/attachment/scope,/obj/item/attachment/long_scope, /obj/item/attachment/gun, /obj/item/attachment/sling) #define SOLAR_ATTACH_SLOTS list(ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_SCOPE = 1, ATTACHMENT_SLOT_RAIL = 1) ///SOLAR ARMORIES @@ -210,3 +210,4 @@ recoil_unwielded = 8 wield_slowdown = SNIPER_SLOWDOWN wield_delay = 1.3 SECONDS + diff --git a/icons/obj/guns/attachments.dmi b/icons/obj/guns/attachments.dmi index 6a396d74c98ecca15939485241dced7a04f4bdad..303ef3cd73e58ca72afa61a22f09f2979484c107 100644 GIT binary patch literal 7468 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 literal 6061 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 z Date: Thu, 13 Feb 2025 21:56:46 -0600 Subject: [PATCH 315/330] Automatic changelog generation for PR #4040 [ci skip] --- html/changelogs/AutoChangeLog-pr-4040.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4040.yml diff --git a/html/changelogs/AutoChangeLog-pr-4040.yml b/html/changelogs/AutoChangeLog-pr-4040.yml new file mode 100644 index 000000000000..8cf31e78f913 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4040.yml @@ -0,0 +1,14 @@ +author: Gristlebee +changes: + - {rscadd: 'Hognose, alof, underbarrel energy cannon'} + - {rscadd: Underbarrel guns come in cases.} + - {rscadd: Secondary actions and hotkey.} + - {rscadd: Muzzle slot for eguns} + - {balance: Pistols can no longer take underbarrel guns.} + - {balance: 'Underbarrel shotgun holds two rounds, price increased to 1200'} + - {bugfix: Fixes being unable to load underbarrel guns while gun bolts were closed.} + - {bugfix: slings being funky} + - {spellcheck: typos} + - {code_imp: 'new attachment lists, weapon_class_attachments, unique_attachments, + refused_attachments'} +delete-after: true From f7361b4af23d64800e43a9cdfbb46ddaa7464c7d Mon Sep 17 00:00:00 2001 From: ritorizo <41831966+ritorizo@users.noreply.github.com> Date: Fri, 14 Feb 2025 04:48:13 +0100 Subject: [PATCH 316/330] Plexagon ID management can assign job's from the ship's job list. (#4128) ## About The Pull Request - If a console get started on a ship it will now be able to assign an ID to any job that can be joined on the ship. - This behavior can be extended to any computer if you copy Plexagon acces management to another computer or yoink the hard drive, but you'll still need a card with proper access (including ship access) to do so. The old behavior is still present if Plexagon is not connected to any ship. ## Why It's Good For The Game Id management felt off since we were only able to assign crew to station job. With this pr we will now be able to actualy demote/promote crew. ## Changelog :cl: add: Assigning a crew to a job that comes on the ship is now possible with command consoles. :cl: --------- Co-authored-by: ritorizo --- code/controllers/subsystem/mapping.dm | 2 +- .../clothing/outfits/ert/frontiersmen_ert.dm | 1 + .../clothing/outfits/ert/minutemen_ert.dm | 1 + .../clothing/outfits/factions/independent.dm | 3 + .../clothing/outfits/factions/nanotrasen.dm | 2 + code/modules/jobs/job_types/_job.dm | 19 +++-- .../file_system/programs/card.dm | 71 +++++++++++++------ tgui/packages/tgui/interfaces/NtosCard.js | 34 ++++----- 8 files changed, 87 insertions(+), 46 deletions(-) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index ce076357c0ac..506bc9764d6a 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -240,7 +240,7 @@ SUBSYSTEM_DEF(mapping) job_slot = GLOB.name_occupations[job] slots = value else if(islist(value)) - var/datum/outfit/job_outfit = text2path(value["outfit"]) + var/datum/outfit/job/job_outfit = text2path(value["outfit"]) if(isnull(job_outfit)) stack_trace("Invalid job outfit! [value["outfit"]] on [S.name]'s config! Defaulting to assistant clothing.") job_outfit = /datum/outfit/job/assistant diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm index 26075d4a82ad..a135853a7f76 100644 --- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm +++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm @@ -1,5 +1,6 @@ /datum/outfit/job/frontiersmen/ert //most basic of grunts name = "ERT - Frontiersman Basic" + jobtype = /datum/job/officer head = /obj/item/clothing/head/beret/sec/frontier suit = /obj/item/clothing/suit/armor/vest/bulletproof diff --git a/code/modules/clothing/outfits/ert/minutemen_ert.dm b/code/modules/clothing/outfits/ert/minutemen_ert.dm index cec786d70789..b128c8a3275f 100644 --- a/code/modules/clothing/outfits/ert/minutemen_ert.dm +++ b/code/modules/clothing/outfits/ert/minutemen_ert.dm @@ -110,6 +110,7 @@ /datum/outfit/job/clip/minutemen/military_police name = "ERT - C-MM Military Police" + jobtype = /datum/job/officer id_assignment = "Military Police" job_icon = "clip_cmm3" diff --git a/code/modules/clothing/outfits/factions/independent.dm b/code/modules/clothing/outfits/factions/independent.dm index 0d5da0c6cd3b..bcdf6b5c2397 100644 --- a/code/modules/clothing/outfits/factions/independent.dm +++ b/code/modules/clothing/outfits/factions/independent.dm @@ -676,6 +676,9 @@ /datum/outfit/job/independent/bartender name = "Independent - Bartender" + job_icon = "bartender" + jobtype = /datum/job/bartender + glasses = /obj/item/clothing/glasses/sunglasses/reagent ears = /obj/item/radio/headset/headset_srv diff --git a/code/modules/clothing/outfits/factions/nanotrasen.dm b/code/modules/clothing/outfits/factions/nanotrasen.dm index c1c8e2fcc34a..6ed77b4d4561 100644 --- a/code/modules/clothing/outfits/factions/nanotrasen.dm +++ b/code/modules/clothing/outfits/factions/nanotrasen.dm @@ -476,6 +476,8 @@ /datum/outfit/job/nanotrasen/pilot name = "Nanotrasen - Pilot" id_assignment = "Pilot" + jobtype = /datum/job/head_of_personnel + uniform = /obj/item/clothing/under/rank/security/officer/military suit = /obj/item/clothing/suit/jacket/leather/duster diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index 0ac783477e79..d11f923fe273 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -28,11 +28,18 @@ ///Levels unlocked at roundstart in physiology var/list/roundstart_experience -/datum/job/New(new_name, datum/outfit/new_outfit) - if(new_name) - name = new_name - outfit = new_outfit - register() +/datum/job/New(new_name, datum/outfit/job/new_outfit) + if(!new_name) + return + + name = new_name + outfit = new_outfit + + var/datum/job/outfit_job = new new_outfit.jobtype + if(outfit_job) + access = outfit_job.get_access() + + register() /datum/job/proc/register() GLOB.occupations += src @@ -176,7 +183,7 @@ /datum/outfit/job name = "Standard Gear" - var/jobtype = null + var/datum/job/jobtype = null uniform = /obj/item/clothing/under/color/grey wallet = /obj/item/storage/wallet diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm index 74489d8b84f3..d799de629dc1 100644 --- a/code/modules/modular_computers/file_system/programs/card.dm +++ b/code/modules/modular_computers/file_system/programs/card.dm @@ -24,11 +24,27 @@ ///Which departments this computer has access to. Defined as access regions. null = all departments var/target_dept + // Can only get defined on stationary console altough you can carry it away if you yoink the hard drive or copy the file + var/datum/overmap/ship/controlled/ship + //For some reason everything was exploding if this was static. var/list/sub_managers COOLDOWN_DECLARE(silicon_access_print_cooldown) +/datum/computer_file/program/card_mod/run_program(mob/living/user) + . = ..() + if (!.) + return 0 + if (computer.req_ship_access && !ship) + ship = SSshuttle.get_ship(computer) // get it once and never again + return 1 + +/datum/computer_file/program/card_mod/clone() + var/datum/computer_file/program/card_mod/temp = ..() + temp.ship = ship + return temp + /datum/computer_file/program/card_mod/New(obj/item/modular_computer/comp) . = ..() sub_managers = list( @@ -63,10 +79,8 @@ if(!id_card) return - if (computer.req_ship_access) - var/datum/overmap/ship/controlled/ship = SSshuttle.get_ship(computer) - if (ship?.unique_ship_access && !(id_card?.has_ship_access(SSshuttle.get_ship(computer)))) - return FALSE + if (ship?.unique_ship_access && !(id_card?.has_ship_access(ship))) + return FALSE region_access = list() if(!target_dept && (ACCESS_CHANGE_IDS in id_card.access)) @@ -75,14 +89,11 @@ update_static_data(user) return TRUE - var/list/head_types = list() for(var/access_text in sub_managers) var/list/info = sub_managers[access_text] var/access = text2num(access_text) if((access in id_card.access) && ((info["region"] in target_dept) || !length(target_dept))) region_access += info["region"] - //I don't even know what I'm doing anymore - head_types += info["head"] if(length(region_access)) minor = TRUE @@ -169,6 +180,7 @@ id_card.access -= get_all_centcom_access() + get_all_accesses() id_card.assignment = "Unassigned" id_card.update_label() + SEND_SIGNAL(id_card, COSMIG_ACCESS_UPDATED) playsound(computer, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) return TRUE if("PRG_edit") @@ -180,6 +192,7 @@ id_card.registered_name = new_name id_card.update_label() id_card.update_appearance() + SEND_SIGNAL(id_card, COSMIG_ACCESS_UPDATED) playsound(computer, "terminal_type", 50, FALSE) return TRUE if("PRG_assign") @@ -200,6 +213,11 @@ var/list/new_access = list() if(is_centcom) new_access = get_centcom_access(target) + else if(ship) + for (var/datum/job/J in ship.job_slots) + if(J.name == target) + new_access = J.get_access() + break else var/datum/job/job for(var/jobtype in subtypesof(/datum/job)) @@ -215,6 +233,7 @@ id_card.access |= new_access id_card.assignment = target id_card.update_label() + SEND_SIGNAL(id_card, COSMIG_ACCESS_UPDATED) playsound(computer, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) return TRUE if("PRG_access") @@ -226,41 +245,39 @@ id_card.access -= access_type else id_card.access |= access_type + SEND_SIGNAL(id_card, COSMIG_ACCESS_UPDATED) playsound(computer, "terminal_type", 50, FALSE) return TRUE if ( "PRG_grantship" ) - if(!computer || !authenticated || !computer.req_ship_access) // Only stationary computers can grant ship access. Prevents funny tablet exploits + if(!computer || !authenticated || !ship) return - id_card.add_ship_access(SSshuttle.get_ship(computer)) + id_card.add_ship_access(ship) playsound(computer, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) return TRUE if ( "PRG_denyship" ) - if(!computer || !authenticated || !computer.req_ship_access) + if(!computer || !authenticated || !ship) return - id_card.remove_ship_access(SSshuttle.get_ship(computer)) + id_card.remove_ship_access(ship) playsound(computer, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) return TRUE if ( "PRG_enableuniqueaccess" ) - if(!computer || !authenticated || !computer.req_ship_access) + if(!computer || !authenticated || !ship) return - var/datum/overmap/ship/controlled/ship = SSshuttle.get_ship(computer) - ship?.unique_ship_access = TRUE + ship.unique_ship_access = TRUE playsound(computer, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) return TRUE if ( "PRG_disableuniqueaccess" ) - if(!computer || !authenticated || !computer.req_ship_access) + if(!computer || !authenticated || !ship) return - var/datum/overmap/ship/controlled/ship = SSshuttle.get_ship(computer) - ship?.unique_ship_access = FALSE + ship.unique_ship_access = FALSE playsound(computer, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) return TRUE if ( "PRG_printsiliconaccess" ) - if(!computer || !authenticated || !computer.req_ship_access) + if(!computer || !authenticated || !ship) return if(!COOLDOWN_FINISHED(src, silicon_access_print_cooldown)) computer.say("Printer unavailable. Please allow a short time before attempting to print.") return - var/datum/overmap/ship/controlled/ship = SSshuttle.get_ship(computer) if (ship) var/obj/item/borg/upgrade/ship_access_chip/chip = new(get_turf(computer)) chip.ship = ship @@ -271,12 +288,14 @@ if(!computer || !authenticated || minor) return id_card.access |= (is_centcom ? get_all_centcom_access() : get_all_accesses()) + SEND_SIGNAL(src, COSMIG_ACCESS_UPDATED) playsound(computer, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) return TRUE if("PRG_denyall") if(!computer || !authenticated || minor) return id_card.access.Cut() + SEND_SIGNAL(src, COSMIG_ACCESS_UPDATED) playsound(computer, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) return TRUE if("PRG_grantregion") @@ -286,6 +305,7 @@ if(isnull(region)) return id_card.access |= get_region_accesses(region) + SEND_SIGNAL(src, COSMIG_ACCESS_UPDATED) playsound(computer, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) return TRUE if("PRG_denyregion") @@ -295,6 +315,7 @@ if(isnull(region)) return id_card.access -= get_region_accesses(region) + SEND_SIGNAL(src, COSMIG_ACCESS_UPDATED) playsound(computer, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) return TRUE @@ -309,6 +330,11 @@ var/list/departments = target_dept if(is_centcom) departments = list("CentCom" = get_all_centcom_jobs()) + else if(ship) + var/jobs = list() + for (var/datum/job/job in ship.job_slots) + jobs += job.name + departments = list("Jobs" = jobs) else if(isnull(departments)) departments = list( CARDCON_DEPARTMENT_COMMAND = list("Captain"),//lol @@ -325,7 +351,7 @@ var/list/department_jobs = list() for(var/job in job_list) if(minor) - continue + break department_jobs += list(list( "display_name" = replacetext(job, " ", " "), "job" = job @@ -386,11 +412,10 @@ data["id_owner"] = id_card.registered_name ? id_card.registered_name : "-----" data["access_on_card"] = id_card.access - data[ "req_ship_access" ] = computer.req_ship_access // Only stationary computers can grant ship access. Prevents funny tablet exploits if (id_card) - data[ "id_has_ship_access" ] = id_card.has_ship_access(SSshuttle.get_ship(computer)) - var/datum/overmap/ship/controlled/ship = SSshuttle.get_ship(computer) + data[ "id_has_ship_access" ] = id_card.has_ship_access(ship) if (ship) + data[ "has_ship" ] = 1 data[ "ship_has_unique_access" ] = ship.unique_ship_access return data diff --git a/tgui/packages/tgui/interfaces/NtosCard.js b/tgui/packages/tgui/interfaces/NtosCard.js index b68d9383dcb8..8aa18480c106 100644 --- a/tgui/packages/tgui/interfaces/NtosCard.js +++ b/tgui/packages/tgui/interfaces/NtosCard.js @@ -35,7 +35,7 @@ export const NtosCardContent = (props, context) => { have_printer, have_id_slot, id_name, - req_ship_access, + has_ship, id_has_ship_access, ship_has_unique_access, } = data; @@ -111,7 +111,7 @@ export const NtosCardContent = (props, context) => { {tab === 1 && ( <> - {req_ship_access === 1 && ( + {has_ship === 1 && (

    { } /> - - - {Object.keys(jobs).map((department) => ( - setSelectedDepartment(department)} - > - {department} - - ))} - - + {Object.keys(jobs).length > 1 && ( + + + {Object.keys(jobs).map((department) => ( + setSelectedDepartment(department)} + > + {department} + + ))} + + + )} {departmentJobs.map((job) => (
    )} - {tab === 3 && req_ship_access === 1 && ( + {tab === 3 && has_ship === 1 && ( <>
    Date: Thu, 13 Feb 2025 21:48:45 -0600 Subject: [PATCH 317/330] You can dry seaweed into Seaweed Sheets + Sushi recipe stuff (#4127) ## About The Pull Request Seaweed from Beach worlds now dries into the existing Seaweed Sheet item and seaweed takes seaweed sheets instead of normal seaweed. Also adds soy sauce to the condiments crate. ## Why It's Good For The Game Raw-ass slimy seaweed in sushi sounds fucking disgusting. This will be big for Cybersun lesbian feasts. ## Changelog :cl: add: You can now dry seaweed into seaweed sheets add: Sushi now takes seaweed sheets add: Soy sauce added to the condiments crate /:cl: --------- Co-authored-by: github-actions --- code/modules/cargo/packs/food.dm | 3 ++- .../food_and_drinks/recipes/tablecraft/recipes_egg.dm | 2 +- .../food_and_drinks/recipes/tablecraft/recipes_meat.dm | 6 +++--- .../food_and_drinks/recipes/tablecraft/recipes_misc.dm | 4 ++-- code/modules/hydroponics/grown/misc.dm | 1 + 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/code/modules/cargo/packs/food.dm b/code/modules/cargo/packs/food.dm index a2021e576d6f..c7e57045509a 100644 --- a/code/modules/cargo/packs/food.dm +++ b/code/modules/cargo/packs/food.dm @@ -88,7 +88,8 @@ /obj/item/reagent_containers/condiment/hotsauce, /obj/item/reagent_containers/food/drinks/bottle/cream, /obj/item/reagent_containers/condiment/mayonnaise, - /obj/item/reagent_containers/condiment/bbqsauce) + /obj/item/reagent_containers/condiment/bbqsauce, + /obj/item/reagent_containers/condiment/soysauce) crate_name = "condiments crate" crate_type = /obj/structure/closet/crate/freezer 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 a4ab818fdd6f..425202d27703 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm @@ -55,7 +55,7 @@ /datum/crafting_recipe/food/eggrolls name = "Eggrolls" reqs = list( - /obj/item/reagent_containers/food/snacks/grown/seaweed = 1, + /obj/item/reagent_containers/food/snacks/grown/seaweed/sheet = 1, /obj/item/reagent_containers/food/snacks/salad/boiledrice = 1, /obj/item/reagent_containers/food/snacks/friedegg = 1 ) 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 ade14f27241e..bf649f975d2b 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm @@ -85,7 +85,7 @@ /datum/crafting_recipe/food/spicyfiletsushiroll name = "Spicy sushi roll" reqs = list( - /obj/item/reagent_containers/food/snacks/grown/seaweed = 1, + /obj/item/reagent_containers/food/snacks/grown/seaweed/sheet = 1, /obj/item/reagent_containers/food/snacks/salad/boiledrice = 1, /obj/item/reagent_containers/food/snacks/fishmeat = 1, /obj/item/reagent_containers/food/snacks/grown/chili = 1, @@ -97,7 +97,7 @@ /datum/crafting_recipe/food/fishi name = "Fi-shi roll" reqs = list( - /obj/item/reagent_containers/food/snacks/grown/seaweed = 8, + /obj/item/reagent_containers/food/snacks/grown/seaweed/sheet = 8, /obj/item/reagent_containers/food/snacks/fishmeat/carp = 4 ) result = /obj/item/reagent_containers/food/snacks/fishi @@ -106,7 +106,7 @@ /datum/crafting_recipe/food/nigiri_sushi name = "Nigiri sushi" reqs = list( - /obj/item/reagent_containers/food/snacks/grown/seaweed = 1, + /obj/item/reagent_containers/food/snacks/grown/seaweed/sheet = 1, /obj/item/reagent_containers/food/snacks/salad/boiledrice = 1, /obj/item/reagent_containers/food/snacks/fishmeat = 1, /datum/reagent/consumable/soysauce = 2 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 1eb1d255c340..40eed256e8d7 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm @@ -358,7 +358,7 @@ /datum/crafting_recipe/food/vegetariansushiroll name = "Vegetarian sushi roll" reqs = list( - /obj/item/reagent_containers/food/snacks/grown/seaweed = 1, + /obj/item/reagent_containers/food/snacks/grown/seaweed/sheet = 1, /obj/item/reagent_containers/food/snacks/salad/boiledrice = 1, /obj/item/reagent_containers/food/snacks/grown/carrot = 1, /obj/item/reagent_containers/food/snacks/grown/potato = 1 @@ -369,7 +369,7 @@ /datum/crafting_recipe/food/onigiri name = "Onigiri" reqs = list( - /obj/item/reagent_containers/food/snacks/grown/seaweed = 1, + /obj/item/reagent_containers/food/snacks/grown/seaweed/sheet = 1, /obj/item/reagent_containers/food/snacks/salad/boiledrice = 1 ) result = /obj/item/reagent_containers/food/snacks/onigiri diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index be34ef0ec425..bb43f54c10b4 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -265,6 +265,7 @@ /obj/item/reagent_containers/food/snacks/grown/seaweed seed = /obj/item/seeds/seaweed name = "seaweed" + dried_type = /obj/item/reagent_containers/food/snacks/grown/seaweed/sheet desc = "It's so rubbery... is this safe to eat?" icon_state = "seaweed" filling_color = "#4a7244" From a1f9fabf445a47f9bc1ea3435aa47a7e184a73cf Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 13 Feb 2025 22:12:28 -0600 Subject: [PATCH 318/330] Automatic changelog generation for PR #4127 [ci skip] --- html/changelogs/AutoChangeLog-pr-4127.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4127.yml diff --git a/html/changelogs/AutoChangeLog-pr-4127.yml b/html/changelogs/AutoChangeLog-pr-4127.yml new file mode 100644 index 000000000000..3c2a6f088717 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4127.yml @@ -0,0 +1,6 @@ +author: generalthrax +changes: + - {rscadd: You can now dry seaweed into seaweed sheets} + - {rscadd: Sushi now takes seaweed sheets} + - {rscadd: Soy sauce added to the condiments crate} +delete-after: true From b0b819a1f563873b9025ec5a3b29e49590a3d6f7 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Thu, 13 Feb 2025 22:55:13 -0500 Subject: [PATCH 319/330] Change Mob Neutering (#4149) ## About The Pull Request changes simplehuman drop neutering to support a prob chance instead of being binary y/n ## Changelog :cl: code: neutered var on .../hostile/human removed in favor of weapon_drop_chance balance: default chance of a simple human dropping their gun is now 30% /:cl: --- .../hostile/human/frontiersman.dm | 34 +++++++++---------- .../simple_animal/hostile/human/human.dm | 19 +++++++---- 2 files changed, 30 insertions(+), 23 deletions(-) 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 f7c3099a48ce..4aa2ab1f62d3 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm @@ -38,10 +38,10 @@ mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/internals /mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/surgeon name = "Frontiersman Sawbones" @@ -61,7 +61,7 @@ armor_base = /obj/item/clothing/suit/frontiersmen /mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/neuter - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals icon_state = "frontiersmansurgeon_mask" @@ -69,7 +69,7 @@ mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/surgeon/internals /mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/mosin name = "Frontiersman Sharpshot" @@ -86,10 +86,10 @@ mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/internals /mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/mosin/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper name = "Frontiersman Doorkicker" @@ -111,10 +111,10 @@ minbodytemp = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame name = "Frontiersman Scorcher" @@ -144,7 +144,7 @@ ranged_cooldown = world.time + ranged_cooldown_time /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame/neuter - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm name = "Frontiersman Gunner" @@ -164,10 +164,10 @@ r_hand = /obj/item/gun/ballistic/automatic/assault/skm /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/neutured - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle name = "Frontiersman Crackshot" @@ -184,10 +184,10 @@ mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/internals /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy name = "Frontiersman Sweeper" @@ -208,10 +208,10 @@ mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/internals /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/internals/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/officer name = "Frontiersman Boss" @@ -234,7 +234,7 @@ mob_spawner = /obj/effect/mob_spawn/human/corpse/frontier/ranged/officer/internals /mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals/neutered - neutered = TRUE + weapon_drop_chance = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/officer/neutured - neutered = TRUE + weapon_drop_chance = 0 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 be8fa6b005df..c39d5f8188d9 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/human.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/human.dm @@ -46,8 +46,8 @@ var/r_hand /// Path of the left hand held item we give to the mob's visuals. var/l_hand - // If we drop l and r hand loot - var/neutered = FALSE + // Prob of us dropping l/r hand loot. + var/weapon_drop_chance = 30 ///Steals the armor datum from this type of armor var/obj/item/clothing/armor_base @@ -75,10 +75,17 @@ return if(mob_spawner) new mob_spawner(loc) - if(r_hand && !neutered) - new r_hand(loc) - if(l_hand && !neutered) - new r_hand(loc) + if(r_hand && weapon_drop_chance) + if(prob(weapon_drop_chance)) + new r_hand(loc) + else + visible_message(span_danger("[src]'s [r_hand] is destroyed as they collapse!")) + if(l_hand && weapon_drop_chance) + if(prob(weapon_drop_chance)) + new l_hand(loc) + else + visible_message(span_danger("[src]'s [l_hand] is destroyed as they collapse!")) + /mob/living/simple_animal/hostile/human/vv_edit_var(var_name, var_value) switch(var_name) From 9c9cb70b076afef4ee3e26b38cfcbf3baddee57e Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 13 Feb 2025 22:33:19 -0600 Subject: [PATCH 320/330] Automatic changelog generation for PR #4149 [ci skip] --- html/changelogs/AutoChangeLog-pr-4149.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4149.yml diff --git a/html/changelogs/AutoChangeLog-pr-4149.yml b/html/changelogs/AutoChangeLog-pr-4149.yml new file mode 100644 index 000000000000..f886ee4548e2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4149.yml @@ -0,0 +1,5 @@ +author: Erikafox +changes: + - {code_imp: neutered var on .../hostile/human removed in favor of weapon_drop_chance} + - {balance: default chance of a simple human dropping their gun is now 30%} +delete-after: true From 36133924c4906b763b2c6e220318fad0baf74b3d Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 14 Feb 2025 01:10:07 -0500 Subject: [PATCH 321/330] hardsuit.dm update (#4169) There's a couple really egregiously bad typepaths for hardsuits in hardsuit.dm. and some softsuits. This repaths the hards and moves the softs ## Why It's Good For The Game cleaner code ## Changelog :cl: code: repathed indie sec, indie mining, inteq plain hardsuits /:cl: --- _maps/shuttles/inteq/inteq_colossus.dmm | 10 +- _maps/shuttles/inteq/inteq_talos.dmm | 6 +- _maps/shuttles/inteq/inteq_valor.dmm | 6 +- _maps/shuttles/inteq/inteq_vaquero.dmm | 4 +- code/modules/cargo/packs/spacesuits.dm | 2 +- code/modules/clothing/spacesuits/hardsuit.dm | 125 +----------------- code/modules/clothing/spacesuits/softsuit.dm | 109 +++++++++++++++ shiptest.dme | 1 + .../Scripts/4169_hardsuit_typepaths.txt | 1 + 9 files changed, 132 insertions(+), 132 deletions(-) create mode 100644 code/modules/clothing/spacesuits/softsuit.dm create mode 100644 tools/UpdatePaths/Scripts/4169_hardsuit_typepaths.txt diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm index 35c4b7749564..81493fb179bb 100644 --- a/_maps/shuttles/inteq/inteq_colossus.dmm +++ b/_maps/shuttles/inteq/inteq_colossus.dmm @@ -1141,7 +1141,7 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) @@ -1300,7 +1300,7 @@ /obj/structure/sign/poster/contraband/twelve_gauge{ pixel_x = 32 }, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) @@ -2570,7 +2570,7 @@ dir = 8 }, /obj/machinery/airalarm/directional/west, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) @@ -2726,7 +2726,7 @@ dir = 8 }, /obj/machinery/light/directional/west, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) @@ -3248,7 +3248,7 @@ dir = 4 }, /obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/tank/jetpack/oxygen, /obj/machinery/light/directional/west, /obj/effect/turf_decal/corner/opaque/yellow{ diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm index c7e33c4a8008..36da8568561a 100644 --- a/_maps/shuttles/inteq/inteq_talos.dmm +++ b/_maps/shuttles/inteq/inteq_talos.dmm @@ -2572,7 +2572,7 @@ /obj/machinery/suit_storage_unit/inherit{ req_access_txt = "1" }, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/tank/jetpack/oxygen, /obj/effect/turf_decal/corner/opaque/brown{ dir = 8 @@ -6271,7 +6271,7 @@ /obj/machinery/suit_storage_unit/inherit{ req_access_txt = "1" }, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/tank/jetpack/oxygen, /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable{ @@ -7488,7 +7488,7 @@ /obj/machinery/suit_storage_unit/inherit{ req_access_txt = "1" }, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/tank/jetpack/oxygen, /obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index 36ded4d532b6..7f8fc2e41635 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -185,7 +185,7 @@ /area/ship/hallway/central) "bS" = ( /obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/clothing/mask/gas/inteq, /turf/open/floor/carpet/orange, /area/ship/bridge) @@ -1242,7 +1242,7 @@ pixel_y = 28 }, /obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/dark, /area/ship/security) @@ -5219,7 +5219,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/machinery/light/small/directional/north, /obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/dark, /area/ship/security) diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index 135687911c7f..2173ba29522a 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -3111,7 +3111,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/tank/jetpack/oxygen, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable{ @@ -3292,7 +3292,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/suit/space/hardsuit/security/inteq, /obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security) diff --git a/code/modules/cargo/packs/spacesuits.dm b/code/modules/cargo/packs/spacesuits.dm index 4323ce5486e8..6c2d5f3fe323 100644 --- a/code/modules/cargo/packs/spacesuits.dm +++ b/code/modules/cargo/packs/spacesuits.dm @@ -238,7 +238,7 @@ name = "Inteq Hardsuit Crate" desc = "A bulky Mothership-native design with a monocular viewport. The Inteq Hardsuit provides decent protection and combat manueverability for members of IRMG." cost = 3000 - contains = list(/obj/item/clothing/suit/space/hardsuit/security/independent/inteq) + contains = list(/obj/item/clothing/suit/space/hardsuit/security/inteq) crate_name = "inteq hardsuit crate" crate_type = /obj/structure/closet/crate/secure/gear faction = /datum/faction/inteq diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 23b6017a94dc..a8b7f9268558 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -626,7 +626,7 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION - //Security hardsuit +//Security hardsuit /obj/item/clothing/head/helmet/space/hardsuit/security name = "security hardsuit helmet" desc = "A special helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." @@ -635,7 +635,6 @@ hardsuit_type = "sec" armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) - /obj/item/clothing/suit/space/hardsuit/security icon_state = "hardsuit-sec" name = "security hardsuit" @@ -650,7 +649,7 @@ . = ..() allowed = GLOB.security_hardsuit_allowed - //Head of Security hardsuit +//Head of Security hardsuit /obj/item/clothing/head/helmet/space/hardsuit/security/hos name = "heavy security hardsuit helmet" desc = "A special bulky helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." @@ -658,7 +657,6 @@ hardsuit_type = "hos" armor = list("melee" = 50, "bullet" = 45, "laser" = 40, "energy" = 40, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 95, "acid" = 95) - /obj/item/clothing/suit/space/hardsuit/security/hos icon_state = "hardsuit-hos" name = "heavy security hardsuit" @@ -1022,7 +1020,7 @@ armor = list("melee" = 35, "bullet" = 25, "laser" = 20, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) supports_variations = VOX_VARIATION | DIGITIGRADE_VARIATION - //Mining +//Mining /obj/item/clothing/head/helmet/space/hardsuit/mining/independent name = "mining hardsuit helmet" desc = "An inexpensive helmet designed for work in hazardous, low pressure environments. Its open cage design provides excellent visibility." @@ -1040,118 +1038,10 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining/independent armor = list("melee" = 30, "bullet" = 10, "laser" = 5, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 75) - //Engineer Softsuit -/obj/item/clothing/suit/space/engineer - name = "engineering space suit" - 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" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) - pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo/large - resistance_flags = FIRE_PROOF - -/obj/item/clothing/head/helmet/space/light/engineer - name = "engineering space helmet" - icon_state = "space-independent-eng" - item_state = "space-independent-eng" - desc = "A space helmet designed for construction and salvage in hazardous, low-pressure environments, with an integral hard hat and UV-shielded visor. Has shielding against radiation and heat." - armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) - resistance_flags = FIRE_PROOF - light_color = "#FFCC66" - light_power = 0.8 - light_system = MOVABLE_LIGHT_DIRECTIONAL - light_range = 4 - light_power = 1 - light_on = FALSE - on = FALSE - - //Pilot Softsuit -/obj/item/clothing/suit/space/pilot - name = "pilot space suit" - icon_state = "space-pilot" - item_state = "space-pilot" - 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 - -/obj/item/clothing/head/helmet/space/pilot - name = "pilot helmet" - icon_state = "space-pilot-plain0" - item_state = "space-pilot-plain" - 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 - actions_types = list(/datum/action/item_action/toggle_helmet) - armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 50, "fire" = 80, "acid" = 70) - visor_flags_inv = HIDEMASK - visor_flags = STOPSPRESSUREDAMAGE | ALLOWINTERNALS - -/obj/item/clothing/head/helmet/space/pilot/update_icon_state() - icon_state = "space-pilot-[skin][up]" - return ..() - -/obj/item/clothing/head/helmet/space/pilot/New() - ..() - switch(skin) - if("plain") - blurb = " Its simple design is quite ancient." - if("shark") - blurb = " It bears a classic shark mouth decoration on both cheeks." - if("checker") - blurb = " A bold checker stripe runs over the top of the helmet." - if("ace") - blurb = " A large ace of spades decorates the back of the helmet." - if("mobius") - blurb = " There is an unusual blue ribbon painted on the back. Something about it is strangely inspiring." - if("viper") - blurb = " It bears a menacing orange \"V\" on the brow. Somebody has scratched \"Speed is life\" inside the helmet." - if("luke") - blurb = " Strange red trefoils are painted on either side of the helmet. Wearing it gives you a headache." - 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 exosuit and shuttle pilots. Offers limited impact protection.[blurb]" - update_icon_state() - -/obj/item/clothing/head/helmet/space/pilot/random/New() - skin = pick(40;"plain", 20;"shark", 20;"checker", 20;"ace", 5;"mobius", 5;"viper", 5;"luke", 5;"corvid",) - ..() - -/obj/item/clothing/head/helmet/space/pilot/attack_self(mob/user) //pilot helmet toggle - if(!isturf(user.loc)) - to_chat(user, "You cannot toggle your helmet while in this [user.loc]!" ) - return - up = !up - if(!up || force) - to_chat(user, "You close your helmet's visor and breathing mask.") - gas_transfer_coefficient = initial(gas_transfer_coefficient) - permeability_coefficient = initial(permeability_coefficient) - clothing_flags |= visor_flags - flags_cover |= HEADCOVERSEYES | HEADCOVERSMOUTH - flags_inv |= visor_flags_inv - cold_protection |= HEAD - else - to_chat(user, "You open your helmet's visor and breathing mask.") - gas_transfer_coefficient = null - permeability_coefficient = null - clothing_flags &= ~visor_flags - flags_cover &= ~(HEADCOVERSEYES | HEADCOVERSMOUTH) - flags_inv &= ~visor_flags_inv - cold_protection &= ~HEAD - update_appearance() - playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, TRUE) - user.update_inv_head() - if(iscarbon(user)) - var/mob/living/carbon/C = user - C.head_update(src, forced = 1) - for(var/X in actions) - var/datum/action/A = X - A.UpdateButtonIcon() //Inteq Hardsuit -/obj/item/clothing/head/helmet/space/hardsuit/security/independent/inteq //i fucking hate this typepath + +/obj/item/clothing/head/helmet/space/hardsuit/security/inteq name = "inteq hardsuit helmet" desc = "A somewhat boxy, monocular visored helmet designed for hazardous, low pressure environments. It has the letters 'IRMG' imprinted onto the earpad." icon_state = "hardsuit0-inteq" @@ -1159,14 +1049,13 @@ hardsuit_type = "inteq" armor = list("melee" = 40, "bullet" = 35, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq //this one too. you know you can just redeclare variables and have shorter paths right? Fucking hardsuit/security/indepentent/inteq how about just /hardsuit/inteq did you ever think about that huh??? +/obj/item/clothing/suit/space/hardsuit/security/inteq name = "inteq hardsuit" desc = "A heavy-duty looking suit that protects against hazardous, low pressure environments. It's bulk provides ample protection, if not a bit cumbersome to wear." icon_state = "hardsuit-inteq" item_state = "hardsuit-inteq" hardsuit_type = "inteq" - - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/independent/inteq + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/inteq supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION armor = list("melee" = 40, "bullet" = 35, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) diff --git a/code/modules/clothing/spacesuits/softsuit.dm b/code/modules/clothing/spacesuits/softsuit.dm new file mode 100644 index 000000000000..45b308e5ad0a --- /dev/null +++ b/code/modules/clothing/spacesuits/softsuit.dm @@ -0,0 +1,109 @@ +//Engineer Softsuit +/obj/item/clothing/suit/space/engineer + name = "engineering space suit" + 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" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) + pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo/large + resistance_flags = FIRE_PROOF + +/obj/item/clothing/head/helmet/space/light/engineer + name = "engineering space helmet" + icon_state = "space-independent-eng" + item_state = "space-independent-eng" + desc = "A space helmet designed for construction and salvage in hazardous, low-pressure environments, with an integral hard hat and UV-shielded visor. Has shielding against radiation and heat." + armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) + resistance_flags = FIRE_PROOF + light_color = "#FFCC66" + light_power = 0.8 + light_system = MOVABLE_LIGHT_DIRECTIONAL + light_range = 4 + light_power = 1 + light_on = FALSE + on = FALSE + +//Pilot Softsuit +/obj/item/clothing/suit/space/pilot + name = "pilot space suit" + icon_state = "space-pilot" + item_state = "space-pilot" + 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 + +/obj/item/clothing/head/helmet/space/pilot + name = "pilot helmet" + icon_state = "space-pilot-plain0" + item_state = "space-pilot-plain" + 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 + actions_types = list(/datum/action/item_action/toggle_helmet) + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 50, "fire" = 80, "acid" = 70) + visor_flags_inv = HIDEMASK + visor_flags = STOPSPRESSUREDAMAGE | ALLOWINTERNALS + +/obj/item/clothing/head/helmet/space/pilot/update_icon_state() + icon_state = "space-pilot-[skin][up]" + return ..() + +/obj/item/clothing/head/helmet/space/pilot/New() + ..() + switch(skin) + if("plain") + blurb = " Its simple design is quite ancient." + if("shark") + blurb = " It bears a classic shark mouth decoration on both cheeks." + if("checker") + blurb = " A bold checker stripe runs over the top of the helmet." + if("ace") + blurb = " A large ace of spades decorates the back of the helmet." + if("mobius") + blurb = " There is an unusual blue ribbon painted on the back. Something about it is strangely inspiring." + if("viper") + blurb = " It bears a menacing orange \"V\" on the brow. Somebody has scratched \"Speed is life\" inside the helmet." + if("luke") + blurb = " Strange red trefoils are painted on either side of the helmet. Wearing it gives you a headache." + 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 exosuit and shuttle pilots. Offers limited impact protection.[blurb]" + update_icon_state() + +/obj/item/clothing/head/helmet/space/pilot/random/New() + skin = pick(40;"plain", 20;"shark", 20;"checker", 20;"ace", 5;"mobius", 5;"viper", 5;"luke", 5;"corvid",) + ..() + +/obj/item/clothing/head/helmet/space/pilot/attack_self(mob/user) //pilot helmet toggle + if(!isturf(user.loc)) + to_chat(user, "You cannot toggle your helmet while in this [user.loc]!" ) + return + up = !up + if(!up || force) + to_chat(user, "You close your helmet's visor and breathing mask.") + gas_transfer_coefficient = initial(gas_transfer_coefficient) + permeability_coefficient = initial(permeability_coefficient) + clothing_flags |= visor_flags + flags_cover |= HEADCOVERSEYES | HEADCOVERSMOUTH + flags_inv |= visor_flags_inv + cold_protection |= HEAD + else + to_chat(user, "You open your helmet's visor and breathing mask.") + gas_transfer_coefficient = null + permeability_coefficient = null + clothing_flags &= ~visor_flags + flags_cover &= ~(HEADCOVERSEYES | HEADCOVERSMOUTH) + flags_inv &= ~visor_flags_inv + cold_protection &= ~HEAD + update_appearance() + playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, TRUE) + user.update_inv_head() + if(iscarbon(user)) + var/mob/living/carbon/C = user + C.head_update(src, forced = 1) + for(var/X in actions) + var/datum/action/A = X + A.UpdateButtonIcon() diff --git a/shiptest.dme b/shiptest.dme index a0930be35bc1..0bd3d9ac8c35 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -2097,6 +2097,7 @@ #include "code\modules\clothing\spacesuits\hardsuit.dm" #include "code\modules\clothing\spacesuits\miscellaneous.dm" #include "code\modules\clothing\spacesuits\plasmamen.dm" +#include "code\modules\clothing\spacesuits\softsuit.dm" #include "code\modules\clothing\spacesuits\syndi.dm" #include "code\modules\clothing\suits\_suits.dm" #include "code\modules\clothing\suits\armor.dm" diff --git a/tools/UpdatePaths/Scripts/4169_hardsuit_typepaths.txt b/tools/UpdatePaths/Scripts/4169_hardsuit_typepaths.txt new file mode 100644 index 000000000000..c170c79da3e2 --- /dev/null +++ b/tools/UpdatePaths/Scripts/4169_hardsuit_typepaths.txt @@ -0,0 +1 @@ +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq :/obj/item/clothing/suit/space/hardsuit/security/inteq \ No newline at end of file From 27ec1a5c96b880c0ebb306add836331d3f029f20 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 14 Feb 2025 00:21:00 -0600 Subject: [PATCH 322/330] Automatic changelog generation for PR #4169 [ci skip] --- html/changelogs/AutoChangeLog-pr-4169.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4169.yml diff --git a/html/changelogs/AutoChangeLog-pr-4169.yml b/html/changelogs/AutoChangeLog-pr-4169.yml new file mode 100644 index 000000000000..24377e915af4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4169.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {code_imp: 'repathed indie sec, indie mining, inteq plain hardsuits'} +delete-after: true From 90c1f15883d5cf42b0ea6cf9940fd7c2493cd738 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 14 Feb 2025 06:41:11 -0500 Subject: [PATCH 323/330] fix fax naming (#4186) :cl: fix: fax machines once again tell you what ship they're on /:cl: --- code/modules/overmap/ships/controlled_ship_datum.dm | 3 +++ code/modules/paperwork/fax.dm | 3 +++ code/modules/shuttle/shuttle.dm | 3 +++ 3 files changed, 9 insertions(+) diff --git a/code/modules/overmap/ships/controlled_ship_datum.dm b/code/modules/overmap/ships/controlled_ship_datum.dm index cdd86ae2b0b5..85f731565896 100644 --- a/code/modules/overmap/ships/controlled_ship_datum.dm +++ b/code/modules/overmap/ships/controlled_ship_datum.dm @@ -85,6 +85,9 @@ shipkey.name = "ship key ([new_name])" for(var/area/shuttle_area as anything in shuttle_port?.shuttle_areas) shuttle_area.rename_area("[new_name] [initial(shuttle_area.name)]") + for(var/datum/weakref/stupid_fax in shuttle_port?.fax_list) + var/obj/machinery/fax/our_fax = stupid_fax.resolve() + our_fax.fax_name = "[get_area_name(our_fax)] Fax Machine" if(!force) COOLDOWN_START(src, rename_cooldown, 5 MINUTES) if(shuttle_port?.virtual_z() == null) diff --git a/code/modules/paperwork/fax.dm b/code/modules/paperwork/fax.dm index c0b137ca2300..8a5e4b390b4b 100644 --- a/code/modules/paperwork/fax.dm +++ b/code/modules/paperwork/fax.dm @@ -89,6 +89,9 @@ // Override in subtypes // no radio.on = TRUE +/obj/machinery/fax/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + port.fax_list |= WEAKREF(src) + /obj/machinery/fax/ruin visible_to_network = FALSE special_networks = list() diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 5b6e6239f6a7..ffe26d419a98 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -324,6 +324,9 @@ ///A list of all turrets currently linked to the shuttle. var/list/turret_list = list() + ///A list of all Fax Machines Linked To The Shuttle. God we have a list of all linked + var/list/fax_list = list() + ///if this shuttle can move docking ports other than the one it is docked at var/can_move_docking_ports = TRUE From e457ae45a7b186cd8f7f136dece8522f870db0e0 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Fri, 14 Feb 2025 05:41:54 -0600 Subject: [PATCH 324/330] Fixes Nanotrasen, Vigilitas, and N+S digitigrade sprites (#4072) ## About The Pull Request Fixes a pathing issue ## Why It's Good For The Game fixes good ## Changelog :cl: fix: Nanotrasen, Vigilitas, and N+S sprites should work for sarathi again /:cl: --------- Co-authored-by: github-actions --- code/modules/clothing/factions/nanotrasen.dm | 26 -------------------- 1 file changed, 26 deletions(-) diff --git a/code/modules/clothing/factions/nanotrasen.dm b/code/modules/clothing/factions/nanotrasen.dm index 9d2c8ba3899a..5c7ab2af6b64 100644 --- a/code/modules/clothing/factions/nanotrasen.dm +++ b/code/modules/clothing/factions/nanotrasen.dm @@ -18,16 +18,12 @@ 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" @@ -42,16 +38,12 @@ 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" @@ -84,16 +76,12 @@ 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" @@ -108,32 +96,24 @@ 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 @@ -192,24 +172,18 @@ 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" From 0c0157bcf5456260b7fc60ed0af1ef09126b8619 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 14 Feb 2025 05:51:59 -0600 Subject: [PATCH 325/330] Automatic changelog generation for PR #4072 [ci skip] --- html/changelogs/AutoChangeLog-pr-4072.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4072.yml diff --git a/html/changelogs/AutoChangeLog-pr-4072.yml b/html/changelogs/AutoChangeLog-pr-4072.yml new file mode 100644 index 000000000000..bef6a918db7d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4072.yml @@ -0,0 +1,4 @@ +author: generalthrax +changes: + - {bugfix: 'Nanotrasen, Vigilitas, and N+S sprites should work for sarathi again'} +delete-after: true From fa89569dd034abee4d6a7a84d2ddaabfec5107b7 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Fri, 14 Feb 2025 04:32:41 -0800 Subject: [PATCH 326/330] Mech Unique Actions (#4162) ## About The Pull Request Makes it so you can use unique actions in mechs. Currently it's used to activate mech special abilities (Gygax overload, Durand shield, etc) if the mech has any. ## Why It's Good For The Game Makes handling and piloting mechs less awkward since you can use a hotkey instead of moving your mouse to the top of the screen to use a HUD element. ## Changelog :cl: add: You can use the unique action key to activate mech abilities. /:cl: --- code/game/mecha/combat/durand.dm | 4 ++-- code/game/mecha/combat/gygax.dm | 6 ++++++ code/game/mecha/combat/phazon.dm | 3 +++ code/game/mecha/mecha.dm | 14 +++++++++++++- code/modules/mob/mob.dm | 3 ++- 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index 3e47ebe80e7c..d364fbc8d0d0 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -16,8 +16,6 @@ var/shield_type = /obj/durand_shield var/shield_passive_drain = 300 - - /obj/mecha/combat/durand/clip 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" @@ -33,6 +31,8 @@ shield = new shield_type(loc, src, layer, dir) RegisterSignal(src, COMSIG_MECHA_ACTION_ACTIVATE, PROC_REF(relay)) +/obj/mecha/combat/durand/set_up_unique_action() + mech_unique_action = defense_action /obj/mecha/combat/durand/Destroy() if(shield) diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 82a9909b130f..1500604c2f15 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -21,6 +21,9 @@ if(!strafe && !occupant.client.keys_held["Alt"]) mechstep(direction) //agile mechs get to move and turn in the same step +/obj/mecha/combat/gygax/set_up_unique_action() + mech_unique_action = overload_action + /obj/mecha/combat/gygax/dark desc = "A light combat exosuit manufactured by Cybersun Biodynamics. An exclusive variant of the 500 Series meant for use by Cybersun's own personnel and trusted parties, the 515 EX operates more efficiently in overload mode." name = "\improper 515 EX Combat Exosuit" @@ -56,6 +59,9 @@ charge_toss_structures = TRUE charge_toss_mobs = TRUE +/obj/mecha/combat/gygax/charger/set_up_unique_action() + mech_unique_action = charge_action + /obj/mecha/combat/gygax/charger/inteq name = "\improper Basenji" desc = "A light security exosuit originally manufactured by Cybersun Biodynamics, extensively modified by IRMG artificers. The leg actuators have been maxed out, allowing for powerful short ranged charges capable of breaking walls and other obstacles." diff --git a/code/game/mecha/combat/phazon.dm b/code/game/mecha/combat/phazon.dm index f1c48e8cc307..828b9c727fa1 100644 --- a/code/game/mecha/combat/phazon.dm +++ b/code/game/mecha/combat/phazon.dm @@ -17,6 +17,9 @@ max_equip = 3 phase_state = "phazon-phase" +/obj/mecha/combat/phazon/set_up_unique_action() + mech_unique_action = phasing_action + /obj/mecha/combat/phazon/GrantActions(mob/living/user, human_occupant = 0) ..() switch_damtype_action.Grant(user, src) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 9eb7bcf61914..f0bd9fe0aa1f 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -111,6 +111,9 @@ var/datum/action/innate/mecha/mech_toggle_phasing/phasing_action = new var/datum/action/innate/mecha/strafe/strafing_action = new + // for mechs with unique actions + var/datum/action/innate/mecha/mech_unique_action + //Action vars var/obj/item/mecha_parts/mecha_equipment/thrusters/active_thrusters var/defense_mode = FALSE @@ -166,6 +169,7 @@ become_hearing_sensitive(ROUNDSTART_TRAIT) update_part_values() AddComponent(/datum/component/automatic_fire_mecha,0.5) + set_up_unique_action() /obj/mecha/update_icon_state() if(silicon_pilot && silicon_icon_state) @@ -345,7 +349,8 @@ if(istype(O, /obj/item/gun)) . += "It looks like you can hit the pilot directly if you target the center or above." break //in case user is holding two guns - + if(mech_unique_action) + . += "This mech has a special action you can activate by pressing the unique action key. By default, this is space" //processing internal damage, temperature, air regulation, alert updates, lights power use. /obj/mecha/process() var/internal_temp_regulation = 1 @@ -541,6 +546,13 @@ /obj/mecha/proc/range_action(atom/target) return +/obj/mecha/proc/set_up_unique_action(mob/user) + return + +/obj/mecha/proc/handle_unique_action(mob/user) + mech_unique_action.Activate() + return + ////////////////////////////////// //////// Movement procs //////// diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index cf03eaa86210..511f1a658131 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -668,7 +668,8 @@ set src = usr if(ismecha(loc)) - return + var/obj/mecha/mech = loc + return mech.handle_unique_action(src) if(incapacitated()) return From 63b6f7296fb9551b3124242891d53839899e1666 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 14 Feb 2025 06:43:08 -0600 Subject: [PATCH 327/330] Automatic changelog generation for PR #4162 [ci skip] --- html/changelogs/AutoChangeLog-pr-4162.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4162.yml diff --git a/html/changelogs/AutoChangeLog-pr-4162.yml b/html/changelogs/AutoChangeLog-pr-4162.yml new file mode 100644 index 000000000000..54d71e09eff6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4162.yml @@ -0,0 +1,4 @@ +author: Gristlebee +changes: + - {rscadd: You can use the unique action key to activate mech abilities.} +delete-after: true From 8d65b9b1a7004b675342820229dc03d6c7917b94 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 15 Feb 2025 01:02:02 +0000 Subject: [PATCH 328/330] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4040.yml | 14 ------------- html/changelogs/AutoChangeLog-pr-4072.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4127.yml | 6 ------ html/changelogs/AutoChangeLog-pr-4149.yml | 5 ----- html/changelogs/AutoChangeLog-pr-4162.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4169.yml | 4 ---- html/changelogs/AutoChangeLog-pr-4171.yml | 4 ---- html/changelogs/archive/2025-02.yml | 25 +++++++++++++++++++++++ 8 files changed, 25 insertions(+), 41 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4040.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4072.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4127.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4149.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4162.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4169.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4171.yml diff --git a/html/changelogs/AutoChangeLog-pr-4040.yml b/html/changelogs/AutoChangeLog-pr-4040.yml deleted file mode 100644 index 8cf31e78f913..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4040.yml +++ /dev/null @@ -1,14 +0,0 @@ -author: Gristlebee -changes: - - {rscadd: 'Hognose, alof, underbarrel energy cannon'} - - {rscadd: Underbarrel guns come in cases.} - - {rscadd: Secondary actions and hotkey.} - - {rscadd: Muzzle slot for eguns} - - {balance: Pistols can no longer take underbarrel guns.} - - {balance: 'Underbarrel shotgun holds two rounds, price increased to 1200'} - - {bugfix: Fixes being unable to load underbarrel guns while gun bolts were closed.} - - {bugfix: slings being funky} - - {spellcheck: typos} - - {code_imp: 'new attachment lists, weapon_class_attachments, unique_attachments, - refused_attachments'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4072.yml b/html/changelogs/AutoChangeLog-pr-4072.yml deleted file mode 100644 index bef6a918db7d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4072.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: generalthrax -changes: - - {bugfix: 'Nanotrasen, Vigilitas, and N+S sprites should work for sarathi again'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4127.yml b/html/changelogs/AutoChangeLog-pr-4127.yml deleted file mode 100644 index 3c2a6f088717..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4127.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: generalthrax -changes: - - {rscadd: You can now dry seaweed into seaweed sheets} - - {rscadd: Sushi now takes seaweed sheets} - - {rscadd: Soy sauce added to the condiments crate} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4149.yml b/html/changelogs/AutoChangeLog-pr-4149.yml deleted file mode 100644 index f886ee4548e2..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4149.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Erikafox -changes: - - {code_imp: neutered var on .../hostile/human removed in favor of weapon_drop_chance} - - {balance: default chance of a simple human dropping their gun is now 30%} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4162.yml b/html/changelogs/AutoChangeLog-pr-4162.yml deleted file mode 100644 index 54d71e09eff6..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4162.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Gristlebee -changes: - - {rscadd: You can use the unique action key to activate mech abilities.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4169.yml b/html/changelogs/AutoChangeLog-pr-4169.yml deleted file mode 100644 index 24377e915af4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4169.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {code_imp: 'repathed indie sec, indie mining, inteq plain hardsuits'} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-4171.yml b/html/changelogs/AutoChangeLog-pr-4171.yml deleted file mode 100644 index 95485c21aa27..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4171.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: firebudgy -changes: - - {rscadd: Pouches! Now purchasable in the outpost and attachable to your pockets.} -delete-after: true diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml index f4dd21c9a215..f981c74e5cf6 100644 --- a/html/changelogs/archive/2025-02.yml +++ b/html/changelogs/archive/2025-02.yml @@ -129,3 +129,28 @@ generalthrax: - rscadd: Bathroom locks to most ship private bathrooms - rscdel: Vaquero no longer requires a bathroom pass +2025-02-15: + Erikafox: + - code_imp: neutered var on .../hostile/human removed in favor of weapon_drop_chance + - balance: default chance of a simple human dropping their gun is now 30% + - code_imp: repathed indie sec, indie mining, inteq plain hardsuits + Gristlebee: + - rscadd: Hognose, alof, underbarrel energy cannon + - rscadd: Underbarrel guns come in cases. + - rscadd: Secondary actions and hotkey. + - rscadd: Muzzle slot for eguns + - balance: Pistols can no longer take underbarrel guns. + - balance: Underbarrel shotgun holds two rounds, price increased to 1200 + - bugfix: Fixes being unable to load underbarrel guns while gun bolts were closed. + - bugfix: slings being funky + - spellcheck: typos + - code_imp: new attachment lists, weapon_class_attachments, unique_attachments, + refused_attachments + - rscadd: You can use the unique action key to activate mech abilities. + firebudgy: + - rscadd: Pouches! Now purchasable in the outpost and attachable to your pockets. + generalthrax: + - bugfix: Nanotrasen, Vigilitas, and N+S sprites should work for sarathi again + - rscadd: You can now dry seaweed into seaweed sheets + - rscadd: Sushi now takes seaweed sheets + - rscadd: Soy sauce added to the condiments crate From 2873c4d939d269cff7d730a229dee8f85fbabba6 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Fri, 14 Feb 2025 16:55:41 -0800 Subject: [PATCH 329/330] Scrapping Charges in Cargo (#4146) ## About The Pull Request Adds a C-4 duffel to cargo (10 charges at 100 a charge), at the cost of 1000 credits. C-4 itself is surprisingly not as destructive as one might think, and in the things one performs in shiptest it could be particularly useful. Breaching a wall in a ruin is a big one, or blowing open safes (did you know you could do that with C4?) C-4 is already available in a few places and even on certain military ships roundstart, so it wouldn't be too out of place. This PR also makes it so you only need one C-4 charge to blow the lock on a safe, to make them another method to bypass the lock. Three charges on what was effectively rare to find explosives just to pop open a safe was a bit much. (Refactoring was done by @FalloutFalcon, thanks Fallcon!) ## Why It's Good For The Game This adds additional gameplay options for clearing ruins, excavating, breaking open safes, and a number of other things. With a do_after to place them, a 10 second timer and a very visible overlay on items, it's hard to use them stealthily either. ## Changelog :cl: Cloudbreak, FalloutFalcon add: Demolitions charges to Cargo balance: Safes only take one C-4 charge to explode /:cl: --- code/game/objects/items/storage/backpack.dm | 3 +++ code/game/objects/structures/safe.dm | 22 +++++++-------------- code/modules/cargo/packs/sec_supply.dm | 11 ++++++++++- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 48d7a1c90823..fac1206a6c27 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -638,6 +638,9 @@ if(prob(5)) new /obj/item/reagent_containers/food/snacks/pizza/pineapple(src) +/obj/item/storage/backpack/duffelbag/syndie/c4 + name = "demolitions duffel bag" + /obj/item/storage/backpack/duffelbag/syndie/c4/PopulateContents() for(var/i in 1 to 10) new /obj/item/grenade/c4(src) diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 0410c208b65c..60d86ed4df16 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -6,8 +6,6 @@ FLOOR SAFES /// Chance for a sound clue #define SOUND_CHANCE 10 -/// Explosion number threshold for opening safe -#define BROKEN_THRESHOLD 3 //SAFES /obj/structure/safe @@ -35,8 +33,8 @@ FLOOR SAFES var/current_tumbler_index = 1 /// The combined w_class of everything in the safe var/space = 0 - /// Tough, but breakable if explosion counts reaches set value - var/explosion_count = 0 + /// The lock is broken if this is true + var/safe_broken = FALSE /obj/structure/safe/Initialize(mapload) . = ..() @@ -88,15 +86,10 @@ FLOOR SAFES return /obj/structure/safe/ex_act(severity, target) - if(((severity == 2 && target == src) || severity == 1) && explosion_count < BROKEN_THRESHOLD) - explosion_count++ - switch(explosion_count) - if(1) - desc = initial(desc) + "\nIt looks a little banged up." - if(2) - desc = initial(desc) + "\nIt's pretty heavily damaged." - if(3) - desc = initial(desc) + "\nThe lock seems to be broken." + if(((severity == 2 && target == src) || severity == 1) && !safe_broken) + safe_broken = TRUE + if(safe_broken) + desc = initial(desc) + "\nThe lock seems to be broken." /obj/structure/safe/ui_assets(mob/user) return list( @@ -211,7 +204,7 @@ FLOOR SAFES * Checks if safe is considered in a broken state for force-opening the safe */ /obj/structure/safe/proc/check_broken() - return broken || explosion_count >= BROKEN_THRESHOLD + return broken || safe_broken /** * Called every dial turn to determine whether the safe should unlock or not. @@ -249,4 +242,3 @@ FLOOR SAFES AddElement(/datum/element/undertile) #undef SOUND_CHANCE -#undef BROKEN_THRESHOLD diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index 0152f9421ac4..b7e2b07b9291 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -140,7 +140,6 @@ 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 @@ -153,6 +152,16 @@ crate_name = "frag grenade crate" crate_type = /obj/structure/closet/crate/secure/weapon +/datum/supply_pack/sec_supply/frag_grenade + name = "C-4 Demolitions Charge Crate" + desc = "Contains a duffel of C-4 demolitions charges, for use in scrapping and demolitions of large-scale structures." + cost = 1000 + contains = list(/obj/item/storage/backpack/duffelbag/syndie/c4) + crate_name = "demolitions charge crate" + crate_type = /obj/structure/closet/crate/secure/weapon + faction = /datum/faction/syndicate/ngr + faction_discount = 10 + /datum/supply_pack/sec_supply/halberd name = "Energy Halberd Crate" desc = "Contains one Solarian Energy Halberd, for issue to your local Sonnensoldner battalion." From 74c1298be135d3f85b5551afdeacba5dbc364bd5 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 14 Feb 2025 19:12:49 -0600 Subject: [PATCH 330/330] Automatic changelog generation for PR #4146 [ci skip] --- html/changelogs/AutoChangeLog-pr-4146.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4146.yml diff --git a/html/changelogs/AutoChangeLog-pr-4146.yml b/html/changelogs/AutoChangeLog-pr-4146.yml new file mode 100644 index 000000000000..d3e2eef0e437 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4146.yml @@ -0,0 +1,5 @@ +author: Cloudbreak, FalloutFalcon +changes: + - {rscadd: Demolitions charges to Cargo} + - {balance: Safes only take one C-4 charge to explode} +delete-after: true

8+hO*;3CZgb`S&U-Nh)@fEX`>U6Xv()1sA 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 diff --git a/icons/mob/clothing/suits/toggle.dmi b/icons/mob/clothing/suits/toggle.dmi index 99fddcf511693daf4ae99053e57361415aed5bc2..0d33b5d2dc534aedeb3ff2e2ff6a0b7f6ebea5b0 100644 GIT binary patch literal 49237 zcmd42XH-+$zXb}SpcFwl6hVlHf+D>t2%#JWrP=60sL}+a*AS#5Rgo@D1f)xsmZ%`T zgx-lr4FMuaC<#gSi=Okp?~Zrhhd0K1v)cAAm)j#f%Pp7ug2=!vP%-wxh(Ud}IkoITv>=mOs5W`6a`k>-dV zS-+mSy5u}=6^y=;+E*BO>Mofsj7FH;D14Sg(ML;Aqo}iv`#^Er;U# z&U!70@=5$&vmx=a?778D0t4O``V~`dZm_>^FD&;-`cc==T374^ocp$h)~$fv%N@QN zIk2+cU3Bc4c%p8|6lJxpKa#>AvO+B&SJwn-R22d!{0XqvFD|mgv$kY%Do9 zu6iU;`a3VYXDso&69;Eh9KUhjDDs8W&Fy?h;LVB9XwT;T&5tA3tXwxe185&GeuM5V zf-xj-MGY1Nz1<;x%;b{zL!1T88cavmv3&1ujVA%`wsX(4Uo=VsDun3uP8V#SVCcP^ zP0#b-z3i_i57MuRoxaR0dDC6|)d`sAg@p&|43QCyJTkUQc0f~z&#qEVW)2R%XKq)QPI6|| zez#;`Y!+qQmccx-Ivd=VuJ=p)voni3JeB6v!ak3*eN_xJ(_G%*`CW!Ub5MtI<+ z(!2+FXXl|Bd$qB#UZD+jrP23-?e~W1DE1QNjGeZFD~at6h5KLcV>~8v5h2S}i=Mhr zCB~{K;?$g(xtWaF<}>FfL$GCLr@6kNARFp^OgmEM%(70iN)f&=)dcsY%XNL~9=c33#?rY4ibdqq&d&M6Zh z|CyuH+G%`)VW9B>a}{c7H88H-T6wK_!vc-r<#s!cCMe)~Ea&C|%v>haZkpU+<*B_+y1{G* z^FW-;L$-_K26h^H#^!@CDR(O7vL@9MzbwalXR7Q~X0ohlPD&f7t-@8Uz$oU-=v?e6 z8M7Y)Rmmb7uqnb(51mtYFCvrutE2R*O3wR;(^Dco-JQ+;L!x^5zH5_r21}iUxx4I( z9kPI*N@p`t2~DyUeh%Nr>^w4H4}t2o!#Q~F z#dJH>8_?x^UBO+mlF}*yoFOd!wd!QrEI2{+TGemIHr* zvx2N(2UzdU_dB)Pgp(A#OAG9o&$GBw8lJ@uD8Wq;K(9s^G0_em# zW}k3uN2kTRatunXBs-3-k`3>ywt{82J};dY(K7k`ffPmblH-_S_f-8@fojG0XQinP z_TW-T4q-wI4!*}&u)J;7NG19BV>a-O3%R?W_~=x`neX%_gBwR76_`tH^OockSkxYI zecHyQXa)C8Dd+x%%W76VonAj;JsK+w)Ov!Mx``QWuEorZ<8fF-reT(cFHiOJ!)X@S zj-@2N3ai&0x`abYEIGu$e>~7dKjlcBbT<95j*24I@Lb_W4Xk;TtDqM184de6YEO`p!gk?swWfMvp{M3X zk8e3WpknCqBXXN$M_^Wy7;oU9YZ&u?IhrGF<}Vs-mC=x)XQ7%KelF*5=3`tnT_PI4tKVZ{c3|p7O!9Aj zBQR}Hdf58Q{~?Z@Gh`OtF@B>81whrj*ql%iIFVCM1{DnGpo^qf|35T?8l^G)($g$Q&N27dFdxu^L)Lh5bk=AqG| zV#1|ZGkPw4Hd_{F%`JDJbwA!ccuGuRA#!z;H5Uk-tkgc3k#ru)7w0Kw&T1COlu~U# zO7W$3{os>hDX8riNj)^PWeJ?sFji^3%Ri0=2}74QiY6j9MPFOcD_l`sBz>7l(x?47Ro6)U`_qK> zjR8A$E0BPjZx7<&<+Z+M#hX|7l>p18K+A@9X<%O{w=I(`1hC^}uaX*>Z$BF05v_qu zVcI%PW#k18O=1bOpQPleb%a&d(?QC*g7aBxP37+Tsthx&R5Q?jlEUyXbczFssd4Me7B6wqG%rVbAa|93R9jGwJ_NQQip zSh-P!F!HD3qMH4Bq~`s1jAOsN>awmfdTS~}*-aHL8^%-ZeBRt$szZ{jYXn5rA%2vu z&&6>5h^cQOt~=sYm6_r`_43(yfN~ty_$cc0<;h!n0>OG?y%yZ&py!{5SlaMF=m6XQ z4Xuz@1$@unD8b(i&Dd)9B?P9*sK z@`>1dV5VyjJP6VQ4O*qs5B;8EKC8{A)Wcl9hBk#%5oGhPc3ufyaG(v}Go%v4W*P1lcji7R8HZnb{Y-~7Pmj>rc!<{lKO zolM{i4hKrjBxWSJubYqbTCxw+=2iDbPH6W?N$GX69<9erO@Cfzkm>qJJ@X$%@!!Y@ zOiK5x&Xm65$Ug(0L{C8MM&;UQLjy?b8KYQN^+hqrxk~+OVu`kDReF$f1rj2E(b$8r zS%^T$YhO(?&)2!gg0U;>47s7tIp5##wAJKDP2t#-Jh_YF8{UrV$ zt`V=Cz>Y^f4}Be?)BIlQ75DvOZDw#GYhIDMeUA+dYtCZ!3~9 z^L1jXUK9%*itHB-_(oU#(0;+WfskiwDD6}{(96JL*ZcSMTa5DeiDi;Ork+rH@KIrBCB`HMXjoX?wbEf#Ud(SpA7K%VTyw$WsA7 z7?5={> zl3kHVkeRyo`iQ%(Bx-NhxNc=;Q7G7w_uwa_0OYxXYl2lA(D*>Iq*j(U02bH1Sq}jlj4HW#f_`UqF9t? z$M7CZoSpl>&(Be6z*2U7dQ(y zeib^#yeZOw=dkD209j2nL5F0k+c*~j7{u@L1v^&1dc5N`vBcGne5aw=G2+%-2 zkVdfBqpt&<59m)7;!!o(gdW#w9jlv%U&gR3?-8qeONB2(movNVVvXtdx8>BI3+d|^ ztB}MB__+fh*C=m=`T^-D>KcF83{{M%QD=htN*h^-c%If19Bs6(s~T(7tIP&r`WQQ9 zM6a*EnFP&Cw9~OVHSwl${F85iVNdsGNp?Q-$K?>2>yPLg?PqY1X@vr3g{EjSOCZ++ z-8zHLsh4U3{1qqWyqN=fj&5E1x0lH&dCJ9!6qwMzWJK(*P>zlilV$#Nh)8yMufC$~ z?T7S}E7sE^J;zu1GHi$r*=4WbefKwRxx!Bk!l3`vX``CnftnM+`!G{q)ym_^3+8wSQ2}5T4gFUWM96j3hJ`iE; z=-q3i^9<3o1kyPURMCGw-R>A3I9kArIo~Qai@UxLKT-k+JiL8Tt)ZaDM~gF z2DaaQHkTnDh)spI54n^g;IsIxeL2zQv&S>9cg#j+ZoIsHw4c0wwG_IB(%*LoNgQh0 z9EPn*HT(BS?E7AHVhU?|!DhzVMToml?;iYxY}j>93@A4ET2zGcTbJw`c*8I@ov)oY zKh>?vPk*C<*mcu3C4eKxh;^n~5vulS;SuOqR4UUT5KTRynjp*=*W(3b{VPBeja&M5 z_>OsICQjxxnd3kZk{-X7jD~5oes~o1f=6pnPsls@jdCABt8|k4MQK60WB4}6;;J_E zV8$t*!AaxsoItH9woM8MBZ9<%V#BXBwVPRsdyp$A0W4voxJ3Hy9labwC%|^p|1o~K zoBO;|Ty(W!Yh}*!Joqp_(H-gX!UQ(jbz2WCi}$cQ-X3JHs_7d*L|Jjm;Pd@lHdn*S z74>a%^~a}sCwZ8v7++B@t9mCI#2ojk_Ptk7%$BDS3dSHycSJz@IAB!HQ*^mxNVI{+ z*EVJ0L+v8SDwUXjNebW&GV2;d__S6Go61#ry>uQi%_igX0lgjvD;L%&ehaYu)%zH5 zi%;N4T~YO-0&(yFtgogB80D_T#lfY{(s5p%Y%bQ#C^5Q+xqnUG{^E}0Gx5YeCsaL- z{S#^sFjaX{IHs>7t!Ar+L|d3FJ?#pKRkZ!BWZ1s=lKB<0IDHutIVPp40|ouoHSSV_ z2bt8@ddlklG84@VJ$GX3IBf46{-pt`6}LX709u)I7LV=Ii6>&e55X+EdJ*&JZ}vZ; z%15$YtFz8J2!06?y7AB)luN0CLEc^@55|vYgay(KXkiYuntKT7aT)|KH?>@Cr99jj z80!k*{aUh)aM_Jmh`e(5(mlbmwJq=on-FWS7q0}khQ)UccXe)jaA3202%W{cuX$h0 z>i$)72d_uqXBU&Wc`9DagqwZgma)(cS6=2VfBorzHQf}nPXJK!oZzj~n3{A>$36bN zN&KD-m7iVtXt&WLcRIp9!S~BX`+mY|HOeFJV(9C{>*w(-29z~Fmp;>d^aSGhv_Qsw zzMkM|!I=1Y!DRCHr?P<|%g-$9oBO=6I#vMMvWWL#*nQE1!|7Z~`hBTr>EI*Qgzx9A z{O|MvHLwP=Vz-mQtemXKGGVZc{~|KhL2a$oFcVDYeI^yHH7Lqauk6G%HW|}0SWbu| zvX(*K#-s-SCL-HbhyKS$kQ`|q=?mrGCaNC95$RT*Is9fa?B1`9(CF;sFq$kv&qt){ zA54e&{T41vPP4wNoTPzxeZM13hm1F@K-0n{&^HtDf?vCHP+@yg*W%JWpUK3$tXG4TGk}-{q&v@_WrMe|BkSmH}-----}ax*V~2{PX&lpv;T; zr{ymqnp#9$Ve!ZYvPp3R{l3wR^~ta1x+_oA?~Gg}6cyB!$Jud>Y}^{Bpm^?sboh_v zzSS{r%^&>BIjTe!sYOY|n+@dS6PukO=)$Pb(abB+S6_=2z@dzVpi^nHN!82W8iM|Q zJdOjiay{Ts20HxDBV<*JiL20+>8UCuMfHvO+{1=M(GJmfp<{<{U4q|)n!f1YKN1#g zzNg%pm$qf^laueaUK(_8_{l%&hUV%zD)9_H=N<5hHH7nxngHgv@KUId4{E_NzIviA z(f6C}^xjEmZ|mJCNFw|9RfO@q@#Ske8)VRPw>(Vp{@Zo$%O*?eubDpzX=MP}Vg=}p zf@rcoC@%Fj5=u5qmvKJPs``Gjb|{8<72zUzA2|OgbyUerK#{a%j39Ea8XZNiWyF<; zE#^G$3V45_yhkMgZZq$M_^#frfnGT*{b|H8|1WFwH*oOZI#|tbl(|jq zHEGg(p8V(7^(@8sk?a@!p9FXFwTX@_`K=K4F`yyLAk^UtQUs5J934(d+AjmBMs=0pWMU=sNeMTWN#Rr6niP+7pz&A;2O6T!O*Js*yt3&{qV zA5xpe8>scukUX;Ia#x?-zayF6`96{$0=q)mjlL>RW)JU|{zxWm*X}p~GhzyPKa!Oe zb1Peyl=})}U>%DaRcRWcr7BR6X|+lxlGHXhEB%^BFQ%Okasw*RiSb*!36-Gil>W!a zu($rl$QU7SY#`3su7h$Vl`X=O45dzuGv`+d|WnvD4JoNTQD}ardSrwyrPbqKw6I9oSjxejs2yr zb@bK9|ImjdBWC+QrG~kX)3(Y_OQ4L-95@`d`~9@DE!FNFl_$}Z=syG*LGOANiKgA`Fu2CK zDVN{6wVBf-TPPi%%suO20%lZm(>rGM5=^V6htlA<@60h-es;CR|4I!&sD7AmP5IV4 z+o6i^MPJkk`ub>Hbm2$1&(Y>{-yW%P-r=?btOzME_FU{8f$kWhhhp#(Fp zk+M&cj_mM|w2L82ZK+c${)dp3%U+B5@75z)!v2vyXn1dH%vhz_LXze&OB0j<{gyo# z2#tmp?W>s*P1oga0BYIq047l2P6Ku5s0_Vg;_!)iMnhXHy^oiGF(}IoYSRIk@DY0+5H~X zZ*0d@H%P-~NB@gTSKOLcwpZ`e%sQm#Kl^EgIz4_yZq+!a^0ybF))Wx;A1_28qjB1F z=pQd6s=%pDQRWZcyO`5{LfLBj8}B_BzXlZ=-gBi?GA9?qrSin(+!Lq9xNZ(Wr*^Pf z*kDdPgsF9?3eWyn*x&S+H3@#ALQuqBx_LxMKM2Y&3M@DWvB5R0h=4-5_4%FgQiLu$Ov!4c!`?uOk;S&4xKjUoV z2MTVC3LUn%s3=MRz9E7QB}UY>zk(6{!brxC|E=e}eV+GYE*>}IY26(TTUzNmurGZA z=Cbm)hy#RA{zEKNXZ9;ZD1_|bH~w&&f#13SJH9xEn{>zS&2M7_`j0X4=VSg6ARvw9 zJmq|*&7o6%``(~|g+c+oX4wlQ<%!>x4yAqPejB?k_4P5*)2AYcWngjU(LS`ZB)`#; zvM?g+zZrAaBw8cL&8ZJs{ak&o_o_^x?`sqK#w!^4=K`DKwY6dezjX$ETbjl|QxB@T z`PNaYJ6nF+Ucx7lc&$aY1w)8kAvTcSMrZf*Kt?Z(ZS#!^ET_x;j8D+V zpjUf7JymFvw_yiwi*lbI#8s!VR zJ;3{2bM8{dt<6n}e&ee9FJ(c>>HzqQPeRV8XjR~`B`4!{30PD$nKbI3--F~yE!)46 z$18J`qWEPVIp)!8|K1Ie18B$LFYs)7&9FN>e_sgNj>CW)W?#&ug0SU*Xtc z7*_6kI^N^YeyjWs-l9T&sEkpl!_5epd!oM~noV)xQp+Ls&~F3dOv@*n9aST;^i012 zgux-tEt(_t;c`HSXRP029AYCcxa1g0T+1*V>!Vo^V0K;TryjxJ28*hxD-vDLs&b33 z?u@xNr{1Xk{H^_;`~>HsfqW~GaT<_2vOwcBx)+^k&i9%W z?2d)2D}!~_j*GfQPxy?uZx*n=j?meFJnIl6-Kc7KbXh7f&!f1;E>qFXoD{U<3ZV%Y z1CK0vE{QO##A^JkU4X5F!GJG^9ANyHEG-pq(E07;RF%}1A8sn%i}&!BT7nGuBDVF? zh5r*_`PIDZ@8K5}V_zC_)|zFe{4rV!%ZO6rWrf15i)UZ*cu)m9}|k+diy=(EzMjIhrrui)jo_TJ8S-}OE|}3 zTQ||4(?g!tN+4T2zFE&hC4Q}@Z*v}{s18U|w(WN&SZzX3j#UD;AN-$KH(4_8mdvY@ zGXTfvo)bSBBD=N;eDVo_0rQYChq3De?L5!HJ$ew#nO5PZF@Imnajtsil16*fewh=C z5A`bcM9IG6duO8myfEX~dMys3)Y_@-SfLV{)y+{;7ahe4rll@!*fx%9?^B8-LV3H7I|us@B>qmV{D?~i`=y{ctyB}EQH{2Ly*y*~S3Fh=oAgmEE` z0F9iYZ9aUyUHY!s5V99p+5M~$QPV%QN~Vz%?(fP#pwSgGWBXi<{o-;F#?BZk?p9`# zx2Dr!=B|-rF6LA_+>BlFq<|&|a|>5ycKi4MX+nOA#X0;b4bk#{Bbst~9^c}6?02vH z(K7U7m?Y^LM5e&CDV2#yRdBV(<-P0wm)eCdPQc} ztft>Fp5;zg`Tq0|!n7>f|9n>PFT{A7gls~q%_mum*eWf+u5F~2WQSek*+h#hR;Yl> z;tr%abjh!HG3F}J3*Ed~Zk(!VRETR5o)m;k_S7*eijRa6&XFEIxO2$$Oeg2TI!Z7f zoxFeTQ_3pegTsd7nZ~49C855?l)_!cL-a;oIE2?2b?P{9!R)}l)mTF?8ibS4+jTZ+ zw#(ob3d;j+x&H_y@v%U8wmlM5aw|^QUBt=Uh95AQ(I)X)2dm+;lZ+_Y{oZN8xWg7 zZI`DEYm%5P#pSxlhSJ$K1o4$JoUS&-$=B}+L6Nq9)O+ZMf*ultW^7MepA03hfY==z zG9#IY(?q}0GuQuXL)kwOkbV8nCezI3zqIuKCARnfJPew+q^*5-&J3@ut=%!8a}zg5 zi=(Wg@?M{V@jDLXyO8utcMnF!Hx5yGm5ND|2fi4k+}3%pA>ux(#*G4DVd1Kj`GL#n zvtpgn-S%I5H=PC+P4w*4@P@Y13D5j_?dq(3d_Ju0Vls&r;|?gG?k2(R%o4FqC%+gO z5td&9{)b%SnUJ+($XwX^g_OGa@>f#P%5fclZ_zv=3F=722#s^DFR{jDxO=KzgERw;Ia6Qvb^P@IPH?Ppc$w*$cOsoZ4S)TVWHitV#}D4ikwq; zu!2HQ1F0ENEL3iRib=XY=l#(Y>El~(I*Nnz|3j@fWUt*ITo3qT`qcf@_+RGr{6F!Y ze)~bjSBAj=`QWPwRaOA@v+}XIEUZy0$;mEYx5Dbpb~7r+{DKF2ISg2dZ^KVR=Mt_& z!+*_p9Jr0lz9`C5{K(k=G{O*~fm8>c?Cwr-^5_H^RsX{CSZUfSzukKHY~NkXh|_+K zM_F>=rSU0}@>y0(eVWKJ&DW|L)_72y@pN(6#V*cacS%LN4}1}IVWySeUQDY5A;guSw&mBn zWTAHk?~xA+1v)nnk52j6+kZIK8Do=n7}KrH?elz-tTg|;zV-sR<;pE|yr>8hg}~Dn z*w!IV{59Hh1*k(KuAHV5`N0A?(hNpW4p_KHu23p!^vrJ`a1P(mgn3$3xV@FM+PyrXrDD3*%z^*t}W5|A|-EOD4Yz%1<7IPIb$A_QAVb z-r?O}{+x_~ufFj^O7|cpPXpb8e(bQ$uXOIdb4b6H+8O^2l=30+9K&V22VzBX9hK6GN3CLk zuiBxt6hhTAQ81XYx!bORhY-4uJTQD;%gC;dptR`o)1j<}h=Ble0x^35z%eSn`;;(8(fJaEf-`QklNTZr zO}8^s_=H*;+DmRWuX;qxpzV*RFl#-(}Kmk&EMRBO6Xgn{t!6Uh@OkWO9Z}#r_G5%fvrauFcIFdI0s%7s;xnK{f?65^s05YYP`Cz_Y(hcmGXbin>VGgJCn%E?qXc6B_+yWLl>mz_KZn7p+ zArN)EWO5BK#exAmI2E%2h@?=-s}17@x@T1hNKImlP$x-g;e{3lG^1n<^g}(ETxy8% z^LeyS*GhW1W;!x$7B!I(h&x|NfEJu!_`t{68FCsKF4EvDZoGK_K3Itj7$5TDi^atl zFnQVMBBOQ3zS4FcBc=a(=@k{fL8fTB5|71wMIAOeG2@#KG#9A9G}$d4&0(+H0B4s` zm&8;xTY2pidaz3IHK(y?WP#;oUf>}Ek6spsOmxXzcU5yiweeO@R(P!>j~ z&`q&FjPlwq%rM%y0N&?+f&e`__1Zwkow4>LpRJm$5!jMVrjSmnYhsnmQj3$K{ciQ9 zwVEY2&C>TNJwc{md+Hs84pnQ*aW9U6s_?b!h~v+?jm@2l32#O8a)b33&uL#AmHX?H z;8cuI?L@we-Q5wSCaOn^T`e;Yx8PDy^#&WVp@R1H51;4ec4Bi9X6y>jd^_yYAf&{ORhRO7>4<&})SR zhq;|dd-L6IXN&Vs5s+w|m}??e)~}n&fMV%uO?h935~pPpZULHuWZjFkIM{F>NQ^+q z*eBo~kb3f71mUVV5ji1SZAykgHfrfH6C)?wUaXHYog`B6GJ3b3!YDQ8pX95T+8M^+ zM897zefP#MT6O~F@`HfUwK^F4Fq!u|_#v7XVEYFBMV=N1JMb6JT0E0i~ z8LqU9K;8XGQx+cjkQ0L+uin9V+xd^^{bMkwfcO@^Z9bze6c!J;`$rFRNSJeQo(Jm!5p8=TiLLhmBhc(;r;fI zEe9U&bKn)Tb9CU^an1x%9$wSyCwUt$hemcBaO$ji-{}Xw zl>YGKX>Dg*oRW5Bt~!|6puF941?*=GTn>Led@<b&}$`&G#XIJp%M;=HwK zVHKhHyekOlYs6uZfZ@nt#)Ih*fDP|V*!vULYdGlHDny*F4zx-59WBR{YL$gmP4Ge7 zdvR*PZI9-SQ9VW`mTB+2hi{<+23_e2&+KGM1F6oBs5Fut89}=<*)O#R?o>6u`wahe z146v7ylwntZpVH=qFMgsn1F%>=lx$A%2%Z`XDR-GVJYzjiQkB=^(?owZ30jfoKqy(#dDnBx2xdP+H{U2)E- zXxIA^wharnFU|FntAJL+$t(w0W@p04X9IfoH8+n905dd03!`4>iSq&m ztmChvHU~x?ZSiV#lH~xQX_i7T7jC5O2g{gC)dIfv!otZySS};uY6gN_+@hvzxo|qN zt)uWd`@7~TCY9aKb`_jj7Q2-hj<)aFe$54}Bqzsr1Z=(RDMLrKOBxKccYXDW$Y*af;e!CJ1_)pkR_NP%wqNK-Z!+ z(8}Os`sdnJ_OKIi>`2L4T=E9=l?W}o z848H@6gF0b0v1I@MPI{(BU8!}E{5#CTvC#{%bIOE2fw+6tk#0C#=6Saty^r`ZH|8w z=FuO3rHded$wuejhGWW!g7G2QFy9L@n#NC#{)DMM(3y#(uBWEpkpGIAAOC-7=-oJu z4(670_h_Idq$dFDbC^_~!C4_o5q#BW!kdbDBo3`3?tQp4E6&(~P>!x7rh8g%x@;|& zx=g15t@99!^|fAk+BpN`Jt~H0s&wDj51-xHYtjLqK1MiTeN+b&k)Ee#u>2nF zwJNaDB6hQTr4w1O(b0VR++cy6H25kg|IT_oZ6Eia2VxHXJ72&U)9W|yHoY6d@n}y% z5p@NcOQ2MwMkJGM+qM;tg%VY$%epZ*ldzB@d$p-lT8Wnfc+aLY<}B!M;;%kg7AU=2 zyyBGkjK}JUTN>__WpV)W1(+dduAD+sLXLAAA;*>Ai)sx-?dP#F4YV_AM@wt#1Jr!{ zFm$f!@si?y`;Xpta)x4o(+l}uJN^r4Nwj*JngDEEU+-|RNDm0VRF^Zj#>8U0l`T0s z@`@$)+_z(K!W{;Xa$w7V=9Vk6$;qxkVeTUBND>$*8LzqCpSuBMEWw^Pj}N`NBP<}a zuLHKR&V$o;Ph;zmJYD-3 z_WUR~%N*~#b`HbpCDp4)jp%fzDqbS&D~%QTw5n5op2B5FA^$9ey$%O5M>znFxq0re z8mS#cMb$ijmkIQhLZy{iMb2ohG{F#9*ke5V7Kv)H4y;e-&5onP+p!3r$bkGbwcdW1 z6Ex$hwpE@xP;uOGIae^6wh|4!SP6OepI-LXo62`<<^*<{V--FhHW~Ik-j_&2RdFqT_x|AMy$b}{=>dJ zw{J-4uS;cq4DZvpW=vhg0^1VPI(DzpfOag56E8KfPiYvOx$z3pZF`GIB`lAf5 zTI2>fh&nFgq)0m_hzPNQQ0|;}L67Tl%EKoq6qFk!Z9LO<4U9cTb&*+op#W1K49)zJ zTzvJX6G2WT`UW9}UB^rSbmVP7eZZoXp9H^YIyH`EFNSTODHX*k@3r-n!h`W2c-HL# zbtvLUMknuv4)^5Ds{wJs##E`BtKs*E8EeWwU7nTTeINoHWZ^|fKDd_z%r4xM`cw90 zR={TMbp`O^c$EdCP_)H;S0O#Wi74$@>{fvvK9o^TCJZQ-h-^SUVvfN&R9zEwOCMnidG*&Uu4@Ai4xkSEsLuoO zZ-Bf*%<4}Io)1P~dLu(KL36N_NCR~6v6LDu#T+rEDu3&+X?#qKr(EqsiNhbpl?ljX z0wkwL)alTjbA4&x+gGdV3b%x<&C_G1M&jd$pa^13vIZXfiGFfqQM2y?y<5ZKaD;o4 zllO8~{=JypMvyucccvJ7xi7trdUT+_`}xNGaU5)xsYWkm5a1mIw$#IO%hA+^n#1;oA9XSz zfF|1g0$+NQ1`iyXI#0w@V+DI5d2)`b9Tq2=g6JwP?aomuOiHQ%(%AeV<&@w`4S2D; zbw{I;Y1DiV!sVUQ8POJXb z@s*By!JpKiC^YB>^b(@&)rV3ylrvV@h8iOb_*%veli9VYm~bK}iHtu+wOP?*3LYUG z73A^2=(HlWP=&r8Td z+A$cZuU)Xm-TpXZnnAAr0^dR?+hN;6FZt#2EKk$wA$Io3CCF8>>k-Anib|w-_)!(e z)S4q=&2#muXUs3InN;BFD|X_qiui^sBb&U$tWD2;_FV7v)eyjA z%rT_w#H&j_KkY((5$LbQn=)O>zq{QOTUAE8jNh-g91Q3>L0O?pVVSp_Y-wx4CSGkS ziAMdI2^)n1TpDQM;)qk+5tVI&;#f7|NLD5?m2>Rr5hdTe^2NWVW#!DTj1-!+`TL4+ z`X{RN|6QZxPp$UbBH5;VYcsbE(bk=!^LHjpvxJdWy`93vC+hwN&?^=d1MhCaM7bwFY^i+{@88mQI4=J@ z@Tl%k3;g;{;7#IG{^*txSl*mTOQWQU7F_0S&Cc|ws!{L>rgPoVm1=3to$Nk8u+ZV3 z^oDjeVdm_eG!Y!{d{f@^&XH4VY_y+Y00a|$MKNHLX^(%+VbIRpRUK;B^<&A zmKMA0o~niLHq*>jq+8*JMbY8I=C*yf-MstmzHHo8W2%g*_tf}2?yDm;5f8T7^Xxg6 zU@5~IcRc;Ha39k1@+>I!%vYrOG*5(+u6Vl4UyF)(4?_u}BY@)6UP%J(Qed>=_=c35 zelLD2Q>8VZadYw<{-@m$E7hxp&5N89iESk0O~4|O()Er8H@l*ATV3(N$7$3XO0*9)nV3YR{9ssWC)S`jOiZ}T*E>j7n8i-D>pKlY~UwFy? zt(2WDWRpNkR;_!NLN60LTVVH8NStsywu~Eo8aK^EJwNY+%{}&Tq8oe6?(OF^vVDbb z!!XAMhfmyZ>rT2kWHqD<+h~bU`FoVN90(<>v z<6?u^Ty5ca6bDBS%K{>lriSz!YyKE#nt2#_hMOcA4BK)*9~@o)w0IyV-860KB%Jy) zIB03AE^fYNN;2iBux~G4tt#hV848SqrCAg`Aw=`ezKj_d^76LT}?=O1z8?IVwoxT6DxnXk_!dH0Vx4<)G7VV^EE^1guIpOfaUEt+AzO%mM z3^$%z)R+lu&nE(4Y`+HaN@gzI_MfDctv_fPXTAKnnpLZ#lO_R$PtqhHBhP)X*JkP1 z<3v%!esHQ)X7ZZQe!V*XkH0EIgt{WTT2Ei-jbW#Wi1F;U2r?!!`yEW^8TIPf0kZ2W zzvsreK8qwt>6e`^c;szkZ9*}>%Zx3vQ((73`xl4qBmt&|2&oTny*8QNhPJ%5JrLsy zQxdGpb{4Q$M_?5Sa3*&I)kLjUp?8q;vsj5>5uOkXZnX(AWLTjV{$%6R?S@b*Jvc_l zwkY-aZ&^oR{K+ul9rbNaV*jt<2(|Yf2IW2yR*NLHE}z~;Sf{mm*i(RKEMa1i>Wew1 zag8V&Wol0VB+JckZH4xY0#6ylMtsDAZQLel9`NuTuwYwdPsag+&f1N)@c1hhlGOqz zxN{Z)L~614{7Y#y3Q2R%^#{NyuD|*-=}-~hOrAh9_Hu4N(vk}mHfZR<9)-2M$uUr_ z%{@2w*W~XHZIizaz*nv%L}B^BZa2k~fiIK(Y#hme9|g8aHlbdN@Vr>X>^lzi#3A3))I^=!lqljCP2TOWW!4hf8q7D?UFjd)?W1|Apz3w zhk>`Y0ZV<%Kysvr0ATmUL`M)3AzObtgBOY!*VzXcn z)^ws&kXzOy+c{s%K$CAwO^@A@P*vkXK#2=Yu#%d;%Rexn_wkCd$N*(yFQ0;#;%4lF zEkFK+Qz^JJRez-VA|GBua4%+G75$PzAVhq6;i-(MMo=f1Lbn~iDDRo7vStuRhH1qR zgW#+$3Lvk=#iJTzri-gY3-LudM1|hWBgEI){>WdIKI|JvZ5E8bfNkzI4FHNI?TOBj5v2$q32+$NxdwdxkX; zzF)#9DoRI0kruIl3JNGiDG5bHr7F@y2vtOyNH0k!3Mf^OA}t_F?_Ej)(nO?7FG1-g zL`XtN-@)JRe|Nv^b?x=O`)x>O=E^+GJag`IpL3o=@;OKQm3QMe&crD^;_8$wxvFU5 zyt@NkwIDG8^EUaqKmCl+77w!IY{|~UC*xn%CMiPBtn}YWY~9^MdtE1!l&4jt4!p-q z)M%-!1`2bc;S;9FTGy?=QkBWq`R>b_v+oMzdX+sNz6ewoZg00GILS1OWuPk$`3OUO zO%eOj!s;$$&JfkSKIKE(;Ar1c9r^EhrwOdj?XfC?5v&QgGpFsIhHwXy*`BAGlY8*< zclga$L3jC0F0C)XB-H&FxfO5tVP=vZuxOVZZ;_67+5+SKXq>Xy3gT8}@wZI|gkz7n z#q4`je7IN`diZaDjb=S==C@!hQb0$~Erci6AefVGtIR@{w`O1P1lwNLv8*S^2w z`hTV)|54k-dTzP#0A3w*90jr>J9RWq3fT)_S80NT-K za_Wc@;|e{7_l#N+p#cC=OXD5BH^=-IS)#NHJ6LSd8ZkgOK4_7}U0Uuv{g~Wd>-J*B zc)L-8vl!E@PNsEf!`D<;_kcvY{eUsW>=|V8oG$$()=JrRa9CAKn&`Kl-%!Fl0s*M7 zWbI6O$dC5Z6?nAI{X~F=%DT%Ia&e29(mG019?b_Gh7GZ;`FphNbZ^tNvTmRT z*TI^WD~I}EIt400`1PXR$vk__19-L9`0V@&Yu_2~@tU>c+6aw;yt%-iuL)_g-fe&| z_0}V-fwZM7>i#RB$E2$`9pof6bw8(H<@P<2Fkn6#fb3Zy1~Rgl13QIoQ#+KQ{DV)y z+v1okh~|iWEN$lyp{n-*G>*CE9YBlsqxCRy`+W`|W7m(@RZLJ`Ijw`{R@1S!zTZxz zS-u+3X3j)Rbp-3NN;BJu_?goZj|n@J>0YEkzeKmkS2+9y7~{3n(=#qr1pOZJ;MMRj zYw+Y>@ek-QxodqPL=7XCT%lj&bG0hSZ{v;b&!@yb|EZqyovAw@v#W6Ha6jc~{T#2! z`l6|X2ZDsIVAoe0`n`#9SJ*|v*JRdX2EhS?wfM*rr|%$o-=|7iUg{>Bd9rlAa&g)p zk7M+6_{lOk1dpvLsfeZ58U$D>$I_3bP`3e+rE1W|FJKf8k|GHKbX)UtG6*uTpaB1= z8~c4<_WgjYT$HVO95c0bB^)c-@Zyr?Qy&w*d09~=E_h-lsn6Z5fkYWj{kdD=Rl#I= zPj0Y;0WQH0%DXZv9zFU_-quCrt@NQC+w&6g_rGNrl_5vuGGucf9eqRIx-M0OAxT_B zu6Nu5d+)wVwS~dbM-B%M=e&_Q)E&y``_4WbB2mj1zGk^l57CQw{B7t&J|Z@5kS%ux zgQX1(zeBZj27gx`C#T+Whhsk$)u)A+w*X?uL}6u#Q%zACdvk}OjQ4(-aig0+kI9Eu ziYc58w+0RO7H={b^sNjcv=lO!?k&gBN2&f+WfqT&g8B;CN%Uao*8wb zO1wLv5sR#gzkx0yv-#{XP02_H#;HeqV>Yd|C#M4dW~$p(d3pJ|6p(Ll-T!u1QEZC0 zBBdh|XlHKNl=3ZJLd32I$a%|s808*sa;HY0=-PZUk(J^b(N;{aLn(^yCUW0;#@I={ z%zeyx4EMc{iWcX^UKrSp(=s#AviP$C-MtPFkOw0E3A8OT+u+Q-E{?U0g6-owU@2IF z4-IG@?S3DQESN#tEV-@MiZJcdcr*;O`gTD7D`;K!(|Z*so-c>)1ulZfOd+$$`glP8 zTMr^&oavZ54Ri(@q(&vNyeiD=`_b|%J~`tK%MgW-tQIFL>@Pr9 zRX5A(jPQ1y@KOG%KXwB)ZL%BgQ_)1S0UyxAE7$8+{+4`ZV}n_?D>J6!MmqxAu=-i} z_)Zl(YE#1s_7wNlcnci<)~7oqb#$;S1b9S9gh!@{a!|yA zw4rWqeeN0juV|ju!P8ay(+{tT6~d((?VWeSCJeTNwdxRKSo0<5?lrbsR#`4S)8eO} z;~iS(83;$%dbf9qKqivEiw}!Kl1cvS&J=0J<%){IN?+G z>pu{C8ax7Pj3I=>??+9#$gSGy92lN4h+RedsbA}&h9puL&xPyWG=wA%QA?xMbPbwUrpU6r$g z$Q>a)h?zz781Q){;CH>jER>Mw-Cgpj@r&O@DHEjVrwVYVf;sKf*6OcD^-~_7V^F+g z7%AkcLMdh&Y(CFDQqZq`g>TW~gGGRQAY*etEs8At$QhsJ22}!3pYRIeaFIWyoX6_@ zWjFQ6T-J-7Y&?wqH(wn|lqbeLkF*c47buu3xBwBn`9{;AMtuFABAC<1)LI)< z^_^{a_i>IY^j^x{4?Z8+?>8&)jX4xI4R<@c$|I32rM^@fT#;1^VE z+7iy0GNQ%I%Hq(f3`2>P9V8iG;~+07@f>w7!~f}6rj9{v4ciyFUj~Ek3YgE=Bz)tp6jzM{u2Ztg>M zpy%9pfudm=Wp4M4frtTGkex4|oqgouR(3mz>=qjrclyagX5F&N+!q=3didk8r%vb7 zqa;@@2o0V7bcJ$m#oqk5c)zAH^jub!NA?$R1S&({PK-6fpElU%6*Cx8^84iG&C6Ad z>BeeImI<>TvEbbjEmS}XMUdjImcTj+2OCPI z-$>;=-#X7_<*jxg|2rjFf^bCZn%-d-Hu@(A)YLRu|L?5z@uL6Iy8i#Z@elMK@St*g z0hq|??Ura1rOQ;bDq&ym3+-P{19~0krach0A#C&|z0V@)St|tv=&tlN3Or$5Jjq%) z&S+bQxNp*Z7B!_0=G13$YxFTWhyI2bR)A?_Cgnxe9&~JO1obH-G6ip!jCr7d(GSzJ z+}yk+>#ZP%c>;A=+hZA@K4=1}l*C?2;o$yy?g3+SpXRK_nUR8++u7uXxS+l;M)S+2 zvzYtUlFf^9F;Old8#f?Ti#80&9=Ss6b>qKlgoY_w>Jb@l8XFGpp@uIDjSxHs$Z6i{ ztXPJ)^)Z^1(^AY!?GpB2gYQ9xv7mg9fa&OIyKl0XCN6Ig0N5)xW1T8eeSLA@=Tvve z7~s7P>T^UTGc6`T|D8YEQW2=Q4kg?s8v3GmbHlOAwx|dnKWh(;0J3~?zREbNcR6e| zuE!AG?08+LU>y40eD9Y$YIq7kzYuv7daM?Zvnh#j@Smr0b+GEYX?6ww2#yw<^*zH+ zsY`-nMUiXWS)n5Oy=d=p6<75A>GdqnZCW|s@Tj@_Fy9MUOXus%pk6mC{FOetG@G(F zFf<8jU|8}9e`eN6e1;XMcJ-e(@0f2jZ#85DS>&(YWYz;OP`R@z=+&g&-GY?QT9v`% z-TRv_yiPuWhOF-|f5GTl`*b>uisxS=9-TPS%aPBCwfj=y$%Uj=%i5r5y4!Pu>VU`k z`L-11wf9_B^r!*o*zv_jZ)@%rBZh$FjJ8IBY45ji)2HWZ`CbvVS@Vspx2pw{jg*+@ zOpiV$*e^l-ny#bX8Lq_*705{3`S)ez<|-!nMLUb_|5=`=Q$X$HH~hS4hQLA+lTEEJ ziH7;AG{4n4D_&M{d;7;slA|v2USta8dTKUxY`akq4Y6{^P+#7N>b5#wYMgm(16x zFYy(tT|==S5#FyN5q}U(qFIkyLLQ@7fUruW1y_;GfA&%*a<#G8sz#7`4@Q5}ymSc5 zOg3y)6-~_qZk?YVuNcG@!6rF8gp@=2A}Ui}N5wiiNxHaJ2Ph+^svXyPNBsep?2HfE zFKwNp2V1Xw!;SJ{-KcV8VvD@u_eIFe>Tj$=cT5%h7&Xqf_vTV=NJOoYIwug$DXz#7 z3|yuC%!PGNF4bbp9{AC~qF+N&(o+(yi`u>r#;eu}~+r4L~;DS>78W78=wcb}N9In@AwVz9OVxzm5Y2bUH|ndB0Wrf~;2OA{2Z%Z6WM zVz+`y*$c;iMoXPS0U?_qiVDo|71W5A`j?So;r#et%{*?^(sox~*~eC#JhKszSv*tK zB3^i(Ec43#O~pz6jfj|kpWLbE`k#B-GHM#;Ueh)Qg6F$dF98l_oB?ES(tf?@p6&Vw z=^_t!f8jHrR&AEHYLah6JtNR+lB`GpE`CjZnACh37n}V7@>)>fw1$~IUtX=o@#<;N z*HnL$*R1Wj|0s~Af(u_leK?dnV4dBt-!#=M+2H-tf0UH_KmR&N(T^bp{;#anA_@o40eK`kyi~Pkyzw>hA0DTIfUzHgN{}SurvmjN?&K3p109cMEN|E2T1oQ`*t!Y#zG`zN@pa!d!SZp^Af?(`Yzv<@ z!Du?XG2rrmp&^;QckW;swO3nfxoTg9ojR?h`RyCc@SK1QNx88|uaqsz>}VD2Mpf%} zRWDHK$zWC&vW>IPWRbr(#Is`NvbwF>r#US)o6R@Te?t7)W(hxMu(2MSam>H7qy4o< z1+&a>5YME35^7vHUZ&eS#>L z^eZ;saea0BJ}fwa!u|3qS+~coj3=0U#%>wv0^DP>p&35>QADe@KbKwVC+2{qKebNxg^4jxyR*fcWp_f&yT4>It@w<9oIiKK7OHQbR2 zz$%Y<8wUj>XJ*~gRIbS295t)C?x#Io>U1t{`u~Y5xS`?!Xvcr*J}Dwa)R_v8BYfo!tYv?J?w@ z8YBDpn2S%U@R%QKb2TeHBk^xt8egYXjR~;gK`1PnKj-M)3eRC&B$!KdCgjkjG0LJ* zLVgdWbeq{>$Fgx}Z;Ya`Kp!f|-2_PIgD;Wolhgs4QiiRpW(Tj9@rkLuFPxVRu7lBou<0zilJVbB53#Ap5Ot@eWa7&w2U^`_zqdiX7tH^9-sCRLM45ckh~`&Mg)xH!~?UR3JWgssqGeu(pg@ejduh~#tcl> zD9-Iwc9S@CsNG;0bYutN&$9seZ&X`Ns?&Kf(5Y$qb)m2k&MpX_FN`N@q0@H|NLSiLhGikjV<@ zsNLH?Mv5%a+iqpw9B4?AQNa7PdV?lm5 z&CT(Ou(UzjP>BzZwe_YxX-9ur)6mIKm;2(!q~jhEa&Hz+oyL>DVe2{0KDorps(<;Q z5;)5~4s{s|jkOT7lg~|h^W}ZDY-}Ef*u6N$F1e0QyHLx=Djr@r-?S+aeOg9rGHqG> zF2C~7=qzx~^`UC^t9LCoxmx;5Dh!@^eARZtAOMW4S^O{8jjvPW-3i+41WM^|yGi}n zVDLP1EvdJu#uO`;D^BbR)^r-e+FFLYOJ0o9p1yV`Mgeq7T{@<_)i4vQ*43%!j;@%R{8JSB|Dq|=FchOyhV#Eo8So$Rr(rmZEd z=?U6;)ppZq6G1cPZOi_R>(mY)mwcRJQT5BplU<*WU8T@ShjICe^GR#NdF~)VLVlcp9#JcHo$#6RA0d)mJ%WW?2a=u@N z9)IFOe2R#CH{QVmaV038X zSQk|h-6ph)6Ss|uQ?{K0NEF>te2=C3{ou|0`smzdIG;DsE8*&k=bytkON(DH z2r4c;&V%s|a>)tl_tb3B%|opm)-%{((8Gi?OnQ;Nl!&hkh*;Wwi<*7b>cxXA{n@SZ{GlX(xyWAn}w$Pe4SJusrVsCJg zbvU2nOY6l>$=#9_H4rG_;y;WJT}S9AZtupOy^rDlmiZQyX0X0LR~&DB9e2Ww+p)P~ zGGNtRg+|*b35x5G>-R8~cC-tz(D?GOINQDMWWh&UaNiQ>sS*Ni=o&aVylJW+cjt>h z_dwaB4HqqS|)AQ2KoDE20)ZuJ2QX zWv~|YjP49cDje=QHHXGrx@{{N1bhCX6hL!WqEdF0Bf~J>r6UII8&98sw45KHvwV7E zUXK{Nr_4ib{Towd{=>Bd$e$B-t<<18kDBTS%OK@MPkC?43aqXD)m)Vn&57x|0r;e! z@mTpJvRlm8c8UIYMAsy8Q442SbGT}+)GUNT7{Qm^z}^{)ZzhZ9zq59%nX)+wJuA~= zbj_0M*|MZ(iFE`lgPL2MR)(Xdp(V3!L-U0>Qz?nfhq;D3!XifB^?tn zt58+~seU@n^H%XsAVQ8y?d+2V1e`0Q8L0Odz^P5zAVb)$x!8qMe{ij&?M zOM_-m`J#TUIh)19HJAMYbibTj3?QfObyNRl{y0AYU&%G>O@$$Wbsj#}Sxv1r;bjEK z#cs(*V>p#>eVzJdd^AJ;gK^a&&V}a@-$@v0g|A_HQHZDXj3!{Rt}s;KP>BN}%0P~< zX)ZTcqc2Hy!yT6Sv62GV8{{79>1)=rdu6K^N}d$yJAI^)W~@yJ)a9UuE)0|MYsEQ_ z9Gj^mKM4*T>cabX!Vyh}*;bg|@_gYDj*casjs&@DQR1~jetg%;WbkL^MfZ3-K#jBN z!tQUiV{T0sawc;=Z=N$4pLA$B0-F%+H8~S}A>hwj$wV~_t^8_+6sJMbw-0M^W`1Ft zrB(0VmU~l_FvNQ#<#za}xQbo-9BMEMb*pjX2#GfW)_ewVNkVd zBGuJdaJSZwVby_~DMw{LCe#HGxcZhL9x8%O6z$=e;dq;kCA5_eLmPxBtaPOCVlTFn(&>;takW<>3L9J&g;F2-hfVqNZ(CD3{rclym>uXofX5%|Uv!zMCm z;%O{tgS;m9kf@+o=yl!#Jnq6S7i0Ug;CkbjlwefsxJ9!9{7HR~5btQ3OaV0dDclwSYLmtr6nf>*L}S5x&2$GlG{Z^%Om5<#E`^-c zV1in&U!02TNcAv&upF3DOh8r_HhEse&HfO3S@P6kRGa|YH!$px53>kF{eV7PlDKd- zf}y2ZjC|5FmI`sdW7*(2M%%=$VR`KSbZ4{6X1p_OCFb%c{g?Q;Nx+}8RrCcN;j&vG86*b+;?n(Gv~+FTsS?*YkIg~3{`VII)!?57sdPh znweHZq(FH@T<#VTnX{{Z&;J@w!;{C&;yiBmg_-6M>VoKSUnAtJqv7)*=P8Z`tt(mY zxHQK1wC0u`NkqWql5>$)f_e%Dq`Zf=8>~|d#+~|7&HUiwfv9>xLcz_Q#tVXKC7W3# zfZaK%D=%&7{Y`&zOt{K5rP9}h;1o6Dwu%6#$#_6zOgO1!bkyW~lkZKJfZ+h``o)34 zCf}L|jJd(~b1TO6k+?A2V|a|yH;O!ObmysEp`p^z2|Mq4^46!NvzvN~YPn)MOQVA~ zfN>vNOnBK}Ae{76f@Mey((+9+;P7+RRkHo!q>~@CZ~iFs>tV_U9rJ!`ue(A2$=*BG z`G<~4)}6thMz2qM_BEk;D6iG)H-))bb;QWI>Sn(UR)$Du$@Ic{ymK6&T^%hE3D+_DdMjz1#%qyJE+}7h?6J z73mx25ro&@5#OC0P6zxnv%(-q4;@c8D$O;H-P+7}MR7xyXM}xb2STXRO^9Wh%gqaA z6(o^kvsY8fRc#ABuD-vTpyxE#t9BfPZC1Y4fetmZa$BihDvBK0DSd!cy#>E|4to{5 zy#jH05@AXnEV+@f3WHKy?ZcV{09EJW-S&4sw?Zg`zjnpytX(u883G)~reDR6Yc^hJ`A=^?C@``Z$n zrL`mwb=B0*_T|;l$NnASptY2zm{by-V$sHRfx_*8jF( zSLYPO5=%2$y@k2LPzJ`BF)Kx;`gS78iuCc#7LwD)nuz*JW(!mcsF=6rqpNx|qOB8o zSvyZ&WePp*xRN{=B<5df#BfvtqUc@JVLT!-Dx!(fYG=EZk7oEJ8AQRxC!9Bg-~El& z(VnlE=%7YhOBEBBU-57*uOF5*l}&x5FOYO4f&*Vi?xYfYHJ6Ufbkz?HG_Jc3Vc#4+ z=(j(k%LacPefl$7#Z5oOfD`t7&3M-Ta_|;C_14lC5IlbJlWN3zQ9<^D>y&QiKvSVk z5-RY#*zhSr^dT*|z5UETxX_*B#HT~W&qgTedN6G6N;H)A=M{z`{<0xUpd+Udl4P;B z4JZFx!+r=rr)k6Vt6Z+bl3z}QtYbe+haQUh$P{cdy60HbTFYGKTud(X9dqGRFfnX> zrf=Dmx7zaqF$_E=yfyj2$_5D0yiro?;@!ekNsYdA2oj}g1A>r?K&uy@8LwHOJ_5DlrpEem8=4>3hH*p5@iyB{tN+)#Uc=sLe)%)7KDM9ZJCxVk|*#ydfyV1r_Ykn!p1$I-pN(B(@T z7S>eD{A-#?BzmfELkrNAMTjigHFk0W`Oqi0>MMvxO3(JK+T%nP|yzT0G#}n3aG>+dn_d0Un2&;z1#qaxeL!N@xSHU)STiMM% zb;NMrIVx)VfluSDat!O!p+0S~(Bo`3mmZws{Uj$O)_(j%+H0L}y5R(XTr|z9@G~<( zf?G-D7h4%<=rD1Mh^70~n4zq!BqOG3;|F_#zANe_xU{4X;uvuGbQPg;g9e!K=blB6 zLYPNMBn5n`Gq+`1Kq=1uvU7{yPsQ*S5Wm1Oq!VxC23h@x`(!V^_#N=tg)P2sfG+};UBr{jBT zfu*{DMnptS%=w!ZAD|dSnPf$L9|iK*z?GqNH+U7p@CR~Xa;BHR;rAEg-7Ckm8AG2& z-H;#FO*CSF;hGI^p`~U)p1#Xgdg36j^>Gk62M==W_Pu;gvGa1L(NrPVbCnCj*d5=- za9G34+@E?Ud)W)_oN~;^_IhQib|gSTA<7Q6cU79KzbQ1wJzoBG)3@1D6U}^CctZkn zx5n5mqrG@W<&@$Z!LDvCC<1{Pll#Z|M2Xqum4~n&I60#FdCnRgY#iqk_M6X>rONop59tW(R7|g>Y}13hk-Jsi8$q5QH!7|H8^eG_T!MaVLN&?q9bt;bpsrLe=Gbd-X0RS*urZB>NBXw zO3+Kcalx{(-#(Yn+lwF#DhT&MMd^$uM(rna+-71YHJxFBy)KDf%*`(EfR5`b3Zeji z{<}qxGFo6TkRnJq@@%F%%xw$7ypMagcRS~Fty}Y1-Q$xhJef7}q+5F=AbE9V?&x&Y zE|S}ysNokW3QZF6Ttki?+P4Q$&6{{;nzweFyg>sTWjy#dJ|SkVk>h@gZEehsJ|_t? z`odBz<(P38<9HEQ&Y}P0bEFKp`B9N>T?|1wT5c6|?AG1w6SX;KZ!&Q~m>`#lr(XKI zH2k2XY=&&sqz?Wq{Za0(OUMt$M0CKxGvf}kj(371z+qY*iF68)R zzcX-dyCn>FQy!GQ;SFs92YM?CG!dnAjtL*Pg0(d1-h+kxxUk6Lp+aeq(28Rm=aPR; z$&D3cnTZpGxvUT&Ge799nFzrJ!LO1-Vb4lw=-rR&byui{_a|&`n3X^M_%lmI>8wdS zYsF+YJOuxeVT5TeJM<bBg_cfNP&}Y`tsN8ni*vN9Pj~Dzs79b$xT26}e1dQiIjPxj`CQz=+gG^JYasnbk z&&@j=?LA4C^yl3p`w#(d z%8aW$;Vl+(UULt=^vD`QcKNM{8del{tENw<)8%r0VDMb!eIoJD?gZP!w`dbDQ2vFl~m3} zZ-!H*vhvrRU9CsPU5z6cl@+|H}MXU|%* znl8d%IWDhfhfZBzP=!qdpWG%DL61mP6;dAER9y3#rIJZ~hOX~=B{N@j<_v~%tt2H& z(*CkmGy)H$4EmCqyS`?FN#Vhfy#G1U^H(jMPpDz=Y5k@;UA*~y16JO{a1*(4FKgF(DRL^YOp{b3A z3$IaKS%ESe@kUF;fZ=+XX(GgKql*@~fy-?h)QIu_t7}jDaYo=A=N2Mh|4h;%c>fDQ z(7Gy?9t+hWk$wk5|H|Fme{*{tL~7CCk+A;*jx_^DAZ}4L6RD)ODJ9khYB$#s<9Kc{ z+GVa;cUy*e2gsl9tcprzD!3pGpb$K9?n&HN0iz(X3KyLj53c<5nVpP5j|@G!0iH<< z)_=IVzDno)Q5F-Ce!gKkcJi73gdqDGo;3TnIiGQb5^AnwQ#>42WMG=HP5qv>G^%@y z)I32>`{Yf;*M?Z0=~)CXko(B)J(H|(3<%fo|5%vam`7F(_#;qn@5Wb%yu+|#)N zA@7K3$Xh*UI1li0h;=NE?uUM&@eq|kl#B-l6T-qxUS(zhY^#=V2FC)CZ=!6tq{kHq z3{BuhYHod&i6qBc0 zGPzX{T$Aqgof4j1_`Y2U1VzB_Z=4~?<6!qeV&CHH?I|}`)N+2ZUX6p&|14YxF(5~> zwK@wdW4aI71do@mV`)7oHu<{@omipd7Q%?`6lDT3>W}ke?Pi7}=dRI*`ONEzt8fjQ z85PbtI{0JS0$q2H*6ugTOt&HgAnfc9eMHy;Ojd^)1-{%}F4^~gPB(~;3|o-|=8!VQ z?oWjX^6fR?1}#+Pc_WBq<*eKWTkg0pE_q)gcNlj~kVkj|=3dSVk4dVYWb15VJ9UmH zHWH)MvxJvZ)h0K1PQqFH_P#ASt|_m{d+KBF6Z$M?8t$eeCwJ#)bi4*{5YGLcH8ldds58$&$lQl83KvAi95T z0*hrPBUvA3Y}K68n)6uwRy20L)u7-V%!VoL@RR+y)=e4|?Ws{W3dVo<`d5vf(bEn5 z7J;FwyYV2w*qd~f7Xrbe8>UUG*jL?Y6#BEl-q1u z`ppI!*yC9q)=jb1Z(seGDL9H53h{m4%Pz_qBgP4em0UdGGq`SKr@=XXyeI0-v9|P3 z!DAsN_2V?9WcS;T z*zk(ApxvKc8)wm@x6pIjWlDt+uc|x;=hlXeYwTs0#0%gj002A5t6tbjZ)MbMRnTy zScP2q>;TU<3S^O=HfwRq?vDswDvi!`8eWg&OdSK`Kvenzio&@ zqTmN8zJB&qpTmq>L;s!{Y1XSZf=f6tFD_UIIkCpxxVa7e^*8Wu#=MAjg{a(OsA;yr zFdTE4S=Je|Itl@!>vsp(5=&5Ui+mzuF!-|~BVjJdqlHxZoHBG_HZB*jU2(m93R~Bg z9sMbTjbit+(=B5UW{VrmTWYJHn&UnJcA;k8xHM%)a;k>OKq_IoeN)lt;3RS4&W}N; z$ydp>pq4)>EOrEq0Z^tpl%EF-MV%52|#+=tI5Ze*_`$-~$M+Gb;U# zm0s1aICD|TtejJfEyf@_1sk6ragXc~3s44Kd}c}VtIdnS`^l`^I_x%F&XY&31aHiywIb7~sI-e|9QL$=^f z*}b&XM4Ti^vS;?C`k(aOgrUEfmp{KPEjeHuh+G#&_QK2J8