diff --git a/.github/workflows/discord_discussions.yml b/.github/workflows/discord_discussions.yml
new file mode 100644
index 00000000000..439315cbb95
--- /dev/null
+++ b/.github/workflows/discord_discussions.yml
@@ -0,0 +1,52 @@
+name: Discord Discussions
+
+on:
+ pull_request_target:
+ types:
+ - opened
+ - reopened
+ - edited
+ - labeled
+ - closed
+ branches:
+ - master
+
+concurrency:
+ group: "discord-discussions-${{ github.head_ref }}"
+ cancel-in-progress: true
+
+jobs:
+ manage-discord-discussion:
+ name: Manage Discord Discussion
+ runs-on: ubuntu-latest
+ if: contains(github.event.pull_request.labels.*.name, 'Discord Discussion')
+ steps:
+ - name: Fail if vars.DISCORD_DISCUSSIONS_CHANNEL_ID is unset
+ if: ${{ vars.DISCORD_DISCUSSIONS_CHANNEL_ID == '' }}
+ run: |
+ echo "vars.DISCORD_DISCUSSIONS_CHANNEL_ID (${{ vars.DISCORD_DISCUSSIONS_CHANNEL_ID }}) must be set to use this label!"
+ exit 1
+
+ - name: Setup dotnet
+ uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: 8.0.x
+ dotnet-quality: ga
+
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Build Tgstation.DiscordDiscussions
+ run: dotnet publish -c Release -o discord_discussions_bins tools/Tgstation.DiscordDiscussions/Tgstation.DiscordDiscussions.csproj
+
+ - name: Generate App Token
+ id: app-token-generation
+ uses: getsentry/action-github-app-token@d4b5da6c5e37703f8c3b3e43abb5705b46e159cc
+ with:
+ app_id: ${{ secrets.APP_ID }}
+ private_key: ${{ secrets.APP_PRIVATE_KEY }}
+
+ - name: Run Tgstation.DiscordDiscussions
+ run: dotnet discord_discussions_bins/Tgstation.DiscordDiscussions.dll ${{ steps.app-token-generation.outputs.token }} ${{ github.repository_owner }} ${{ github.event.repository.name }} ${{ github.event.pull_request.number }} ${{ github.event.pull_request.merged && 'merged' || github.event.pull_request.state }} ${{ secrets.DISCORD_DISCUSSIONS_TOKEN }} ${{ vars.DISCORD_DISCUSSIONS_CHANNEL_ID }} ${{ github.event.action == 'reopened' && 'true' || 'false' }} ${{ vars.DISCORD_JOIN_LINK }}
+ env:
+ GITHUB_PULL_REQUEST_TITLE: ${{ github.event.pull_request.title }}
diff --git a/.gitignore b/.gitignore
index 11db1399997..1abeb9c3d2d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -180,6 +180,10 @@ Temporary Items
/tools/MapAtmosFixer/MapAtmosFixer/bin/*
/tools/CreditsTool/bin/*
/tools/CreditsTool/obj/*
+/tools/Tgstation.DiscordDiscussions/.vs/*
+/tools/Tgstation.DiscordDiscussions/bin/*
+/tools/Tgstation.DiscordDiscussions/obj/*
+/tools/Tgstation.DiscordDiscussions/Properties/launchSettings.json
#GitHub Atom
.atom-build.json
diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_syndidome.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_syndidome.dmm
new file mode 100644
index 00000000000..971b9582568
--- /dev/null
+++ b/_maps/RandomRuins/IceRuins/icemoon_underground_syndidome.dmm
@@ -0,0 +1,6550 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/obj/machinery/light/warm/directional/east,
+/obj/structure/fluff/fake_camera{
+ dir = 4
+ },
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/disk/data,
+/obj/item/disk/data{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/disk/data{
+ pixel_x = 4;
+ pixel_y = 5
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 4
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"ab" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/digital_clock/directional/west,
+/obj/machinery/computer{
+ dir = 4
+ },
+/obj/structure/fluff/fake_camera{
+ dir = 10
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"ag" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/obj/effect/turf_decal/trimline/purple/corner,
+/obj/item/kirbyplants/organic/plant22,
+/obj/structure/sign/warning/biohazard/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"ah" = (
+/obj/effect/turf_decal/trimline/dark/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wideplating/dark,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"al" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"aC" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/book/manual/wiki/cytology{
+ pixel_x = 3;
+ pixel_y = 5
+ },
+/obj/item/reagent_containers/cup/beaker{
+ pixel_y = 11;
+ pixel_x = -20
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"ba" = (
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/fluff/fake_vent,
+/obj/effect/decal/cleanable/glass/plastitanium,
+/turf/open/floor/iron/dark/side,
+/area/ruin/syndibiodome)
+"bb" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"bu" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/structure/table/wood,
+/obj/item/flashlight/lamp/green,
+/obj/item/toy/figure/syndie{
+ pixel_x = -9;
+ pixel_y = 0
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"bv" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 8
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"bw" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 9
+ },
+/obj/structure/flora/bush/reed/style_2,
+/turf/open/water/jungle,
+/area/ruin/syndibiodome)
+"bz" = (
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 4
+ },
+/obj/machinery/light/small/dim/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"bB" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/machinery/door/poddoor/shutters/window/indestructible{
+ id = "bsyndidomRD";
+ name = "Lockdown Shutters"
+ },
+/obj/structure/curtain/bounty,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"bC" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/glass/plastitanium,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"bG" = (
+/obj/effect/turf_decal/trimline/dark/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/footprints,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"bJ" = (
+/obj/structure/fluff/tram_rail/end{
+ dir = 8
+ },
+/obj/structure/marker_beacon/yellow{
+ pixel_x = -6;
+ pixel_y = -8
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"bK" = (
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"bR" = (
+/obj/effect/turf_decal/weather/snow/corner,
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"cb" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 5
+ },
+/obj/effect/turf_decal/weather/dirt{
+ dir = 6
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"ck" = (
+/obj/structure/flora/tree/pine/style_random,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"cm" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/fluff/fake_vent,
+/obj/effect/decal/cleanable/glass/plastitanium,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"cu" = (
+/obj/structure/tank_dispenser/oxygen,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"cx" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 4
+ },
+/obj/structure/fluff/fake_scrubber{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"cB" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/obj/machinery/smartfridge/organ,
+/obj/item/organ/internal/alien/resinspinner,
+/obj/item/organ/internal/eyes/night_vision,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"cE" = (
+/obj/structure/closet/crate,
+/obj/item/stack/sheet/mineral/plasma/thirty,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"cG" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/structure/rack,
+/obj/item/emergency_bed{
+ pixel_x = 9;
+ pixel_y = 8
+ },
+/obj/item/emergency_bed{
+ pixel_x = 6;
+ pixel_y = 8
+ },
+/obj/item/emergency_bed{
+ pixel_x = 3;
+ pixel_y = 8
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"cI" = (
+/obj/structure/door_assembly/door_assembly_highsecurity,
+/obj/structure/fans/tiny,
+/obj/effect/decal/cleanable/glass/plastitanium,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"cJ" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"cN" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 6
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"cO" = (
+/obj/structure/flora/tree/pine/style_2,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"di" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 10
+ },
+/obj/structure/flora/bush/flowers_pp/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"dk" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 6
+ },
+/obj/structure/flora/rock/pile/jungle/style_4,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"dl" = (
+/obj/effect/turf_decal/siding/wideplating_new/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"dJ" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/obj/structure/fluff/fake_scrubber,
+/obj/effect/turf_decal/trimline/purple/corner,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"dS" = (
+/obj/machinery/door/airlock/hatch,
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "biosurglockdown";
+ name = "Surgery Lockdown Shutters"
+ },
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"ek" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/obj/structure/closet,
+/obj/item/clothing/under/syndicate/bloodred/sleepytime,
+/obj/structure/sign/poster/contraband/energy_swords/directional/west,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"el" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/fluff/fake_vent,
+/obj/effect/turf_decal/trimline/dark/corner{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"eH" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 4
+ },
+/obj/structure/flora/bush/flowers_pp/style_3,
+/obj/structure/flora/rock/pile/jungle/style_4,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"eK" = (
+/obj/structure/chair/office/tactical{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/glass/plastitanium,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 10
+ },
+/area/ruin/syndibiodome)
+"eL" = (
+/obj/structure/flora/tree/jungle/small/style_2,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"eM" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 9
+ },
+/obj/structure/railing{
+ dir = 9
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"eO" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/fluff/fake_scrubber,
+/obj/effect/turf_decal/trimline/dark_red/line{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"fc" = (
+/obj/structure/filingcabinet{
+ pixel_x = 8;
+ pixel_y = 0
+ },
+/obj/structure/filingcabinet{
+ pixel_x = -8;
+ pixel_y = 0
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"fp" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"fI" = (
+/obj/structure/fluff/tram_rail/end{
+ dir = 1
+ },
+/obj/structure/marker_beacon/yellow{
+ pixel_x = 4;
+ pixel_y = 8
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"fO" = (
+/obj/structure/flora/bush/flowers_pp/style_3,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 10
+ },
+/obj/effect/turf_decal/weather/dirt{
+ dir = 4
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"fT" = (
+/obj/structure/chair/office/tactical{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"fU" = (
+/obj/machinery/door/firedoor,
+/obj/structure/fans/tiny,
+/obj/machinery/door/airlock/highsecurity{
+ name = "Syndicate Biodome Testing Facility"
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"fV" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/obj/structure/bed,
+/obj/item/bedsheet/syndie,
+/obj/machinery/light/small/dim/directional/south,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"gf" = (
+/obj/effect/turf_decal/trimline/dark/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/footprints,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"gt" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 6
+ },
+/obj/structure/flora/bush/reed/style_4{
+ pixel_x = 3;
+ pixel_y = 2
+ },
+/turf/open/water/jungle,
+/area/ruin/syndibiodome)
+"gu" = (
+/obj/effect/decal/cleanable/glass/plastitanium,
+/obj/effect/decal/cleanable/glass/plastitanium,
+/turf/open/misc/dirt/station,
+/area/ruin/syndibiodome)
+"gv" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"gB" = (
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"gH" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/gibspawner/generic,
+/obj/effect/decal/cleanable/blood/tracks,
+/obj/effect/decal/cleanable/blood/gibs/down,
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"gX" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"ha" = (
+/obj/machinery/exoscanner,
+/obj/structure/lattice/catwalk,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"he" = (
+/mob/living/basic/gorilla/genetics,
+/obj/effect/turf_decal/siding/wood/corner{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"hf" = (
+/obj/structure/flora/rock/pile,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"hj" = (
+/obj/effect/turf_decal/trimline/green/corner{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"hm" = (
+/mob/living/basic/gorilla/genetics,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"hr" = (
+/obj/structure/flora/grass/jungle/b/style_3,
+/obj/effect/gibspawner/human,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"hA" = (
+/obj/machinery/computer{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/obj/machinery/light/small/red/directional/west,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"hF" = (
+/obj/structure/chair/office/tactical{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating/dark,
+/obj/effect/mob_spawn/corpse/human/geneticist,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"hK" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 9
+ },
+/obj/structure/flora/rock/pile/jungle/style_4,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"hM" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/closet/crate/bin{
+ pixel_x = 0;
+ pixel_y = 6
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"hQ" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/structure/fluff/fake_scrubber{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/dark/corner{
+ dir = 2
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"hR" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"hS" = (
+/obj/effect/turf_decal/trimline/green/line,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/fluff/fake_vent,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"hU" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/obj/effect/turf_decal/trimline/purple/corner{
+ dir = 4
+ },
+/obj/item/kirbyplants/organic/plant22,
+/obj/structure/sign/warning/biohazard/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"hZ" = (
+/obj/effect/gibspawner/human/bodypartless,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"ic" = (
+/obj/machinery/portable_atmospherics/pump,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/dim/directional/north,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"io" = (
+/obj/item/lead_pipe,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"ip" = (
+/obj/structure/hedge,
+/obj/structure/railing{
+ dir = 10
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"iq" = (
+/obj/structure/flora/rock/pile/style_random,
+/mob/living/carbon/human/species/monkey/angry,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"ir" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/dim/directional/east,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"iG" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark{
+ dir = 1
+ },
+/obj/effect/gibspawner/generic,
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"iH" = (
+/obj/structure/flora/bush/fullgrass/style_random,
+/obj/structure/flora/bush/grassy/style_random,
+/obj/structure/flora/grass/jungle/b/style_random,
+/obj/structure/flora/bush/lavendergrass/style_random,
+/obj/structure/flora/bush/leafy,
+/obj/structure/flora/bush/flowers_br/style_random,
+/obj/structure/marker_beacon/lime,
+/obj/structure/window/reinforced/survival_pod/spawner/directional/west,
+/obj/structure/window/reinforced/survival_pod/spawner/directional/north,
+/obj/structure/window/reinforced/survival_pod/spawner/directional/east,
+/obj/structure/flora/bush/large{
+ pixel_y = -4
+ },
+/obj/structure/window/reinforced/survival_pod/spawner/directional/south,
+/turf/open/floor/iron/dark/textured,
+/area/ruin/syndibiodome)
+"iI" = (
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"iS" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark/end,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sign/poster/contraband/donk_co/directional/east,
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"iV" = (
+/obj/effect/turf_decal/trimline/green/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"iX" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"iZ" = (
+/obj/machinery/door/airlock/public/glass,
+/obj/machinery/door/firedoor,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"ja" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/surgery_tray/full,
+/obj/item/clothing/gloves/latex/coroner{
+ pixel_x = -1;
+ pixel_y = 8
+ },
+/obj/item/clothing/mask/surgical{
+ pixel_x = 6;
+ pixel_y = 10
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"jd" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/paper_bin,
+/obj/item/pen/red{
+ pixel_x = 5;
+ pixel_y = 6
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"je" = (
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"jp" = (
+/obj/structure/flora/bush/jungle/a/style_2,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"jv" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/structure/fluff/fake_vent,
+/obj/effect/turf_decal/siding/wood,
+/obj/effect/turf_decal/siding/wood/corner{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"jA" = (
+/obj/effect/decal/cleanable/blood/footprints,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"jQ" = (
+/turf/closed/indestructible/syndicate/nodiagonal,
+/area/icemoon/surface/outdoors/noteleport)
+"jR" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/dark_red/line,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"jS" = (
+/obj/structure/fluff/tram_rail/end{
+ dir = 4
+ },
+/obj/structure/marker_beacon/yellow{
+ pixel_x = -7;
+ pixel_y = 9
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"jT" = (
+/obj/structure/mirror/directional/east,
+/obj/machinery/light/small/dim/directional/east,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"jV" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/table/wood,
+/obj/machinery/light/small/red/directional/west,
+/obj/item/food/popcorn/salty{
+ pixel_x = -4;
+ pixel_y = 8
+ },
+/obj/item/food/popcorn/caramel{
+ pixel_x = 9;
+ pixel_y = 7
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/syndibiodome)
+"kb" = (
+/obj/structure/table/reinforced,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 8
+ },
+/obj/machinery/chem_dispenser/drinks{
+ dir = 4
+ },
+/obj/machinery/button/door/directional/west{
+ name = "Kitchen Shutter Control";
+ id = "bdomekitch"
+ },
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"kd" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/structure/curtain/bounty,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"km" = (
+/obj/effect/spawner/random/vending/snackvend,
+/obj/effect/turf_decal/siding/wideplating/dark/end{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"kq" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/light/small/red/directional/north,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"kt" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/gibspawner/human/bodypartless,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"kw" = (
+/obj/effect/decal/cleanable/blood/gibs/core,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"kz" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/obj/effect/turf_decal/weather/dirt,
+/obj/machinery/light/small/dim/directional/north,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"kA" = (
+/obj/effect/turf_decal/trimline/dark/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wideplating/dark,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"kH" = (
+/obj/machinery/computer{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/obj/machinery/light/small/red/directional/west,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"kJ" = (
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"kK" = (
+/obj/machinery/computer/operating{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/obj/structure/fluff/fake_camera{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"kO" = (
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"kQ" = (
+/obj/structure/chair/office/tactical{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"kX" = (
+/obj/machinery/computer{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"la" = (
+/obj/structure/table/wood,
+/obj/item/paper/carbon{
+ pixel_x = -5;
+ pixel_y = 4
+ },
+/obj/item/pen/red{
+ pixel_x = 5;
+ pixel_y = 6
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"lg" = (
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sign/warning/bodysposal/directional/north,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"lh" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/machinery/light/small/red/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet/black,
+/area/ruin/syndibiodome)
+"lm" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/structure/curtain/bounty/start_closed,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"lx" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/machinery/dna_scannernew,
+/obj/effect/mapping_helpers/broken_machine,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"lH" = (
+/obj/effect/turf_decal/siding/wood/end{
+ dir = 8
+ },
+/obj/structure/chair/stool/bar/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"me" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/structure/chair/comfy/brown{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet/black,
+/area/ruin/syndibiodome)
+"my" = (
+/obj/effect/turf_decal/trimline/green/corner{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"mA" = (
+/obj/structure/fans/tiny,
+/obj/machinery/door/airlock/grunge,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"mF" = (
+/obj/effect/decal/cleanable/oil,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"mK" = (
+/turf/open/misc/asteroid/snow/icemoon,
+/area/ruin/syndibiodome)
+"mV" = (
+/obj/effect/turf_decal/siding/wideplating/dark,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"mW" = (
+/obj/effect/spawner/random/trash,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"mZ" = (
+/turf/template_noop,
+/area/template_noop)
+"nk" = (
+/obj/effect/turf_decal/trimline/green/line{
+ dir = 8
+ },
+/obj/effect/mob_spawn/corpse/human/syndicatecommando/lessenedgear,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"nn" = (
+/obj/structure/hedge,
+/obj/structure/railing{
+ dir = 9
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"nx" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 5
+ },
+/turf/open/water/jungle,
+/area/ruin/syndibiodome)
+"nH" = (
+/obj/structure/fluff/fake_scrubber{
+ dir = 4
+ },
+/obj/structure/chair/office/tactical{
+ dir = 4
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"nO" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 1
+ },
+/obj/structure/table/reinforced,
+/obj/machinery/microwave,
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"nP" = (
+/obj/effect/turf_decal/weather/dirt,
+/obj/structure/flora/bush/flowers_pp/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"oc" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/wideplating/dark/corner,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"of" = (
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"oj" = (
+/obj/effect/mob_spawn/corpse/human/syndicatecommando/lessenedgear,
+/obj/effect/turf_decal/trimline/dark_red/line,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"oq" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"ox" = (
+/obj/effect/decal/cleanable/glass/plastitanium,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 8
+ },
+/obj/effect/turf_decal/weather/dirt{
+ dir = 5
+ },
+/obj/effect/turf_decal/weather/dirt,
+/turf/open/misc/dirt/station,
+/area/ruin/syndibiodome)
+"oA" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/effect/gibspawner/generic,
+/obj/structure/fluff/fake_vent,
+/obj/effect/turf_decal/siding/wood/corner,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"oG" = (
+/obj/effect/turf_decal/trimline/dark_blue/line{
+ dir = 8
+ },
+/obj/machinery/light/warm/directional/west,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/mob/living/basic/gorilla/genetics,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"oH" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/computer{
+ dir = 8
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"oK" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/obj/structure/fluff/fake_camera{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"oQ" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "biosurglockdown";
+ name = "Surgery Lockdown Shutters"
+ },
+/obj/structure/curtain/bounty/start_closed,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"oV" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/obj/structure/microscope{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/petri_dish/random{
+ pixel_x = 7;
+ pixel_y = 19
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"pg" = (
+/obj/structure/lattice,
+/obj/structure/minecart_rail,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"pj" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/machinery/door/poddoor/shutters/window/indestructible{
+ id = "biodomearmor";
+ name = "Security Post Lockdown Shutters"
+ },
+/obj/structure/curtain/bounty,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"pA" = (
+/obj/machinery/computer{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wideplating/dark/end{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/light/small/red/directional/north,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"pE" = (
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/airlock/hatch{
+ name = "Observation Room"
+ },
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"pN" = (
+/obj/effect/turf_decal/trimline/green/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"pY" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"qa" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/portable_atmospherics/pump,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"qh" = (
+/obj/machinery/light/warm/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/dark_red/line{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"qi" = (
+/obj/effect/decal/cleanable/blood,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"qp" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/gibs/up,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet/green,
+/area/ruin/syndibiodome)
+"qx" = (
+/obj/machinery/vending/cigarette/syndicate,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"qy" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/glass/plastitanium,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"qz" = (
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 10
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"qB" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/fluff/fake_scrubber{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"qC" = (
+/obj/structure/chair/office/tactical{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 8
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"qN" = (
+/turf/closed/indestructible/syndicate,
+/area/ruin/syndibiodome)
+"qU" = (
+/obj/structure/fluff/fake_camera{
+ dir = 10
+ },
+/obj/structure/closet/crate/bin,
+/obj/effect/turf_decal/trimline/blue/corner{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"qV" = (
+/obj/structure/flora/bush/flowers_yw/style_3,
+/obj/structure/flora/bush/flowers_br/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"rs" = (
+/obj/effect/turf_decal/trimline/dark_red/corner{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"rK" = (
+/obj/structure/table/optable,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/mob/living/carbon/human/species/monkey/angry,
+/obj/machinery/light/warm/directional/north,
+/obj/machinery/digital_clock/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"rQ" = (
+/obj/effect/decal/cleanable/dirt,
+/mob/living/basic/gorilla/genetics,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"rX" = (
+/obj/effect/turf_decal/siding/wideplating/dark/end{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"rZ" = (
+/obj/machinery/light/small/dim/directional/north,
+/obj/machinery/power/port_gen/pacman,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"si" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/structure/curtain/bounty/start_closed,
+/obj/structure/fans/tiny/invisible,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"sj" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 4
+ },
+/obj/structure/flora/bush/flowers_pp/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"sD" = (
+/obj/item/kirbyplants/organic/plant22,
+/obj/effect/turf_decal/trimline/blue/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"sJ" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 6
+ },
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 10
+ },
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"sM" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/gibspawner/generic,
+/mob/living/basic/clown/mutant/glutton,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"sN" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/fluff/fake_vent,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"sR" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/obj/structure/bed/double,
+/obj/item/bedsheet/syndie/double,
+/turf/open/floor/carpet/green,
+/area/ruin/syndibiodome)
+"tb" = (
+/obj/machinery/vatgrower{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/mapping_helpers/broken_machine,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"td" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"tk" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/dark_red/line{
+ dir = 8
+ },
+/obj/structure/sign/poster/contraband/gorlex_recruitment/directional/west,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"tq" = (
+/obj/effect/turf_decal/siding/wood/end{
+ dir = 4
+ },
+/obj/structure/table/wood,
+/obj/item/flashlight/lamp/green,
+/obj/item/toy/figure/syndie{
+ pixel_x = 11;
+ pixel_y = -1
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"ts" = (
+/obj/effect/turf_decal/trimline/dark/line,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"tx" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"tK" = (
+/obj/effect/turf_decal/trimline/green/corner,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"tL" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 5
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"ue" = (
+/obj/effect/turf_decal/trimline/dark_red/line{
+ dir = 10
+ },
+/obj/item/kirbyplants/organic/plant22,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"ui" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 5
+ },
+/obj/structure/fluff/fake_scrubber{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"up" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 6
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"uq" = (
+/obj/effect/turf_decal/trimline/dark_blue/line{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"us" = (
+/obj/effect/turf_decal/trimline/green/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"ux" = (
+/obj/structure/chair/sofa/bench/left{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"uD" = (
+/obj/structure/fluff/tram_rail/end{
+ dir = 4
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"uE" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/obj/machinery/reagentgrinder{
+ pixel_x = -3;
+ pixel_y = 13
+ },
+/obj/item/biopsy_tool{
+ pixel_x = 24;
+ pixel_y = 5
+ },
+/obj/item/swab{
+ pixel_y = -8;
+ pixel_x = -6
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/petri_dish/random{
+ pixel_x = 5;
+ pixel_y = -1
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"uG" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 10
+ },
+/obj/structure/railing{
+ dir = 10
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"uH" = (
+/obj/effect/decal/cleanable/blood/footprints,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/kirbyplants/organic/plant22,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"uL" = (
+/obj/effect/mob_spawn/corpse/human/syndicatecommando/lessenedgear,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"uS" = (
+/obj/effect/mob_spawn/corpse/human/geneticist,
+/obj/effect/decal/cleanable/blood,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"uW" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/gibspawner/human/bodypartless,
+/obj/effect/turf_decal/trimline/blue/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"vc" = (
+/obj/effect/turf_decal/trimline/green/line,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"vg" = (
+/obj/structure/chair/sofa/bench{
+ dir = 1
+ },
+/obj/machinery/light/warm/directional/south,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"vl" = (
+/obj/structure/rack,
+/obj/item/clothing/mask/gas/syndicate{
+ pixel_x = -6;
+ pixel_y = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/item/clothing/suit/hooded/explorer/syndicate{
+ pixel_x = 7;
+ pixel_y = 3
+ },
+/obj/item/pickaxe/drill/diamonddrill{
+ pixel_x = 0;
+ pixel_y = 1
+ },
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"vs" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"vu" = (
+/obj/structure/flora/bush/flowers_br/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"vw" = (
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"vx" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"vA" = (
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"vF" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"vJ" = (
+/obj/effect/decal/cleanable/dirt,
+/mob/living/basic/gorilla/genetics,
+/obj/effect/turf_decal/trimline/purple/corner,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"vK" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 8
+ },
+/obj/structure/fluff/fake_vent,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"vN" = (
+/obj/item/kirbyplants/organic/plant22,
+/obj/effect/turf_decal/trimline/dark_red/corner,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"vO" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/dark_red/line,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"vP" = (
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"vZ" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 5
+ },
+/obj/structure/railing{
+ dir = 5
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"wd" = (
+/obj/effect/decal/cleanable/blood/tracks,
+/obj/structure/table/reinforced,
+/obj/item/knife/butcher,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/glass/reinforced,
+/area/ruin/syndibiodome)
+"wf" = (
+/obj/structure/hedge,
+/obj/structure/railing{
+ dir = 6
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"wi" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/reagent_containers/spray/cleaner{
+ pixel_x = -3;
+ pixel_y = 10
+ },
+/obj/item/clothing/gloves/latex,
+/obj/item/clothing/gloves/latex{
+ pixel_x = 5;
+ pixel_y = 7
+ },
+/obj/item/clothing/mask/surgical,
+/obj/item/clothing/mask/surgical{
+ pixel_x = 1;
+ pixel_y = 8
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"ws" = (
+/obj/structure/chair/office/tactical{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/mob_spawn/corpse/human/syndicatepilot,
+/obj/effect/gibspawner/human/bodypartless,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"wx" = (
+/obj/machinery/computer/operating{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/obj/structure/fluff/fake_camera{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"wL" = (
+/obj/effect/gibspawner/human/bodypartless,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"wQ" = (
+/obj/effect/decal/cleanable/blood/drip,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"wR" = (
+/obj/effect/mob_spawn/corpse/human/geneticist,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/purple/corner{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"wT" = (
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 8
+ },
+/obj/machinery/light/warm/directional/west,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/gibspawner/human/bodypartless,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"wY" = (
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"xd" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 9
+ },
+/obj/effect/turf_decal/weather/dirt{
+ dir = 10
+ },
+/turf/open/water/jungle,
+/area/ruin/syndibiodome)
+"xf" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/computer{
+ dir = 8
+ },
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"xh" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/warm/directional/east,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"xi" = (
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"xj" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/gibspawner/human/bodypartless,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"xk" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/fluff/fake_vent,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"xn" = (
+/obj/effect/turf_decal/trimline/green/line{
+ dir = 1
+ },
+/obj/effect/gibspawner/generic,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"xq" = (
+/obj/item/kirbyplants/organic/plant22,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/dark_red/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"xr" = (
+/obj/effect/turf_decal/weather/dirt,
+/obj/structure/flora/rock/pile/jungle,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"xx" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 6
+ },
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 5
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"xz" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 8
+ },
+/obj/structure/flora/rock/pile/jungle/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"xB" = (
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 8
+ },
+/obj/effect/gibspawner/human/bodypartless,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"xH" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"xL" = (
+/obj/effect/turf_decal/trimline/dark/line{
+ dir = 1
+ },
+/mob/living/carbon/human/species/monkey/angry,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/footprints,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"xN" = (
+/obj/structure/fluff/tram_rail/electric/anchor{
+ dir = 1
+ },
+/obj/structure/marker_beacon/burgundy{
+ pixel_x = 1;
+ pixel_y = 6
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"xP" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark/corner,
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sign/clock/directional/west,
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"xZ" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/chair/comfy/shuttle,
+/obj/machinery/button/door/directional/west{
+ name = "Armory Lockdown";
+ id = "biodomearmor"
+ },
+/turf/open/floor/carpet/green,
+/area/ruin/syndibiodome)
+"yd" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/obj/structure/flora/bush/flowers_pp/style_3,
+/obj/machinery/light/floor,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"yi" = (
+/obj/effect/turf_decal/trimline/dark_red/warning{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/bodypart/leg/right/skeleton,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"yj" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 5
+ },
+/obj/structure/flora/bush/flowers_br/style_3,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 5
+ },
+/obj/structure/fluff/fake_camera{
+ dir = 4
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"ym" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/dim/directional/west,
+/obj/effect/turf_decal/siding/wideplating/dark/end{
+ dir = 8
+ },
+/obj/structure/bodycontainer/crematorium/creamatorium{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"ys" = (
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"yt" = (
+/obj/structure/table/wood,
+/obj/item/storage/fancy/cigarettes/cigars{
+ pixel_x = -3;
+ pixel_y = 6
+ },
+/obj/item/lighter{
+ pixel_x = 13;
+ pixel_y = -2
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/turf/open/floor/carpet/green,
+/area/ruin/syndibiodome)
+"yy" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood,
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"yH" = (
+/obj/effect/decal/cleanable/blood/splatter/over_window,
+/obj/effect/decal/cleanable/blood/trails,
+/obj/effect/decal/cleanable/glass/plastitanium,
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "biosurglockdown";
+ name = "Surgery Lockdown Shutters"
+ },
+/obj/structure/curtain/bounty/start_closed,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"yL" = (
+/obj/effect/turf_decal/trimline/dark_blue/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/fluff/fake_camera{
+ dir = 10
+ },
+/obj/machinery/digital_clock/directional/west,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"yN" = (
+/obj/effect/turf_decal/weather/dirt,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"yU" = (
+/mob/living/carbon/human/species/monkey/angry,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 9
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"zc" = (
+/obj/structure/flora/rock/pile/style_3,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"zd" = (
+/obj/structure/fluff/tram_rail/end,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"ze" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/obj/structure/dresser,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"zl" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 8
+ },
+/obj/structure/tank_dispenser/oxygen,
+/obj/machinery/light/warm/directional/east,
+/obj/machinery/digital_clock/directional/east,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"zu" = (
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"zy" = (
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 2
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"zD" = (
+/obj/effect/turf_decal/weather/snow/corner,
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 1
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"zF" = (
+/obj/effect/turf_decal/trimline/green/corner,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"zG" = (
+/obj/effect/turf_decal/trimline/dark/corner{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"zI" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/glass/plastitanium,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"zM" = (
+/turf/closed/indestructible/syndicate/nodiagonal,
+/area/ruin/syndibiodome)
+"zP" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Observation Room"
+ },
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"zT" = (
+/obj/machinery/door/airlock/external/ruin,
+/obj/structure/fans/tiny,
+/obj/effect/mapping_helpers/airlock/locked,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"Ab" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Surgery Room #1"
+ },
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "biosurglockdown";
+ name = "Surgery Lockdown Shutters"
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Av" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/structure/curtain/bounty/start_closed,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"Aw" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/weather/snow/corner,
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"Ax" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/turf_decal/trimline/blue/corner{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Ay" = (
+/obj/structure/closet/crate,
+/obj/item/stack/sheet/mineral/bananium/five,
+/obj/item/stack/sheet/mineral/bananium/five,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"AA" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/computer{
+ dir = 4
+ },
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"AI" = (
+/obj/structure/fluff/tram_rail/end,
+/obj/structure/marker_beacon/yellow{
+ pixel_x = 7;
+ pixel_y = -9
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"AV" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/obj/structure/closet/syndicate,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/storage/belt/security/webbing,
+/obj/item/storage/toolbox/syndicate,
+/obj/item/gun/ballistic/automatic/pistol,
+/obj/item/ammo_box/magazine/m10mm,
+/obj/item/ammo_box/magazine/m10mm,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Ba" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/keycard/blue{
+ name = "Syndicate Research Directors Room Key"
+ },
+/obj/item/paperwork/research{
+ pixel_x = 7;
+ pixel_y = 19
+ },
+/obj/item/pen/red{
+ pixel_x = 5;
+ pixel_y = 6
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Bl" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 10
+ },
+/obj/structure/flora/bush/jungle/a/style_2,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"Bo" = (
+/obj/effect/turf_decal/weather/snow/corner,
+/obj/effect/decal/cleanable/blood/footprints,
+/obj/structure/railing/corner{
+ dir = 1
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"Br" = (
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 4
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Bs" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/obj/structure/flora/bush/flowers_yw/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"Bw" = (
+/obj/machinery/light/warm/directional/south,
+/obj/effect/turf_decal/trimline/dark_red/corner{
+ dir = 2
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"By" = (
+/obj/item/kirbyplants/organic/plant22,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"BY" = (
+/obj/effect/turf_decal/siding/wideplating/dark,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/blood/footprints,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Ct" = (
+/obj/item/kirbyplants/organic/plant22,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/dark_red/corner{
+ dir = 8
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"CG" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/hatch{
+ name = "Security Post"
+ },
+/obj/machinery/door/poddoor/shutters/window/indestructible{
+ id = "biodomearmor";
+ name = "Security Post Lockdown Shutters"
+ },
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"CK" = (
+/obj/effect/turf_decal/trimline/green/corner{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"CS" = (
+/obj/structure/flora/grass/jungle/a/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"CV" = (
+/obj/structure/hedge,
+/obj/structure/railing{
+ dir = 5
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"CW" = (
+/obj/effect/turf_decal/trimline/dark_blue/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 2
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Db" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/space_heater,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"Dc" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/structure/dresser,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"Dd" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark/end{
+ dir = 1
+ },
+/obj/structure/table/reinforced,
+/obj/machinery/chem_dispenser/drinks/beer{
+ dir = 4
+ },
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"Dg" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 1
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"Dl" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 8
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"Do" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/machinery/door/poddoor/shutters/indestructible{
+ id = "biosurglockdown";
+ name = "Surgery Lockdown Shutters"
+ },
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"Dr" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/structure/fluff/fake_camera{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 5
+ },
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"DI" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/obj/machinery/computer/scan_consolenew,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"DL" = (
+/obj/structure/dresser,
+/obj/machinery/digital_clock/directional/east,
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"DS" = (
+/obj/effect/turf_decal/trimline/neutral/line,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Eq" = (
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Es" = (
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"Ex" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 8
+ },
+/obj/machinery/light/warm/directional/west,
+/obj/machinery/chem_master,
+/obj/structure/sign/poster/contraband/communist_state/directional/west,
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"EE" = (
+/mob/living/carbon/human/species/monkey/angry,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"EO" = (
+/obj/machinery/griddle,
+/obj/effect/mob_spawn/corpse/human/charredskeleton{
+ pixel_x = 0;
+ pixel_y = 3
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark/end{
+ dir = 4
+ },
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"EX" = (
+/obj/machinery/door/poddoor/shutters/window/indestructible{
+ id = "biodomearmor";
+ name = "Security Post Lockdown Shutters"
+ },
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/structure/curtain/bounty,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"EY" = (
+/obj/effect/turf_decal/trimline/dark_blue/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/footprints,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Fd" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/dark/line,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"Fe" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/dark_red/line,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Fg" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 10
+ },
+/obj/structure/flora/bush/flowers_pp/style_3,
+/obj/structure/flora/rock/pile/jungle,
+/obj/structure/fluff/fake_camera{
+ dir = 10
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"Fl" = (
+/obj/effect/turf_decal/trimline/green/line,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/fluff/fake_scrubber{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Fn" = (
+/obj/effect/turf_decal/weather/dirt,
+/obj/structure/flora/grass/jungle/a/style_random,
+/obj/machinery/light/small/dim/directional/south,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"Fp" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 8
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"FE" = (
+/obj/effect/turf_decal/trimline/dark/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"FH" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/obj/structure/flora/bush/flowers_yw/style_3,
+/obj/structure/flora/bush/flowers_br/style_3,
+/obj/structure/flora/tree/jungle/small/style_6{
+ pixel_x = -33;
+ pixel_y = -6
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"FL" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/obj/structure/bed,
+/obj/item/bedsheet/syndie,
+/obj/machinery/light/small/dim/directional/east,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"FP" = (
+/obj/structure/railing/corner/end/flip{
+ dir = 8
+ },
+/turf/closed/indestructible/syndicate,
+/area/ruin/syndibiodome)
+"FT" = (
+/obj/structure/flora/grass/jungle/a/style_5,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"FW" = (
+/obj/effect/decal/cleanable/blood/gibs/down,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Ga" = (
+/obj/structure/railing/corner{
+ dir = 1
+ },
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"Gh" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sign/poster/contraband/free_key/directional/east,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Gm" = (
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Gp" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/effect/gibspawner/generic,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"Gr" = (
+/turf/open/misc/asteroid/snow/icemoon,
+/area/template_noop)
+"Gx" = (
+/obj/structure/fluff/tram_rail/end{
+ dir = 1
+ },
+/obj/structure/marker_beacon/yellow{
+ pixel_x = 6;
+ pixel_y = 8
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"Gz" = (
+/obj/machinery/door/airlock/freezer{
+ name = "Kitchen"
+ },
+/obj/machinery/door/poddoor/shutters/window/indestructible/preopen{
+ name = "Syndicate Biodome Kitchen Shutters";
+ id = "bdomekitch"
+ },
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"GA" = (
+/obj/structure/fake_stairs/wood/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"GD" = (
+/obj/effect/turf_decal/trimline/green/corner{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"GM" = (
+/obj/item/kirbyplants/organic/plant22,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Hi" = (
+/obj/structure/fluff/tram_rail/electric/anchor,
+/obj/structure/marker_beacon/burgundy{
+ pixel_x = 1;
+ pixel_y = -3
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"Hp" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/obj/structure/sign/clock/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet/black,
+/area/ruin/syndibiodome)
+"Hs" = (
+/obj/structure/flora/bush/flowers_br/style_3,
+/obj/structure/flora/bush/flowers_yw/style_3,
+/mob/living/carbon/human/species/monkey/angry,
+/obj/effect/gibspawner/human/bodypartless,
+/obj/effect/mob_spawn/corpse/human/syndicatecommando/lessenedgear,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"Hy" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark,
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/obj/item/food/pizza/donkpocket{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/machinery/door/poddoor/shutters/window/indestructible/preopen{
+ name = "Syndicate Biodome Kitchen Shutters";
+ id = "bdomekitch"
+ },
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"HB" = (
+/obj/effect/turf_decal/weather/dirt,
+/turf/open/water/jungle,
+/area/ruin/syndibiodome)
+"Ia" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Ib" = (
+/obj/machinery/dna_scannernew,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/effect/mapping_helpers/broken_machine,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Ie" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet/black,
+/area/ruin/syndibiodome)
+"If" = (
+/obj/effect/turf_decal/trimline/green/line{
+ dir = 1
+ },
+/obj/structure/fluff/fake_scrubber,
+/obj/effect/decal/cleanable/glass/plastitanium,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Ii" = (
+/obj/structure/table/reinforced,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/window/indestructible/preopen{
+ name = "Syndicate Biodome Kitchen Shutters";
+ id = "bdomekitch"
+ },
+/obj/effect/spawner/random/food_or_drink/salad{
+ pixel_x = 0;
+ pixel_y = 5
+ },
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"Ij" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/dark_red/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"IF" = (
+/obj/effect/mob_spawn/corpse/human/syndicatecommando/lessenedgear,
+/obj/effect/turf_decal/siding/wideplating/dark/end{
+ dir = 8
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"II" = (
+/obj/effect/turf_decal/weather/snow/corner,
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 1
+ },
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"IR" = (
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"IU" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 5
+ },
+/obj/structure/flora/rock/pile/jungle/style_5,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"Jg" = (
+/obj/effect/turf_decal/weather/snow/corner,
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 1
+ },
+/obj/structure/railing/corner,
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"Jk" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/fans/tiny,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/dark/line{
+ dir = 8
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Jm" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/wideplating/dark/corner,
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Jo" = (
+/obj/structure/chair/office/tactical{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/mob_spawn/corpse/human/syndicatecommando/lessenedgear,
+/turf/open/floor/iron/dark/side{
+ dir = 9
+ },
+/area/ruin/syndibiodome)
+"Jz" = (
+/obj/effect/turf_decal/trimline/green/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"JC" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 1
+ },
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/obj/machinery/light/warm/directional/west,
+/obj/machinery/door/poddoor/shutters/window/indestructible/preopen{
+ name = "Syndicate Biodome Kitchen Shutters";
+ id = "bdomekitch"
+ },
+/obj/effect/spawner/random/food_or_drink/jelly_donuts{
+ pixel_x = -4;
+ pixel_y = 7
+ },
+/obj/effect/spawner/random/food_or_drink/jelly_donuts{
+ pixel_x = 7;
+ pixel_y = 2
+ },
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"JQ" = (
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/dark_red/line,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"JU" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 10
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"JZ" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/glass/plastitanium,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/green/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Ki" = (
+/obj/machinery/door/airlock/public/glass,
+/obj/machinery/door/firedoor,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"Kn" = (
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 2
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Ks" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/wideplating/dark/end{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"Kz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"KA" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 9
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"KE" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark,
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/obj/item/toy/cards/deck/syndicate{
+ pixel_x = 0;
+ pixel_y = 5
+ },
+/obj/machinery/door/poddoor/shutters/window/indestructible/preopen{
+ name = "Syndicate Biodome Kitchen Shutters";
+ id = "bdomekitch"
+ },
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"KF" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"KS" = (
+/obj/structure/table/wood,
+/obj/item/documents/syndicate{
+ pixel_x = 1;
+ pixel_y = 6
+ },
+/obj/machinery/button/door/directional/west{
+ name = "Window Shutter Control";
+ id = "bsyndidomRD"
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"KX" = (
+/obj/structure/chair/office/tactical{
+ dir = 4
+ },
+/obj/effect/gibspawner/human/bodypartless,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/side{
+ dir = 5
+ },
+/area/ruin/syndibiodome)
+"Lc" = (
+/obj/effect/decal/cleanable/blood/drip,
+/obj/machinery/pdapainter/research,
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/obj/item/toy/figure/dsquad{
+ pixel_x = -8;
+ pixel_y = 8
+ },
+/obj/item/toy/figure/syndie{
+ pixel_x = 3;
+ pixel_y = -1
+ },
+/obj/item/toy/figure/syndie{
+ pixel_x = 5;
+ pixel_y = 10
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"Le" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/glass/plastitanium,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"Lg" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/obj/structure/closet/syndicate,
+/obj/item/clothing/mask/gas/syndicate,
+/obj/machinery/light/small/dim/directional/west,
+/obj/item/polymorph_belt/functioning,
+/obj/item/pen/edagger,
+/obj/item/clothing/under/costume/schoolgirl/red,
+/obj/structure/sign/poster/contraband/communist_state/directional/west,
+/turf/open/floor/carpet/green,
+/area/ruin/syndibiodome)
+"Lm" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/obj/machinery/computer{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Lv" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/weather/snow/corner,
+/obj/machinery/light/warm/dim/directional/north,
+/turf/open/floor/stone,
+/area/ruin/syndibiodome)
+"Ly" = (
+/obj/structure/aquarium/prefilled,
+/obj/structure/sign/poster/contraband/blood_geometer/directional/west,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"LA" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/dim/directional/west,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"LB" = (
+/obj/machinery/doppler_array,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"LH" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 5
+ },
+/obj/structure/flora/rock/pile/jungle/style_random,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"LJ" = (
+/obj/effect/turf_decal/siding/wood/end{
+ dir = 4
+ },
+/obj/structure/chair/stool/bar/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"LN" = (
+/obj/structure/marker_beacon/burgundy,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"LR" = (
+/obj/effect/turf_decal/trimline/dark_red/warning{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/mob_spawn/corpse/human/skeleton,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"LT" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/reagent_containers/cup/bucket,
+/obj/item/pushbroom,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"LU" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"Mb" = (
+/obj/machinery/door/firedoor,
+/obj/structure/fans/tiny,
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "Biodome Entrance"
+ },
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"Mc" = (
+/obj/structure/hedge,
+/obj/structure/railing{
+ dir = 5
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"Ml" = (
+/obj/effect/decal/cleanable/blood/splatter/over_window,
+/obj/structure/railing/corner/end{
+ dir = 8
+ },
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"Mo" = (
+/obj/effect/turf_decal/siding/wideplating_new/dark{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/tracks,
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"Mp" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 6
+ },
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"Mr" = (
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"Mt" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/obj/item/folder/syndicate/red{
+ pixel_x = 5;
+ pixel_y = 3
+ },
+/obj/machinery/light/warm/directional/east,
+/obj/structure/fluff/fake_camera{
+ dir = 4
+ },
+/obj/item/reagent_containers/cup/tube{
+ pixel_x = -6;
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/cup/tube{
+ pixel_x = 0;
+ pixel_y = 2
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Mu" = (
+/obj/structure/flora/tree/jungle/style_6,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"MB" = (
+/obj/effect/mob_spawn/corpse/human/doctor,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"MH" = (
+/obj/structure/flora/rock/pile/style_random,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"MK" = (
+/obj/machinery/light/small/dim/directional/south,
+/obj/effect/turf_decal/siding/wideplating/dark/end,
+/obj/item/toy/plush/nukeplushie,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"MM" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"MO" = (
+/obj/effect/decal/cleanable/glass/plastitanium,
+/turf/open/misc/dirt/station,
+/area/ruin/syndibiodome)
+"MP" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/dim/directional/north,
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"MR" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/dark_red/line,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"MU" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/mob/living/carbon/human/species/monkey/angry,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/dark/line,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"MX" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/obj/machinery/computer/scan_consolenew{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Nj" = (
+/obj/structure/flora/bush/fullgrass/style_random,
+/obj/structure/flora/bush/grassy/style_random,
+/obj/structure/flora/grass/jungle/b/style_random,
+/obj/structure/flora/bush/lavendergrass/style_random,
+/obj/structure/flora/bush/leafy,
+/obj/structure/flora/bush/flowers_br/style_random,
+/obj/structure/marker_beacon/lime,
+/obj/structure/window/reinforced/survival_pod/spawner/directional/west,
+/obj/structure/window/reinforced/survival_pod/spawner/directional/south,
+/obj/structure/window/reinforced/survival_pod/spawner/directional/north,
+/obj/structure/window/reinforced/survival_pod/spawner/directional/east,
+/obj/structure/flora/bush/large{
+ pixel_y = -4
+ },
+/turf/open/floor/iron/dark/textured,
+/area/ruin/syndibiodome)
+"Nl" = (
+/obj/machinery/light/warm/dim/directional/west,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/ruin/syndibiodome)
+"No" = (
+/obj/structure/table/reinforced,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/glass/reinforced,
+/area/ruin/syndibiodome)
+"Ns" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 8
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"Nt" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 9
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"NB" = (
+/obj/effect/turf_decal/trimline/neutral/line,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"NE" = (
+/obj/machinery/light/warm/directional/east,
+/obj/machinery/vending/dinnerware,
+/obj/effect/turf_decal/siding/thinplating_new/dark/end{
+ dir = 1
+ },
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"NH" = (
+/obj/structure/flora/bush/flowers_pp/style_3,
+/obj/structure/flora/bush/flowers_yw,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 6
+ },
+/mob/living/basic/gorilla/genetics,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"NN" = (
+/obj/structure/flora/grass/jungle/b/style_2,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"NP" = (
+/obj/effect/turf_decal/trimline/dark_red/line,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Oi" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/effect/gibspawner/generic,
+/obj/machinery/digital_clock/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Ol" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/neutral/line,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Os" = (
+/obj/structure/bodycontainer/morgue/beeper_off{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/tram/filled,
+/turf/open/floor/pod/dark,
+/area/ruin/syndibiodome)
+"Oy" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/machinery/door/poddoor/shutters/indestructible{
+ name = "Cytology Shutters"
+ },
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"OD" = (
+/mob/living/carbon/human/species/monkey/angry,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 6
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"OH" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 8
+ },
+/obj/machinery/door/airlock/external/ruin,
+/obj/effect/mapping_helpers/airlock/locked,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"OI" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/obj/effect/spawner/random/vending/snackvend,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"OK" = (
+/obj/machinery/light/small/dim/directional/south,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"OL" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/obj/structure/closet/syndicate,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/light/warm/directional/east,
+/obj/item/storage/belt/security/webbing,
+/obj/item/gun/ballistic/automatic/pistol/contraband,
+/obj/item/ammo_box/magazine/m10mm,
+/obj/item/ammo_box/magazine/m10mm,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"OM" = (
+/obj/effect/turf_decal/trimline/dark_blue/line{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark/corner,
+/obj/structure/sign/poster/contraband/free_drone/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"ON" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/dim/directional/south,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"OO" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/effect/mob_spawn/corpse/human/syndicatecommando/lessenedgear,
+/obj/machinery/light/small/dim/directional/south,
+/obj/effect/turf_decal/trimline/dark/line,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"OR" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/structure/closet,
+/obj/item/clothing/under/syndicate/bloodred/sleepytime,
+/obj/item/pillow,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"Pq" = (
+/obj/machinery/door/poddoor/shutters{
+ name = "Biodome Transport Shutters"
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"Pw" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/surgery_tray/full,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/obj/item/clothing/mask/surgical{
+ pixel_x = -4;
+ pixel_y = 2
+ },
+/obj/item/clothing/gloves/latex{
+ pixel_x = 5;
+ pixel_y = 7
+ },
+/obj/item/mmi/syndie{
+ pixel_x = 7;
+ pixel_y = 6
+ },
+/obj/item/clothing/gloves/latex/coroner{
+ pixel_x = 0;
+ pixel_y = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"PB" = (
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"PC" = (
+/obj/structure/hedge,
+/obj/structure/railing{
+ dir = 10
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/machinery/light/warm/directional/east,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"PM" = (
+/obj/structure/flora/grass/jungle/a/style_2,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"PY" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/dark_red/line{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Qc" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/machinery/door/poddoor/shutters/window/indestructible{
+ id = "biodomearmor";
+ name = "Security Post Lockdown Shutters"
+ },
+/obj/structure/curtain/bounty/start_closed,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"Qn" = (
+/obj/effect/turf_decal/trimline/dark_blue/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Qs" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Surgical Observation Room #1"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"QC" = (
+/obj/effect/turf_decal/trimline/dark/corner{
+ dir = 2
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"QE" = (
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"QG" = (
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"QM" = (
+/obj/structure/tank_dispenser/oxygen,
+/obj/machinery/light/small/dim/directional/north,
+/obj/effect/turf_decal/siding/wideplating/dark/end{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"QS" = (
+/obj/structure/chair/sofa/bench/right{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Ra" = (
+/obj/structure/table/optable,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/machinery/light/warm/directional/north,
+/obj/item/bodypart/head/monkey,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Ro" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet/toolcloset,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"Rv" = (
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "Biodome Entrance"
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/fans/tiny,
+/obj/effect/mapping_helpers/airlock/locked,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"RG" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 9
+ },
+/obj/structure/flora/bush/flowers_yw/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"RH" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/obj/item/bodypart/leg/left/monkey,
+/obj/item/bodypart/leg/right/monkey,
+/obj/item/scalpel/advanced,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"RK" = (
+/mob/living/carbon/human/species/monkey/angry,
+/obj/structure/chair/office/tactical{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/side{
+ dir = 6
+ },
+/area/ruin/syndibiodome)
+"RL" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/marker_beacon/burgundy{
+ pixel_x = 1;
+ pixel_y = 6
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"RX" = (
+/obj/effect/turf_decal/siding/wideplating/dark,
+/mob/living/basic/gorilla/genetics,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Se" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 10
+ },
+/obj/structure/flora/bush/flowers_pp/style_3,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"Sr" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Ss" = (
+/obj/effect/decal/cleanable/blood/drip,
+/obj/machinery/light/warm/directional/west,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"St" = (
+/obj/structure/fans/tiny,
+/obj/structure/door_assembly/door_assembly_grunge,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Sv" = (
+/obj/effect/spawner/random/trash,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"SA" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark,
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"SE" = (
+/obj/machinery/oven/range,
+/obj/effect/turf_decal/siding/thinplating_new/dark/end{
+ dir = 8
+ },
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"SH" = (
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/vending/colavend,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"SJ" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/obj/machinery/door/airlock/hatch{
+ name = "Genetic Testing"
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"SK" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/dim/directional/north,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"SM" = (
+/obj/effect/turf_decal/trimline/green/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"SO" = (
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 5
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"SS" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 9
+ },
+/obj/structure/flora/bush/flowers_br/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"ST" = (
+/obj/structure/flora/grass/jungle/a/style_random,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"SY" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Tc" = (
+/obj/structure/hedge,
+/obj/structure/railing{
+ dir = 6
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"Te" = (
+/obj/structure/fans/tiny,
+/obj/machinery/door/puzzle/keycard/blue_required{
+ name = "Syndicate Research Director's Office"
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Tf" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/fluff/fake_scrubber{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/glass/plastitanium,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/ruin/syndibiodome)
+"Tu" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/item/folder/syndicate{
+ pixel_x = -2;
+ pixel_y = 5
+ },
+/obj/item/food/grown/banana/bunch{
+ pixel_x = 7;
+ pixel_y = 5
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Tw" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/obj/effect/turf_decal/trimline/blue/corner{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Tx" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 1
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"Ty" = (
+/obj/effect/turf_decal/trimline/dark/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wideplating/dark,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/gibs/core,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"TC" = (
+/obj/effect/turf_decal/trimline/green/line,
+/obj/effect/decal/cleanable/blood/gibs/down,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"TF" = (
+/obj/structure/closet/secure_closet/freezer/fridge,
+/obj/item/food/meat/rawcutlet/bear,
+/obj/item/food/meat/rawcutlet/bear,
+/obj/item/food/meat/rawbacon,
+/obj/item/food/meat/rawbacon,
+/obj/item/food/meat/rawbacon,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 8
+ },
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"TJ" = (
+/obj/structure/closet/crate,
+/obj/item/stack/sheet/mineral/uranium/five,
+/obj/item/stack/sheet/mineral/uranium/five,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"TL" = (
+/obj/structure/chair/office/tactical,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"TM" = (
+/obj/effect/decal/cleanable/blood/drip,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/chair/comfy/black{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"TQ" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 5
+ },
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"Uc" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/obj/structure/fluff/fake_vent,
+/obj/effect/gibspawner/generic,
+/turf/open/floor/carpet/green,
+/area/ruin/syndibiodome)
+"Ug" = (
+/obj/structure/flora/bush/flowers_pp/style_3,
+/obj/machinery/light/floor,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"Uh" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/gibspawner/human/bodypartless,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"Ui" = (
+/obj/structure/rack,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 9
+ },
+/obj/item/pickaxe/drill,
+/obj/item/pickaxe/drill{
+ pixel_x = 0;
+ pixel_y = 8
+ },
+/obj/item/pickaxe/drill{
+ pixel_x = 1;
+ pixel_y = -6
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Ut" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/ruin/syndibiodome)
+"Uu" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/paper_bin,
+/obj/item/pen,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"Ux" = (
+/mob/living/basic/gorilla/genetics,
+/obj/effect/gibspawner/human/bodypartless,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Uz" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 1
+ },
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/obj/structure/desk_bell{
+ pixel_x = 15;
+ pixel_y = 7
+ },
+/obj/machinery/door/poddoor/shutters/window/indestructible/preopen{
+ name = "Syndicate Biodome Kitchen Shutters";
+ id = "bdomekitch"
+ },
+/obj/effect/spawner/random/food_or_drink/soup{
+ pixel_x = 0;
+ pixel_y = 4
+ },
+/turf/open/floor/iron/white/small,
+/area/ruin/syndibiodome)
+"UF" = (
+/obj/structure/chair/office/tactical{
+ dir = 8
+ },
+/obj/effect/mob_spawn/corpse/human/syndicatecommando/lessenedgear,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"UG" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 4
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"UI" = (
+/obj/item/flashlight/lantern/on,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"UK" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/computer_disk{
+ pixel_x = -5;
+ pixel_y = 8
+ },
+/obj/item/computer_disk{
+ pixel_x = 4;
+ pixel_y = 5
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/button/door/directional/east{
+ name = "Surgery Lockdown";
+ id = "biosurglockdown"
+ },
+/obj/item/assembly/shock_kit{
+ pixel_x = -2;
+ pixel_y = 2
+ },
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"UL" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 8
+ },
+/obj/structure/flora/bush/flowers_pp/style_3,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 8
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"UN" = (
+/obj/structure/fluff/tram_rail/electric/anchor{
+ dir = 1
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"UW" = (
+/obj/effect/turf_decal/siding/wood/end{
+ dir = 4
+ },
+/obj/structure/closet/crate/bin{
+ pixel_x = 0;
+ pixel_y = 6
+ },
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"Va" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Surgical Observation Room #2"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"Vj" = (
+/obj/structure/closet/secure_closet/cytology,
+/obj/item/storage/box/swab,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"Vt" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/structure/chair/stool/bar/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"Vv" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Vw" = (
+/obj/effect/decal/cleanable/blood/gibs/down,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"VG" = (
+/obj/machinery/light/warm/directional/east,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/ruin/syndibiodome)
+"VJ" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"VK" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/red/directional/north,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"VN" = (
+/obj/effect/turf_decal/trimline/green/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"VT" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 8
+ },
+/obj/structure/fans/tiny,
+/turf/open/misc/dirt/station,
+/area/ruin/syndibiodome)
+"Wq" = (
+/obj/structure/flora/tree/pine/style_random{
+ pixel_x = -15;
+ pixel_y = -12
+ },
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"Wz" = (
+/obj/structure/fluff/tram_rail/electric/anchor,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"WB" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"WC" = (
+/obj/machinery/door/poddoor/shutters{
+ name = "Lockdown Shutters"
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/fans/tiny,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/dark/line{
+ dir = 4
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"WH" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"WJ" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/glass/reinforced,
+/area/ruin/syndibiodome)
+"WR" = (
+/obj/effect/turf_decal/trimline/purple/corner{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Xa" = (
+/obj/effect/decal/cleanable/blood/footprints,
+/turf/open/misc/asteroid/snow/icemoon,
+/area/icemoon/surface/outdoors/noteleport)
+"Xt" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 6
+ },
+/obj/effect/turf_decal/weather/dirt{
+ dir = 9
+ },
+/obj/machinery/light/small/dim/directional/west,
+/turf/open/water/jungle,
+/area/ruin/syndibiodome)
+"XC" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"XE" = (
+/obj/effect/decal/cleanable/blood/tracks{
+ dir = 4
+ },
+/mob/living/basic/gorilla/genetics,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"XG" = (
+/obj/effect/turf_decal/weather/dirt,
+/obj/structure/flora/bush/flowers_pp/style_2,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"XM" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/obj/structure/showcase/machinery/tv/broken,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet/black,
+/area/ruin/syndibiodome)
+"Ya" = (
+/obj/effect/turf_decal/trimline/neutral/corner,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/structure/fluff/fake_vent,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Yd" = (
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating_new/dark,
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/cafeteria,
+/area/ruin/syndibiodome)
+"Ye" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"Yh" = (
+/obj/structure/chair/stool/bar/directional/north,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wood,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/wood,
+/area/ruin/syndibiodome)
+"Yi" = (
+/obj/structure/flora/grass/jungle/a/style_5,
+/obj/machinery/light/floor,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"Yj" = (
+/obj/structure/railing/corner/end/flip{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+"Yz" = (
+/obj/structure/flora/bush/flowers_pp/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"YD" = (
+/obj/structure/flora/bush/flowers_yw/style_3,
+/obj/structure/flora/bush/jungle/c/style_2{
+ pixel_x = -11;
+ pixel_y = -6
+ },
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"YG" = (
+/obj/structure/rack,
+/obj/item/clothing/mask/gas/syndicate{
+ pixel_x = 0;
+ pixel_y = -2
+ },
+/obj/item/clothing/mask/gas/syndicate{
+ pixel_x = 11;
+ pixel_y = 5
+ },
+/obj/item/clothing/mask/gas/syndicate{
+ pixel_x = -6;
+ pixel_y = 5
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 10
+ },
+/obj/item/clothing/suit/hooded/explorer/syndicate{
+ pixel_x = 0;
+ pixel_y = -3
+ },
+/obj/item/clothing/suit/hooded/explorer/syndicate{
+ pixel_x = 7;
+ pixel_y = -5
+ },
+/obj/item/clothing/suit/hooded/explorer/syndicate{
+ pixel_x = -8;
+ pixel_y = -4
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"YI" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/blue/corner{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"YN" = (
+/obj/structure/railing/corner/end{
+ dir = 4
+ },
+/turf/closed/indestructible/syndicate,
+/area/ruin/syndibiodome)
+"YS" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/small,
+/area/ruin/syndibiodome)
+"YV" = (
+/obj/effect/turf_decal/trimline/dark/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"YZ" = (
+/obj/effect/turf_decal/siding/wideplating/dark,
+/mob/living/basic/gorilla/genetics,
+/obj/structure/fluff/fake_vent,
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/gibspawner/human/bodypartless,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"Zd" = (
+/obj/effect/turf_decal/weather/dirt,
+/obj/structure/flora/rock/pile/jungle/style_3,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"Ze" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Observation Room"
+ },
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"Zf" = (
+/obj/structure/flora/bush/flowers_yw/style_3,
+/obj/structure/flora/bush/flowers_pp/style_random,
+/turf/open/floor/grass,
+/area/ruin/syndibiodome)
+"Zp" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"ZD" = (
+/obj/effect/decal/cleanable/blood/trails{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/ruin/syndibiodome)
+"ZM" = (
+/obj/effect/turf_decal/siding/wideplating/dark,
+/obj/effect/turf_decal/trimline/blue/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/blood/drip,
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndibiodome)
+"ZR" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 6
+ },
+/obj/structure/railing{
+ dir = 6
+ },
+/turf/open/floor/stone,
+/area/icemoon/surface/outdoors/noteleport)
+"ZT" = (
+/obj/machinery/light/warm/directional/south,
+/obj/effect/turf_decal/trimline/purple/line{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/herringbone,
+/area/ruin/syndibiodome)
+"ZW" = (
+/obj/structure/curtain/bounty,
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/turf/open/floor/plating,
+/area/ruin/syndibiodome)
+
+(1,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+KA
+Ns
+Ns
+JU
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(2,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+ys
+zM
+zT
+zM
+ys
+tL
+JU
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(3,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+ys
+zM
+zM
+IF
+zM
+zM
+LN
+tL
+UG
+UG
+JU
+ys
+mZ
+mZ
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(4,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+ck
+ys
+ys
+zM
+QM
+VJ
+MK
+zM
+ys
+ys
+ys
+ck
+zD
+ys
+ys
+ys
+ck
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(5,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+ys
+ys
+ys
+zM
+zM
+zM
+OH
+zM
+zM
+zM
+ys
+ys
+LN
+tL
+JU
+ys
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(6,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+ys
+ys
+zM
+zM
+zM
+zM
+Tc
+bb
+ui
+oq
+Mc
+zM
+zM
+mK
+ys
+ys
+tL
+Ns
+Ns
+JU
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(7,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+ys
+ck
+ys
+ys
+zM
+Ut
+vx
+xi
+kw
+wL
+xi
+xH
+ZD
+oq
+zM
+zM
+ys
+ys
+ys
+ys
+ck
+tL
+JU
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(8,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+ys
+Hi
+zM
+zM
+mW
+zM
+Sr
+zM
+Ui
+zl
+YG
+qN
+Ux
+Bw
+zM
+zM
+zM
+zM
+qN
+ys
+LN
+Aw
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(9,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+jS
+ys
+ys
+zM
+Ut
+Ut
+zM
+Sr
+zM
+zM
+zM
+zM
+qN
+Gm
+NP
+OI
+zM
+AA
+ab
+zM
+qN
+ys
+Aw
+ys
+LN
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(10,1,1) = {"
+mZ
+mZ
+mZ
+ys
+Wz
+RL
+pg
+pg
+zM
+zM
+Ut
+zM
+zM
+Ab
+zM
+Lm
+kX
+zM
+qN
+WH
+JQ
+vN
+pj
+UF
+fT
+Ly
+Qc
+ys
+Aw
+ys
+ys
+cO
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(11,1,1) = {"
+mZ
+mZ
+mZ
+ys
+ys
+bJ
+zd
+ys
+zM
+Db
+Ut
+zM
+kK
+MB
+oQ
+Jo
+eK
+bC
+Tw
+EE
+oj
+MR
+CG
+hZ
+hm
+LB
+Qc
+ys
+tL
+JU
+ys
+ys
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(12,1,1) = {"
+mZ
+mZ
+mZ
+Wz
+ha
+pg
+pg
+pg
+zM
+ic
+Ut
+zM
+rK
+YZ
+yH
+Tf
+ba
+Qs
+ZM
+WH
+Fe
+Ct
+EX
+YS
+qB
+fc
+Qc
+ys
+ys
+tL
+UG
+JU
+LN
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(13,1,1) = {"
+mZ
+mZ
+mZ
+ys
+ys
+Gx
+uD
+ys
+zM
+wY
+Ut
+zM
+cB
+ja
+oQ
+KX
+RK
+ZW
+sD
+Vw
+jR
+qx
+zM
+yi
+LR
+UK
+zM
+ys
+cO
+ys
+ys
+Aw
+ys
+ys
+cO
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(14,1,1) = {"
+mZ
+mZ
+mZ
+ys
+Wz
+RL
+pg
+pg
+zM
+zM
+mW
+zM
+zM
+Os
+zM
+xf
+oH
+zM
+qN
+Tx
+vO
+qN
+zM
+OL
+AV
+zM
+zM
+ys
+ys
+LN
+ys
+Aw
+ys
+ys
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(15,1,1) = {"
+mZ
+mZ
+mZ
+ys
+ys
+ys
+AI
+ys
+ys
+zM
+Ut
+Ut
+zM
+zM
+zM
+zM
+zM
+zM
+GM
+Ax
+Ij
+ue
+zM
+zM
+zM
+zM
+zM
+zM
+ys
+ys
+ys
+tL
+Ns
+Ns
+JU
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(16,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+ys
+ck
+Hi
+zM
+zM
+Ut
+LA
+Ro
+zM
+qN
+qU
+Ss
+YI
+XC
+Zp
+rs
+eO
+PY
+qh
+tk
+xq
+zM
+zM
+ys
+ys
+ys
+ys
+ys
+tL
+JU
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(17,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+mZ
+ck
+ys
+ys
+ys
+ys
+zM
+zM
+Ut
+Ut
+Ut
+vx
+je
+kt
+XC
+Sr
+tK
+iV
+VN
+my
+Sr
+kw
+FW
+Sr
+zM
+zM
+ys
+cO
+ys
+LN
+ys
+Aw
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(18,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+zM
+zM
+zM
+zM
+zM
+zM
+zM
+zM
+YN
+rQ
+XC
+nn
+WB
+qN
+VT
+Pq
+qN
+WB
+ip
+Sr
+Sr
+ux
+zM
+ys
+ys
+ys
+ys
+cO
+Aw
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(19,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+zM
+zM
+Dd
+Ex
+kb
+zM
+km
+SH
+zM
+wf
+XC
+nn
+Ga
+WB
+hK
+UL
+bv
+Fg
+WB
+WB
+ip
+Sr
+vg
+zM
+ys
+VG
+ys
+ys
+ys
+Aw
+ys
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(20,1,1) = {"
+mZ
+mZ
+mZ
+ys
+ys
+zM
+zM
+xP
+dl
+cJ
+tx
+JC
+lH
+hQ
+WB
+FE
+zF
+Ml
+WB
+SS
+jp
+Hs
+Yz
+Yz
+Bl
+WB
+WB
+my
+QS
+zM
+zM
+zM
+zM
+ys
+ys
+Dg
+Ns
+uG
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(21,1,1) = {"
+mZ
+mZ
+ys
+ys
+ys
+lm
+SE
+Yd
+No
+No
+yy
+Uz
+Yh
+MU
+iZ
+ah
+hS
+qN
+RG
+MH
+FT
+hf
+Yi
+eH
+Zf
+di
+qN
+us
+Sr
+iH
+qN
+vl
+zM
+zM
+eM
+up
+ys
+TQ
+uG
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(22,1,1) = {"
+mZ
+mZ
+ys
+ys
+ck
+lm
+nO
+SA
+WJ
+wd
+Mp
+Hy
+Vt
+OO
+WB
+Ty
+vc
+Mb
+iX
+PB
+NN
+Mu
+NH
+xd
+zc
+yN
+WB
+xn
+jA
+QC
+WC
+zG
+qy
+cI
+Bo
+wQ
+zy
+UI
+II
+Xa
+ys
+mZ
+mZ
+mZ
+mZ
+"}
+(23,1,1) = {"
+mZ
+mZ
+ys
+ys
+ys
+lm
+EO
+sJ
+No
+No
+iG
+KE
+Vt
+Fd
+Ki
+kA
+vc
+qN
+oK
+PB
+Ug
+xr
+bw
+HB
+yd
+XG
+Le
+If
+cm
+ts
+qN
+xL
+BY
+zM
+Lv
+ys
+Wq
+ys
+zD
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(24,1,1) = {"
+mZ
+mZ
+mZ
+ys
+ys
+zM
+zM
+Dr
+Mo
+gH
+td
+Ii
+LJ
+el
+WB
+YV
+TC
+Rv
+Bs
+Yz
+ST
+nP
+nx
+gt
+PM
+yN
+MO
+SM
+Sr
+gf
+Jk
+bG
+fp
+fU
+bR
+ys
+ys
+ys
+Jg
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(25,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+zM
+zM
+NE
+TF
+iS
+Gz
+rX
+bz
+qN
+PC
+Fl
+qN
+IU
+vu
+iq
+YD
+Fp
+xz
+vu
+cN
+qN
+us
+Vv
+iH
+qN
+cu
+zM
+zM
+vZ
+JU
+ys
+KA
+ZR
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(26,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+zM
+zM
+zM
+zM
+zM
+zM
+qN
+vx
+qN
+FP
+hj
+Yj
+WB
+LH
+hr
+CS
+eL
+qV
+cN
+WB
+WB
+GD
+ux
+zM
+zM
+zM
+zM
+ys
+ys
+vZ
+Dl
+ZR
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(27,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+ys
+ck
+zM
+zM
+mW
+Ut
+ir
+Ut
+Ut
+Ut
+vx
+kw
+Eq
+CV
+Yj
+WB
+yj
+fO
+sj
+dk
+WB
+WB
+wf
+xi
+vg
+zM
+ys
+Nl
+ys
+ys
+ys
+ys
+zD
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(28,1,1) = {"
+mZ
+mZ
+mZ
+ys
+ys
+ys
+zM
+MP
+Ut
+zM
+zM
+Ut
+zM
+zM
+qN
+QG
+Sr
+Eq
+CV
+WB
+qN
+ox
+gu
+qN
+WB
+wf
+kO
+Sr
+QS
+zM
+xN
+ys
+ys
+ys
+ys
+ys
+tL
+JU
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(29,1,1) = {"
+mZ
+mZ
+ys
+ys
+ys
+ys
+zM
+qa
+Ut
+zM
+zM
+dS
+zM
+pA
+qN
+VK
+Sr
+LT
+mF
+hj
+pN
+JZ
+nk
+Jz
+CK
+uL
+xi
+jd
+zM
+zM
+ys
+ys
+ck
+ys
+ys
+ys
+ys
+xx
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(30,1,1) = {"
+mZ
+ys
+ys
+ys
+ys
+zM
+zM
+Sv
+Ut
+zM
+wx
+RH
+Do
+UF
+kd
+WH
+xi
+Sr
+Gh
+xh
+zI
+qi
+dJ
+al
+hR
+QE
+WR
+zM
+zM
+ys
+ys
+ys
+ys
+ys
+ys
+ck
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(31,1,1) = {"
+mZ
+Gr
+ck
+ys
+zM
+zM
+rZ
+Ut
+Ut
+zM
+Ra
+RX
+Do
+sN
+Va
+bK
+XC
+By
+zM
+zM
+Oy
+Oy
+zM
+ag
+vF
+hU
+zM
+zM
+zM
+zM
+ys
+jS
+ys
+ys
+ys
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(32,1,1) = {"
+mZ
+mZ
+ys
+zM
+zM
+zM
+zM
+zM
+Ut
+zM
+Pw
+Oi
+Do
+Uu
+kd
+gv
+Vv
+zM
+zM
+zM
+uE
+oV
+zM
+zM
+Ze
+zM
+zM
+Xt
+Se
+zM
+pg
+pg
+RL
+UN
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(33,1,1) = {"
+mZ
+ys
+ys
+zM
+Lg
+xZ
+yt
+zM
+ON
+zM
+zM
+zM
+zM
+qN
+qN
+kq
+Vv
+zM
+ym
+zM
+aC
+ws
+Oy
+kH
+vK
+hA
+WB
+yU
+Zd
+zM
+ys
+zd
+bJ
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(34,1,1) = {"
+mZ
+ys
+zM
+zM
+Uc
+qp
+sR
+zM
+Ut
+Ut
+LA
+mW
+Ut
+vx
+Nt
+uW
+Vv
+qN
+Ks
+zM
+tb
+sM
+Oy
+hF
+cx
+kQ
+WB
+FH
+Fn
+zM
+pg
+pg
+pg
+ha
+xN
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(35,1,1) = {"
+mZ
+ys
+bB
+KS
+he
+OK
+zM
+zM
+zM
+zM
+zM
+zM
+zM
+qN
+pY
+XC
+XC
+qN
+Ut
+zM
+Vj
+Uh
+Oy
+Tu
+XE
+Mt
+WB
+iX
+OD
+zM
+ys
+uD
+fI
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(36,1,1) = {"
+mZ
+ys
+bB
+la
+TM
+Es
+Te
+Vv
+OM
+yL
+CW
+oG
+Qn
+uq
+Vv
+Kn
+Vv
+qN
+Ut
+qN
+qN
+zP
+qN
+qN
+SJ
+qN
+zM
+kz
+zM
+zM
+pg
+pg
+RL
+UN
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(37,1,1) = {"
+mZ
+ys
+bB
+DL
+jT
+Lc
+zM
+uH
+EY
+WJ
+Ya
+vw
+vw
+iI
+Vv
+Vv
+Vv
+qN
+SK
+KF
+IR
+kJ
+wT
+kJ
+uS
+gB
+pE
+cb
+zM
+ys
+ys
+AI
+ys
+ys
+ys
+ck
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(38,1,1) = {"
+mZ
+ys
+zM
+zM
+zM
+zM
+zM
+zM
+zu
+WJ
+NB
+zM
+zM
+zM
+zM
+Vv
+zM
+zM
+LU
+qN
+lg
+vP
+wR
+vJ
+Ye
+ZT
+zM
+zM
+zM
+xN
+ys
+ys
+ys
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(39,1,1) = {"
+mZ
+ys
+ys
+Av
+ze
+hM
+OR
+zM
+mV
+WJ
+Ol
+zM
+ek
+Dc
+zM
+zM
+zM
+Mr
+Ut
+qN
+Ia
+vs
+of
+xj
+TL
+MX
+zM
+zM
+ys
+ys
+ys
+ys
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(40,1,1) = {"
+mZ
+ys
+ys
+Av
+FL
+Gp
+jv
+St
+qz
+WJ
+DS
+mA
+MM
+bu
+zM
+Kz
+gX
+Ut
+Ut
+zM
+lx
+qC
+SY
+xk
+Jm
+Ib
+zM
+ys
+ys
+ys
+ys
+ys
+ck
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(41,1,1) = {"
+mZ
+Gr
+ck
+zM
+zM
+zM
+tq
+zM
+SO
+xB
+vA
+zM
+oA
+fV
+zM
+Db
+io
+Ut
+cE
+zM
+DI
+Br
+nH
+oc
+cG
+zM
+zM
+ys
+ck
+ys
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(42,1,1) = {"
+mZ
+mZ
+ys
+ys
+ys
+zM
+zM
+zM
+zM
+Nj
+GA
+zM
+UW
+zM
+zM
+qa
+TJ
+Ay
+zM
+zM
+zM
+wi
+aa
+Ba
+zM
+zM
+ys
+ys
+ys
+ys
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(43,1,1) = {"
+mZ
+mZ
+mZ
+ys
+ys
+ys
+zM
+zM
+jV
+Ie
+lh
+zM
+zM
+zM
+zM
+zM
+zM
+zM
+zM
+ys
+jQ
+zM
+zM
+zM
+zM
+ys
+ys
+ys
+ys
+ck
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(44,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+ys
+ck
+ys
+zM
+XM
+me
+Hp
+zM
+zM
+ys
+ys
+ys
+ys
+ys
+ys
+ck
+ys
+ys
+ys
+ys
+ck
+ys
+mZ
+mZ
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
+(45,1,1) = {"
+mZ
+mZ
+mZ
+mZ
+mZ
+ys
+ys
+zM
+si
+si
+si
+zM
+ys
+mZ
+mZ
+ys
+ys
+ys
+mZ
+ys
+mZ
+mZ
+mZ
+ys
+ys
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+mZ
+"}
diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm
index b6a8e3417f1..eb9aed98932 100644
--- a/_maps/map_files/Birdshot/birdshot.dmm
+++ b/_maps/map_files/Birdshot/birdshot.dmm
@@ -65,12 +65,19 @@
/obj/machinery/power/tracker,
/turf/open/space/basic,
/area/station/solars/aft)
-"abw" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
+"abv" = (
+/obj/structure/table,
+/obj/item/paper/crumpled{
+ pixel_x = -27;
+ pixel_y = 2
},
+/obj/item/storage/medkit/regular{
+ pixel_x = -5;
+ pixel_y = 6
+ },
+/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
-/area/station/cargo/lobby)
+/area/station/cargo/sorting)
"abB" = (
/obj/structure/disposalpipe/segment,
/turf/closed/wall/r_wall,
@@ -152,20 +159,6 @@
},
/turf/open/floor/grass/Airless,
/area/station/hallway/primary/central/aft)
-"ael" = (
-/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior,
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/obj/machinery/airlock_controller/incinerator_atmos{
- pixel_x = -40;
- pixel_y = -8
- },
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"aem" = (
/obj/machinery/power/terminal,
/obj/structure/cable,
@@ -205,21 +198,6 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"aeH" = (
-/obj/machinery/atmospherics/components/trinary/filter/flipped/layer2{
- dir = 4
- },
-/obj/machinery/light/small/directional/north,
-/obj/machinery/button/door/incinerator_vent_atmos_aux{
- pixel_x = 8;
- pixel_y = 24
- },
-/obj/machinery/button/door/incinerator_vent_atmos_main{
- pixel_x = 8;
- pixel_y = 36
- },
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"aeX" = (
/obj/structure/window/spawner/directional/east,
/obj/item/kirbyplants/random,
@@ -396,6 +374,17 @@
/obj/effect/turf_decal/siding/yellow,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
+"ahI" = (
+/obj/structure/table,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/item/folder/yellow{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"ahW" = (
/obj/structure/railing{
dir = 1
@@ -432,18 +421,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"akk" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/loading_area,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
-"akl" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/red/corner,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"ako" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -510,15 +487,6 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/maintenance/solars/starboard/aft)
-"alN" = (
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/siding/wood,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron/grimy,
-/area/station/service/library/private)
"amb" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 4
@@ -540,6 +508,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"amq" = (
+/obj/effect/turf_decal/bot_white,
+/obj/effect/spawner/random/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/cargo/storage)
"amE" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -564,6 +539,15 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/freezer,
/area/station/service/kitchen/coldroom)
+"amX" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"anb" = (
/obj/effect/turf_decal/siding/thinplating_new/terracotta,
/obj/effect/turf_decal/siding/red/corner{
@@ -574,6 +558,14 @@
},
/turf/open/floor/wood/tile,
/area/station/command/bridge)
+"and" = (
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/supply,
+/obj/machinery/door/airlock/mining{
+ name = "Mining Office"
+ },
+/turf/open/floor/plating,
+/area/station/cargo/miningfoundry)
"ani" = (
/obj/effect/turf_decal/weather/dirt{
dir = 1
@@ -623,6 +615,10 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
+"api" = (
+/obj/machinery/skill_station,
+/turf/open/floor/wood/parquet,
+/area/station/service/library)
"apk" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/dark_red{
@@ -666,6 +662,11 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/science/lab)
+"apP" = (
+/obj/effect/spawner/random/trash,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"apZ" = (
/turf/open/floor/engine/helium,
/area/station/ai_monitored/turret_protected/ai)
@@ -737,16 +738,6 @@
},
/turf/open/floor/iron,
/area/station/commons/dorms)
-"arI" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"arK" = (
/obj/structure/sign/warning/secure_area{
desc = "A warning sign which reads 'BOMB RANGE";
@@ -966,16 +957,6 @@
/obj/machinery/power/apc/auto_name/directional/west,
/turf/open/floor/iron/smooth,
/area/station/command/gateway)
-"avc" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/structure/chair/stool/directional/east,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/newscaster/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
"avd" = (
/obj/machinery/atmospherics/components/binary/volume_pump{
dir = 8
@@ -1173,6 +1154,15 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
+"axP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/effect/turf_decal/tile/brown/anticorner{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"axX" = (
/obj/effect/turf_decal/siding/yellow,
/obj/effect/turf_decal/tile/yellow/diagonal_centre,
@@ -1249,14 +1239,6 @@
},
/turf/open/floor/plating/airless,
/area/station/science/ordnance/bomb)
-"azk" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
"azm" = (
/obj/effect/turf_decal/siding/wood{
dir = 10
@@ -1288,6 +1270,21 @@
},
/turf/open/floor/plating,
/area/station/command/teleporter)
+"azx" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/opposingcorners{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/small,
+/area/station/hallway/secondary/service)
"azz" = (
/turf/open/floor/iron,
/area/station/security/prison/workout)
@@ -1402,15 +1399,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"aBk" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"aBo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -1421,6 +1409,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"aBt" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"aBu" = (
/obj/effect/turf_decal/siding/wood{
dir = 5
@@ -1462,6 +1458,18 @@
},
/turf/open/floor/carpet/blue,
/area/station/commons/dorms)
+"aBQ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"aBV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral{
@@ -1607,11 +1615,6 @@
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/plating/airless,
/area/station/science/ordnance/bomb)
-"aFp" = (
-/obj/effect/spawner/random/trash,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"aFt" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -1704,23 +1707,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
-"aGI" = (
-/obj/structure/table,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/cell_charger{
- pixel_x = -1;
- pixel_y = 4
- },
-/obj/item/stock_parts/power_store/cell/high{
- pixel_x = -1;
- pixel_y = 4
- },
-/obj/item/assembly/timer{
- pixel_x = 14;
- pixel_y = 6
- },
-/turf/open/floor/iron/dark,
-/area/station/commons/storage/tools)
"aGU" = (
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron,
@@ -1825,15 +1811,10 @@
"aJq" = (
/turf/closed/mineral/random/stationside,
/area/space/nearstation)
-"aJx" = (
-/obj/structure/chair/stool/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"aJD" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/siding/wood{
- dir = 5
- },
-/turf/open/floor/carpet/orange,
-/area/station/command/heads_quarters/qm)
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"aJE" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/siding/wood{
@@ -1841,16 +1822,6 @@
},
/turf/open/floor/iron/small,
/area/station/maintenance/port/lesser)
-"aJI" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 9
- },
-/obj/item/storage/fancy/candle_box,
-/obj/structure/rack/skeletal,
-/obj/machinery/camera/autoname/directional/west,
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/iron/grimy,
-/area/station/service/library/private)
"aJP" = (
/obj/structure/disposalpipe/segment{
dir = 8
@@ -2012,6 +1983,18 @@
/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible,
/turf/open/floor/plating,
/area/station/science/ordnance/testlab)
+"aMI" = (
+/obj/machinery/mineral/ore_redemption{
+ dir = 4;
+ input_dir = 8;
+ output_dir = 4
+ },
+/obj/machinery/door/window/right/directional/east{
+ name = "Ore Redemtion Window"
+ },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/textured_large,
+/area/station/cargo/office)
"aNd" = (
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
@@ -2037,6 +2020,14 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/dark/small,
/area/station/medical/storage)
+"aNE" = (
+/obj/machinery/computer/cargo{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/cargo/storage)
"aNJ" = (
/obj/structure/table/reinforced,
/obj/machinery/door/window/left/directional/north{
@@ -2350,16 +2341,6 @@
"aTg" = (
/turf/open/floor/iron/kitchen/small,
/area/station/service/kitchen)
-"aTm" = (
-/obj/machinery/conveyor_switch/oneway{
- id = "QMLoad2";
- name = "Unloading Conveyor";
- pixel_x = -13;
- pixel_y = 3
- },
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"aTn" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/spawner/random/maintenance,
@@ -2564,11 +2545,6 @@
},
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
-"aXy" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/sign/poster/official/no_erp/directional/south,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
"aXC" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -2593,12 +2569,6 @@
},
/turf/open/floor/stone,
/area/station/service/bar/backroom)
-"aYl" = (
-/obj/structure/filingcabinet/filingcabinet,
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
"aYp" = (
/obj/structure/chair,
/obj/effect/turf_decal/stripes/line{
@@ -2753,27 +2723,6 @@
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating,
/area/station/engineering/supermatter)
-"bbI" = (
-/obj/structure/table/wood,
-/obj/item/folder{
- pixel_x = 1;
- pixel_y = 4
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 9
- },
-/obj/item/pen{
- pixel_x = -2;
- pixel_y = 4
- },
-/obj/structure/sign/poster/official/tactical_game_cards/directional/north,
-/turf/open/floor/carpet,
-/area/station/maintenance/hallway/abandoned_recreation)
-"bbR" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/iron,
-/area/station/cargo/miningfoundry)
"bbT" = (
/obj/structure/chair/sofa/bench/left{
dir = 8
@@ -2787,6 +2736,15 @@
},
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
+"bbV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/cargo/storage)
"bcr" = (
/obj/effect/turf_decal/stripes/end,
/turf/open/floor/plating/airless,
@@ -2823,17 +2781,12 @@
dir = 4
},
/area/station/science/xenobiology)
-"bdx" = (
-/obj/machinery/door/airlock/wood{
- desc = "Sessions held every Friday.";
- name = "The Sunfinder Society"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+"bdi" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/port/greater)
+/obj/effect/turf_decal/siding/wood,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/smooth,
+/area/station/command/heads_quarters/qm)
"bdN" = (
/obj/structure/falsewall,
/turf/open/floor/plating,
@@ -2888,19 +2841,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"beR" = (
-/obj/machinery/navbeacon{
- codes_txt = "delivery;dir=8";
- location = "QM #2"
- },
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"bfe" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/camera/autoname/directional/west,
@@ -2914,6 +2854,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/herringbone,
/area/station/service/abandoned_gambling_den/gaming)
+"bfS" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/disposalpipe/junction/flip{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"bfU" = (
/obj/machinery/atmospherics/components/binary/pump/on{
name = "Air to Distro staging"
@@ -2931,6 +2879,23 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron/white/small,
/area/station/science/server)
+"bgl" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/obj/structure/table/glass,
+/obj/item/flashlight/lamp/green{
+ pixel_x = 2;
+ pixel_y = 9
+ },
+/obj/item/taperecorder{
+ pixel_x = -15;
+ pixel_y = 3
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/machinery/light_switch/directional/north,
+/turf/open/floor/iron/grimy,
+/area/station/service/library/private)
"bgn" = (
/obj/machinery/door/airlock/maintenance{
name = "Atmospherics Maintenance"
@@ -3000,10 +2965,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/tcommsat/server)
-"bgW" = (
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/miningfoundry)
"bho" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 4
@@ -3044,6 +3005,11 @@
/obj/machinery/holopad,
/turf/open/floor/iron/white/small,
/area/station/science/lobby)
+"biV" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/camera/autoname/directional/south,
+/turf/open/floor/iron,
+/area/station/cargo/miningfoundry)
"bja" = (
/obj/structure/railing/corner/end/flip{
dir = 8
@@ -3069,6 +3035,19 @@
},
/turf/open/floor/iron/white/side,
/area/station/hallway/primary/central/aft)
+"bjf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/structure/table,
+/obj/effect/turf_decal/delivery/white,
+/obj/machinery/microwave{
+ pixel_y = 6
+ },
+/obj/machinery/camera/autoname/directional/south,
+/obj/structure/sign/poster/official/random/directional/south,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/sorting)
"bjh" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/west,
@@ -3087,6 +3066,9 @@
/obj/machinery/power/apc/auto_name/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"bjt" = (
+/turf/open/floor/engine/vacuum,
+/area/station/engineering/atmos)
"bjL" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/table,
@@ -3257,6 +3239,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/stairs,
/area/station/maintenance/department/engine/atmos)
+"bmO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/delivery/white,
+/turf/closed/wall,
+/area/station/maintenance/port/fore)
"bmT" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 4
@@ -3387,6 +3379,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/catwalk_floor,
/area/station/engineering/break_room)
+"boG" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"boI" = (
/obj/machinery/mecha_part_fabricator/maint{
name = "forgotten exosuit fabricator"
@@ -3422,14 +3425,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
-"bpd" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 4
- },
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/cargo/storage)
"bpe" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/disposalpipe/segment,
@@ -3540,6 +3535,18 @@
name = "Holodeck Projector Floor"
},
/area/station/holodeck/rec_center)
+"bqA" = (
+/obj/effect/turf_decal/weather/dirt,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/obj/structure/flora/bush/flowers_yw,
+/obj/structure/flora/bush/large/style_random{
+ pixel_x = -20;
+ pixel_y = 3
+ },
+/turf/open/floor/grass,
+/area/station/service/chapel)
"bqD" = (
/mob/living/basic/slime,
/turf/open/floor/engine,
@@ -3617,6 +3624,14 @@
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
/turf/closed/wall/r_wall,
/area/station/engineering/atmos)
+"brO" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"brZ" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -3626,6 +3641,16 @@
/obj/structure/barricade/wooden/crude,
/turf/open/floor/plating,
/area/station/maintenance/aft)
+"bst" = (
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/bot{
+ dir = 1
+ },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/structure/cable,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
"bsu" = (
/obj/structure/barricade/wooden/crude,
/obj/effect/mapping_helpers/broken_floor,
@@ -3769,16 +3794,6 @@
/obj/machinery/bluespace_vendor/directional/south,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
-"buP" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/turf/open/floor/carpet/red,
-/area/station/command/heads_quarters/qm)
"buU" = (
/obj/structure/table,
/obj/item/stack/sheet/iron/five,
@@ -3834,6 +3849,18 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/mess)
+"bwW" = (
+/obj/structure/table/reinforced,
+/obj/effect/turf_decal/siding/yellow{
+ dir = 4
+ },
+/obj/effect/spawner/random/food_or_drink/donkpockets{
+ pixel_y = 6
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/engineering/break_room)
"bxa" = (
/obj/structure/chair/sofa/bench/right{
dir = 4
@@ -3962,16 +3989,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/small,
/area/station/hallway/secondary/service)
-"bzx" = (
-/obj/structure/reagent_dispensers/wall/peppertank/directional/west,
-/obj/machinery/computer/records/security{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/supply)
"bzF" = (
/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -3981,6 +3998,13 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
+"bzW" = (
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"bzZ" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
@@ -4004,10 +4028,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
-"bAw" = (
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/stone,
-/area/station/service/chapel)
"bAI" = (
/obj/structure/chair/office,
/obj/structure/sign/poster/official/work_for_a_future/directional/east,
@@ -4021,13 +4041,6 @@
},
/turf/open/floor/wood,
/area/station/hallway/secondary/entry)
-"bBb" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/landmark/start/cargo_technician,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"bBh" = (
/obj/effect/turf_decal/weather/dirt{
dir = 1
@@ -4119,14 +4132,6 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/security/office)
-"bCM" = (
-/obj/machinery/holopad,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/structure/chair/stool/directional/south,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"bCP" = (
/obj/effect/turf_decal/siding/wideplating/dark,
/obj/machinery/firealarm/directional/north,
@@ -4158,6 +4163,16 @@
/obj/structure/cable,
/turf/open/floor/iron/diagonal,
/area/station/engineering/lobby)
+"bDi" = (
+/obj/machinery/atmospherics/components/binary/pump/on{
+ name = "O2 to Airmix"
+ },
+/obj/machinery/light/no_nightlight/directional/north,
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"bDj" = (
/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
@@ -4213,6 +4228,10 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"bEv" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"bEw" = (
/obj/structure/sign/directions/supply{
dir = 1;
@@ -4278,10 +4297,6 @@
/obj/machinery/telecomms/server/presets/science,
/turf/open/floor/circuit,
/area/station/tcommsat/server)
-"bFI" = (
-/obj/effect/spawner/random/trash,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"bFO" = (
/obj/effect/spawner/random/trash,
/obj/structure/cable,
@@ -4299,14 +4314,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"bFU" = (
-/obj/structure/hedge,
-/obj/structure/sign/poster/contraband/random/directional/east,
-/obj/effect/turf_decal/siding/wood{
- dir = 6
- },
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"bFW" = (
/obj/structure/rack,
/obj/effect/spawner/random/techstorage/rnd_all,
@@ -4359,20 +4366,6 @@
/obj/machinery/status_display/ai/directional/north,
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat_interior)
-"bGv" = (
-/obj/machinery/door/airlock/mining/glass{
- name = "Cargo Office"
- },
-/obj/effect/mapping_helpers/airlock/access/all/supply/general,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/iron/small,
-/area/station/cargo/office)
"bGD" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/red/line{
@@ -4430,6 +4423,12 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
+"bHw" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
"bHy" = (
/obj/structure/chair/office/light,
/obj/effect/landmark/start/scientist,
@@ -4457,6 +4456,11 @@
/obj/structure/window/spawner/directional/south,
/turf/open/misc/sandy_dirt,
/area/station/science/research)
+"bIu" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"bIJ" = (
/obj/effect/turf_decal/weather/dirt{
dir = 4
@@ -4491,27 +4495,6 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood,
/area/station/service/chapel)
-"bJH" = (
-/obj/effect/turf_decal/tile/brown/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/engineering{
- name = "Engineering Office"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "atmos_airlock_1"
- },
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/office)
"bJK" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -4595,10 +4578,14 @@
/obj/machinery/light/no_nightlight/directional/north,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"bLr" = (
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
+"bLG" = (
+/obj/effect/spawner/structure/window,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/station/cargo/office)
"bLS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -4799,14 +4786,6 @@
/obj/machinery/computer/records/security,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
-"bQo" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/status_display/evac/directional/east,
-/obj/machinery/camera/autoname/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"bQy" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -4862,6 +4841,9 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs/auxiliary)
+"bRA" = (
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/cargo/lobby)
"bRK" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 4
@@ -4931,6 +4913,12 @@
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input,
/turf/open/floor/engine/vacuum,
/area/station/maintenance/disposal/incinerator)
+"bUq" = (
+/obj/structure/cable,
+/obj/item/reagent_containers/pill/maintenance,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"bUr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/blue{
@@ -5063,12 +5051,6 @@
/obj/machinery/chem_heater/withbuffer,
/turf/open/floor/iron,
/area/station/science/xenobiology)
-"bXb" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/department/electrical)
"bXi" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -5159,13 +5141,6 @@
/obj/structure/cable,
/turf/open/floor/wood,
/area/station/engineering/atmos/storage)
-"bYW" = (
-/obj/machinery/door/firedoor,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/small,
-/area/station/cargo/lobby)
"bZa" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/turf_decal/siding/white{
@@ -5233,25 +5208,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"cag" = (
-/obj/effect/turf_decal/tile/brown/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{
- dir = 4
- },
-/obj/machinery/door/airlock/engineering{
- name = "Engineering Office"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "atmos_airlock_1"
- },
-/obj/structure/cable,
-/obj/machinery/door/firedoor,
-/obj/structure/disposalpipe/segment{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/office)
"cam" = (
/obj/machinery/flasher/directional/east{
id = "AI";
@@ -5347,6 +5303,15 @@
"cbm" = (
/turf/closed/wall/rust,
/area/station/ai_monitored/aisat/exterior)
+"cbq" = (
+/obj/structure/cable,
+/obj/machinery/airalarm/directional/north,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/disposal/bin,
+/turf/open/floor/iron/smooth,
+/area/station/command/heads_quarters/qm)
"cbt" = (
/obj/structure/cable,
/obj/structure/table/bronze,
@@ -5444,28 +5409,31 @@
/obj/machinery/light/cold/dim/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"ccO" = (
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 1
+ },
+/obj/effect/spawner/random/vending/snackvend,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"cdg" = (
/obj/machinery/light/small/directional/west,
/turf/open/floor/grass,
/area/station/science/xenobiology)
-"cdh" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/button/door/directional/east{
- id = "qm_warehouse";
- name = "Warehouse Door Control";
- pixel_x = -24;
- pixel_y = -24;
- req_access = list("cargo")
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
"cdn" = (
/obj/machinery/telecomms/server/presets/medical,
/turf/open/floor/circuit,
/area/station/tcommsat/server)
+"cdp" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "CO2 to Pure"
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"cdz" = (
/obj/effect/turf_decal/tile/yellow,
/obj/machinery/light/cold/dim/directional/west,
@@ -5495,6 +5463,20 @@
/obj/structure/window/spawner/directional/south,
/turf/open/space/basic,
/area/space/nearstation)
+"ceD" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Janitorial Closet"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/textured_half{
+ dir = 8
+ },
+/area/station/service/janitor)
"ceN" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 4
@@ -5565,12 +5547,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"cgc" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
"cgs" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral/opposingcorners{
@@ -5605,14 +5581,6 @@
"cgM" = (
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
-"cgT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/stairs{
- dir = 8
- },
-/area/station/cargo/storage)
"cgV" = (
/obj/effect/turf_decal/weather/dirt{
dir = 9
@@ -5647,13 +5615,6 @@
/obj/structure/cable,
/turf/closed/wall/r_wall,
/area/station/hallway/primary/aft)
-"chv" = (
-/obj/effect/spawner/structure/window,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/plating,
-/area/station/cargo/office)
"chC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -5740,13 +5701,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"ciD" = (
-/obj/machinery/door/airlock/public/glass{
- name = "Public Shrine"
- },
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/textured_half,
-/area/station/hallway/primary/port)
"ciR" = (
/obj/structure/table,
/obj/effect/spawner/random/techstorage/command_all,
@@ -5768,26 +5722,27 @@
/obj/effect/turf_decal/tile/purple/opposingcorners,
/turf/open/floor/iron/cafeteria,
/area/station/science/circuits)
+"cjc" = (
+/obj/structure/chair/stool/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/turf/open/floor/carpet/orange,
+/area/station/command/heads_quarters/qm)
+"cjf" = (
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/small,
+/area/station/cargo/lobby)
"cjm" = (
/obj/structure/closet/firecloset,
/obj/machinery/status_display/evac/directional/south,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"cjw" = (
-/obj/structure/bed,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/bedsheet/qm,
-/obj/item/reagent_containers/cup/glass/bottle/tequila{
- pixel_x = -5;
- pixel_y = 2
- },
-/obj/structure/sign/poster/contraband/random/directional/east,
-/obj/machinery/camera/autoname/directional/east,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"cjz" = (
/obj/effect/turf_decal/siding/yellow{
dir = 8
@@ -5860,6 +5815,14 @@
/obj/structure/barricade/wooden/crude,
/turf/open/floor/noslip,
/area/station/maintenance/department/medical/central)
+"cky" = (
+/obj/machinery/airalarm/directional/north,
+/obj/item/kirbyplants/organic/applebush{
+ pixel_y = 5
+ },
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/miningfoundry)
"ckL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -5880,16 +5843,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"ckR" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 1;
- name = "Plasma to Pure"
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"ckV" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -5980,17 +5933,6 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tcomms)
-"cms" = (
-/obj/structure/table/wood,
-/obj/effect/turf_decal/siding/wood{
- dir = 10
- },
-/obj/item/pen{
- pixel_x = -2;
- pixel_y = 4
- },
-/turf/open/floor/carpet,
-/area/station/maintenance/hallway/abandoned_recreation)
"cmw" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -6071,14 +6013,6 @@
},
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
-"coo" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/obj/effect/spawner/random/vending/colavend,
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/lobby)
"cop" = (
/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
@@ -6097,29 +6031,6 @@
"cow" = (
/turf/closed/wall,
/area/station/engineering/lobby)
-"coA" = (
-/obj/structure/table,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/obj/item/stamp/denied{
- pixel_x = -1;
- pixel_y = 8
- },
-/obj/item/stamp{
- pixel_x = -7;
- pixel_y = 0
- },
-/obj/item/radio{
- pixel_x = 9;
- pixel_y = 4
- },
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"coC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral{
@@ -6301,29 +6212,18 @@
},
/turf/open/floor/iron/small,
/area/station/security/brig)
-"crP" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 4;
- name = "Plasma to Pure"
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"csi" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 1
- },
-/obj/effect/turf_decal/arrows{
- dir = 1
+"csj" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/turf/open/floor/iron/dark/side{
+/obj/effect/turf_decal/loading_area{
dir = 1
},
-/area/station/cargo/sorting)
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"csl" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -6424,6 +6324,13 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron,
/area/station/security/prison/rec)
+"cuZ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/thinplating_new,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/miningfoundry)
"cvc" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -6439,12 +6346,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/fore/greater)
-"cvx" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"cvy" = (
/obj/structure/bed/medical/emergency,
/turf/open/floor/iron/dark,
@@ -6609,6 +6510,25 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/ce)
+"cyQ" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/rack,
+/obj/item/clothing/ears/earmuffs{
+ pixel_x = -3;
+ pixel_y = -2
+ },
+/obj/item/clothing/ears/earmuffs{
+ pixel_x = -8;
+ pixel_y = 11
+ },
+/obj/item/clothing/ears/earmuffs{
+ pixel_x = 4;
+ pixel_y = 6
+ },
+/obj/item/pickaxe,
+/obj/machinery/newscaster/directional/west,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/miningfoundry)
"cyU" = (
/obj/effect/spawner/random/structure/table,
/obj/effect/spawner/random/maintenance,
@@ -6640,6 +6560,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"czh" = (
+/obj/machinery/light/floor,
+/obj/structure/flora/bush/flowers_br,
+/obj/structure/flora/bush/flowers_br/style_3,
+/turf/open/floor/grass,
+/area/station/hallway/primary/central/fore)
"czq" = (
/obj/structure/curtain/cloth,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -6787,6 +6713,15 @@
},
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"cCC" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"cCD" = (
/obj/structure/cable,
/obj/machinery/door/airlock/maintenance/external{
@@ -6854,19 +6789,6 @@
/obj/effect/landmark/start/head_of_security,
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/hos)
-"cDd" = (
-/obj/machinery/conveyor_switch/oneway{
- dir = 8;
- id = "QMLoad";
- name = "Loading Conveyor";
- pixel_x = -13;
- pixel_y = 19
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"cDf" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
@@ -6919,6 +6841,15 @@
dir = 1
},
/area/station/maintenance/starboard/greater)
+"cDQ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/wood,
+/area/station/service/chapel/office)
"cDV" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
@@ -6939,6 +6870,11 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"cEp" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
"cED" = (
/obj/structure/railing/corner,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -7053,27 +6989,9 @@
},
/turf/open/floor/iron/small,
/area/station/maintenance/port/lesser)
-"cGf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"cGj" = (
/turf/closed/wall/r_wall,
/area/station/security/execution/education)
-"cGA" = (
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/bot,
-/obj/structure/disposalpipe/trunk{
- dir = 2
- },
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/hallway/primary/central/fore)
"cGG" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 4
@@ -7141,6 +7059,13 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/dark,
/area/station/service/lawoffice)
+"cHD" = (
+/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"cHG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -7259,13 +7184,6 @@
"cKk" = (
/turf/closed/mineral/random/stationside,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"cKl" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/effect/spawner/random/engineering/tracking_beacon,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"cKm" = (
/obj/machinery/camera/directional/west,
/turf/open/floor/engine,
@@ -7398,6 +7316,12 @@
/obj/machinery/door/poddoor/incinerator_atmos_aux,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
+"cMH" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/maintenance/central/greater)
"cMS" = (
/obj/structure/cable,
/obj/structure/chair/stool/directional/north,
@@ -7423,10 +7347,21 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
-"cNL" = (
-/obj/effect/landmark/event_spawn,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
+"cNl" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/cargo/miningfoundry)
+"cNw" = (
+/obj/effect/turf_decal/siding/red,
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"cNR" = (
/obj/structure/chair/office{
dir = 4
@@ -7447,6 +7382,16 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
+"cOa" = (
+/obj/structure/table,
+/obj/item/screwdriver{
+ pixel_y = -6
+ },
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = 7
+ },
+/turf/open/floor/iron/dark,
+/area/station/commons/storage/tools)
"cOd" = (
/obj/structure/flora/bush/flowers_yw/style_random,
/obj/structure/flora/rock/pile/style_2{
@@ -7457,6 +7402,13 @@
/obj/structure/window/spawner/directional/west,
/turf/open/misc/sandy_dirt,
/area/station/commons/fitness/recreation/entertainment)
+"cOs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/structure/table,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"cOC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -7590,15 +7542,6 @@
},
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"cQV" = (
-/obj/machinery/door/airlock/engineering/glass{
- name = "Engineering Storage"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment,
-/turf/open/floor/iron/smooth_half{
- dir = 8
- },
-/area/station/engineering/main)
"cRc" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -7843,6 +7786,13 @@
dir = 1
},
/area/station/hallway/primary/aft)
+"cUV" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/command/heads_quarters/qm)
"cUY" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -7909,6 +7859,11 @@
dir = 4
},
/area/station/maintenance/fore/lesser)
+"cWC" = (
+/obj/item/reagent_containers/cup/watering_can/wood,
+/obj/structure/table,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"cWM" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -7997,17 +7952,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"cYj" = (
-/obj/structure/hedge,
-/obj/machinery/status_display/supply{
- pixel_y = -32
- },
-/obj/machinery/light/small/directional/south,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/turf/open/floor/iron/smooth,
-/area/station/cargo/storage)
"cYk" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -8201,6 +8145,13 @@
dir = 1
},
/area/station/science/lower)
+"day" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/event_spawn,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"daC" = (
/obj/structure/hedge,
/obj/effect/turf_decal/siding/thinplating_new{
@@ -8268,6 +8219,11 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
+"dcu" = (
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/north,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"dcx" = (
/obj/effect/turf_decal/siding/white{
dir = 10
@@ -8471,6 +8427,13 @@
/obj/machinery/status_display/ai/directional/north,
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
+"dfM" = (
+/obj/structure/rack,
+/obj/item/storage/medkit/regular,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/cargo/storage)
"dfT" = (
/obj/effect/turf_decal/bot{
dir = 1
@@ -8508,6 +8471,25 @@
/obj/structure/cable,
/turf/open/floor/iron/white/corner,
/area/station/science/lower)
+"dgt" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/obj/item/storage/fancy/candle_box,
+/obj/structure/rack/skeletal,
+/obj/machinery/camera/autoname/directional/west,
+/obj/structure/sign/poster/official/random/directional/north,
+/turf/open/floor/iron/grimy,
+/area/station/service/library/private)
+"dgy" = (
+/obj/structure/chair/office{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/turf/open/floor/carpet,
+/area/station/maintenance/hallway/abandoned_recreation)
"dgV" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 5
@@ -8664,6 +8646,13 @@
/obj/effect/landmark/start/mime,
/turf/open/floor/iron/smooth,
/area/station/service/greenroom)
+"diN" = (
+/obj/effect/spawner/structure/window,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/station/cargo/office)
"diP" = (
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
@@ -8764,6 +8753,12 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/security/tram)
+"dkD" = (
+/obj/structure/closet/secure_closet/engineering_personal,
+/obj/item/clothing/suit/hooded/wintercoat/engineering,
+/obj/structure/cable,
+/turf/open/floor/iron/small,
+/area/station/engineering/break_room)
"dkI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -8833,21 +8828,14 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/cryo)
-"dmo" = (
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"dmG" = (
/obj/structure/transport/linear/tram,
/obj/structure/tram,
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
+"dmO" = (
+/turf/open/floor/iron/dark,
+/area/station/cargo/lobby)
"dmT" = (
/obj/machinery/camera/directional/north{
c_tag = "Xenobiology - Cell 2";
@@ -9005,23 +8993,6 @@
},
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai)
-"dpz" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light_switch/directional/west,
-/obj/effect/landmark/event_spawn,
-/obj/machinery/portable_atmospherics/pump/lil_pump,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
-"dpF" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/effect/landmark/navigate_destination/bar,
-/obj/machinery/camera/autoname/directional/west,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"dpH" = (
/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{
dir = 8
@@ -9044,6 +9015,23 @@
/obj/item/clothing/head/utility/chefhat,
/turf/open/floor/iron/dark/small,
/area/station/commons/fitness/locker_room)
+"dqF" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/structure/table/glass,
+/obj/item/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/pen/invisible{
+ pixel_x = -2;
+ pixel_y = 7
+ },
+/obj/machinery/newscaster/directional/north,
+/obj/item/storage/photo_album/library,
+/turf/open/floor/iron/grimy,
+/area/station/service/library/private)
"dqO" = (
/turf/open/floor/iron/dark/small,
/area/station/security/checkpoint/customs/auxiliary)
@@ -9165,14 +9153,6 @@
/obj/structure/tram,
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
-"dth" = (
-/obj/effect/landmark/navigate_destination/cargo,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"dtk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
/turf/closed/wall,
@@ -9305,6 +9285,15 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs)
+"dvP" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/white/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/cargo/storage)
"dvY" = (
/obj/effect/turf_decal/siding/wood{
dir = 10
@@ -9330,6 +9319,9 @@
},
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
+"dwy" = (
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/cargo/storage)
"dwC" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -9403,16 +9395,6 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/iron/dark/diagonal,
/area/station/service/bar)
-"dxW" = (
-/obj/machinery/door/morgue{
- name = "Private Study";
- req_access = list("library")
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/maintenance/central/greater)
"dxZ" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -9518,11 +9500,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"dzH" = (
-/obj/machinery/portable_atmospherics/canister/plasma,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/turf/open/floor/engine/plasma,
-/area/station/engineering/atmos)
"dAn" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
@@ -9531,14 +9508,6 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
-"dAt" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/obj/effect/landmark/start/hangover,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"dAu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -9599,6 +9568,10 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/security/evidence)
+"dAZ" = (
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/cargo/lobby)
"dBh" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
@@ -9611,6 +9584,14 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
+"dBn" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/sign/departments/cargo/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"dBr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -9771,6 +9752,12 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"dEp" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/camera/autoname/directional/west,
+/obj/machinery/firealarm/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"dEq" = (
/obj/effect/turf_decal/siding/thinplating_new/light,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -9810,6 +9797,12 @@
},
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
+"dFn" = (
+/obj/structure/table/wood,
+/obj/item/flashlight/lamp,
+/obj/item/radio/intercom/directional/west,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"dFA" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
@@ -9867,16 +9860,6 @@
},
/turf/open/floor/tram,
/area/station/security/tram)
-"dHr" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/delivery/white,
-/turf/closed/wall,
-/area/station/maintenance/port/fore)
"dHx" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -9910,32 +9893,6 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
-"dIq" = (
-/obj/structure/table/reinforced,
-/obj/machinery/door/window/left/directional/west{
- name = "Cargo Desk";
- req_access = list("shipping")
- },
-/obj/structure/desk_bell{
- pixel_x = 7
- },
-/obj/item/paper_bin{
- pixel_x = -7;
- pixel_y = 6
- },
-/obj/effect/turf_decal/siding/white{
- dir = 4
- },
-/obj/item/pen{
- pixel_x = 8;
- pixel_y = 8
- },
-/obj/machinery/door/firedoor,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark/textured_large,
-/area/station/cargo/office)
"dIt" = (
/obj/structure/cable,
/obj/machinery/button/door/directional/east{
@@ -9948,6 +9905,12 @@
},
/turf/open/floor/iron/dark/small,
/area/station/ai_monitored/security/armory)
+"dIw" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmospherics_engine)
"dIQ" = (
/obj/effect/turf_decal/weather/dirt,
/obj/structure/flora/bush/flowers_yw/style_3,
@@ -10063,6 +10026,11 @@
},
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
+"dLl" = (
+/obj/effect/spawner/structure/window,
+/obj/structure/curtain/bounty/start_closed,
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
"dLn" = (
/obj/structure/chair/office,
/turf/open/floor/iron/dark/herringbone,
@@ -10127,6 +10095,13 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
+"dMC" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/structure/grille,
+/obj/structure/window/reinforced/spawner/directional/west,
+/turf/open/floor/plating,
+/area/station/hallway/primary/central/fore)
"dMM" = (
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron,
@@ -10147,17 +10122,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/engineering/gravity_generator)
-"dNl" = (
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/stripes,
-/obj/effect/turf_decal/trimline/brown/line,
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 1
- },
-/obj/machinery/light/small/directional/east,
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/iron/dark/smooth_half,
-/area/station/cargo/bitrunning/den)
"dNo" = (
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron,
@@ -10217,6 +10181,19 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/commons/storage/tools)
+"dOH" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"dOP" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{
dir = 1
@@ -10338,6 +10315,10 @@
/obj/effect/turf_decal/siding/wood/end,
/turf/open/floor/stone,
/area/station/service/chapel)
+"dRz" = (
+/obj/docking_port/stationary/syndicate/northeast,
+/turf/open/space/basic,
+/area/space)
"dRT" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -10426,6 +10407,22 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"dTi" = (
+/obj/machinery/light/cold/directional/west,
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
+"dTj" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/supply/general,
+/obj/machinery/door/airlock{
+ name = "Cargo Maintenance"
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"dTo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/effect/turf_decal/stripes/line{
@@ -10505,10 +10502,6 @@
/obj/machinery/holopad,
/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
-"dUU" = (
-/obj/effect/spawner/structure/window,
-/turf/open/floor/plating,
-/area/station/cargo/lobby)
"dVQ" = (
/obj/effect/turf_decal/weather/dirt{
dir = 8
@@ -10527,10 +10520,6 @@
/obj/effect/landmark/start/depsec/supply,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/supply)
-"dWa" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"dWh" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -10626,6 +10615,14 @@
/obj/machinery/door/firedoor,
/turf/open/floor/catwalk_floor/iron,
/area/station/science/lower)
+"dXu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/chair/stool/directional/south,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"dXO" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/obj/structure/disposalpipe/segment{
@@ -10846,6 +10843,11 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/wood/tile,
/area/station/service/bar)
+"ebn" = (
+/obj/structure/closet/emcloset,
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron/dark/side,
+/area/station/hallway/primary/central/fore)
"ebE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -10863,6 +10865,19 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/herringbone,
/area/station/commons/dorms)
+"ebM" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"ebU" = (
/obj/structure/table/reinforced,
/obj/structure/reagent_dispensers/servingdish,
@@ -10942,6 +10957,19 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"edA" = (
+/obj/machinery/conveyor_switch/oneway{
+ dir = 8;
+ id = "QMLoad";
+ name = "Loading Conveyor";
+ pixel_x = -13;
+ pixel_y = 19
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"edD" = (
/obj/machinery/light/small/directional/west,
/obj/item/kirbyplants/random,
@@ -11035,10 +11063,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"efn" = (
-/obj/effect/spawner/random/structure/crate_loot,
-/turf/open/floor/plating,
-/area/station/maintenance/department/electrical)
"efy" = (
/obj/item/kirbyplants/organic/plant21,
/obj/machinery/status_display/ai/directional/west,
@@ -11094,11 +11118,22 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"egg" = (
+/obj/structure/water_source/puddle,
+/turf/open/misc/asteroid,
+/area/station/maintenance/starboard/greater)
"egr" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/science/xenobiology)
+"egA" = (
+/obj/machinery/vending/autodrobe,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 8
+ },
+/turf/open/floor/iron/small,
+/area/station/commons/fitness/locker_room)
"egC" = (
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
dir = 4
@@ -11138,6 +11173,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/chapel,
/area/station/maintenance/starboard/greater)
+"egW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/item/radio/intercom/directional/south,
+/obj/machinery/light/cold/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"ehd" = (
/obj/item/stack/cable_coil,
/obj/item/electronics/airlock,
@@ -11175,6 +11222,19 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
+"ehu" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/button/door/directional/east{
+ id = "qm_warehouse_aft";
+ name = "Warehouse Door Control";
+ pixel_x = -24;
+ pixel_y = -23;
+ req_access = list("cargo")
+ },
+/obj/machinery/light/small/dim/directional/west,
+/obj/effect/turf_decal/loading_area,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"ehT" = (
/obj/machinery/door/airlock{
id_tag = "commiss2";
@@ -11205,6 +11265,16 @@
/obj/structure/broken_flooring/singular/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"eib" = (
+/obj/machinery/conveyor_switch/oneway{
+ id = "QMLoad2";
+ name = "Unloading Conveyor";
+ pixel_x = -13;
+ pixel_y = 3
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"eip" = (
/obj/machinery/power/port_gen/pacman,
/obj/machinery/power/terminal{
@@ -11319,15 +11389,6 @@
},
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
-"eka" = (
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/stripes/white/corner{
- dir = 4
- },
-/turf/open/floor/iron/dark/corner{
- dir = 4
- },
-/area/station/cargo/storage)
"ekr" = (
/obj/effect/turf_decal/siding/dark_red{
dir = 1
@@ -11512,6 +11573,9 @@
/obj/machinery/holopad,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
+"emz" = (
+/turf/closed/wall/r_wall/rust,
+/area/station/maintenance/department/electrical)
"emB" = (
/obj/machinery/door/airlock/maintenance{
name = "Maintenance"
@@ -11575,6 +11639,16 @@
"enG" = (
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
+"enI" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Atmospherics Maintenance"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/turf/open/floor/plating,
+/area/station/maintenance/disposal/incinerator)
"enV" = (
/obj/structure/closet/secure_closet/research_director,
/obj/item/radio/intercom/directional/north,
@@ -11708,21 +11782,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/engineering/atmos/storage/gas)
-"eqW" = (
-/obj/structure/table/wood,
-/obj/item/folder/yellow{
- pixel_x = 3;
- pixel_y = 6
- },
-/obj/item/dest_tagger{
- pixel_x = -11;
- pixel_y = 4
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/turf/open/floor/carpet/orange,
-/area/station/command/heads_quarters/qm)
"erf" = (
/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics,
/obj/machinery/door/airlock/hydroponics/glass{
@@ -11775,16 +11834,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark/side,
/area/station/hallway/primary/central/fore)
-"ess" = (
-/obj/structure/cable,
-/obj/structure/railing/corner/end{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/thinplating_new,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/miningfoundry)
"esv" = (
/obj/docking_port/stationary{
dwidth = 4;
@@ -11804,13 +11853,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"esB" = (
-/obj/effect/turf_decal/bot_white,
-/obj/effect/spawner/random/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/cargo/storage)
"esF" = (
/obj/structure/cable,
/obj/item/kirbyplants/organic/applebush,
@@ -11847,6 +11889,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"eti" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 8
+ },
+/area/station/cargo/storage)
"etl" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
dir = 5
@@ -11868,6 +11919,10 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/circuit,
/area/station/maintenance/port/aft)
+"etJ" = (
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/stone,
+/area/station/service/chapel)
"etZ" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted,
/obj/effect/turf_decal/siding/wideplating/dark/corner{
@@ -12059,6 +12114,26 @@
/obj/structure/sink/directional/east,
/turf/open/floor/iron/white,
/area/station/medical/virology)
+"eyx" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 8
+ },
+/obj/structure/sign/directions/supply/directional/west{
+ pixel_x = 0;
+ pixel_y = 39
+ },
+/obj/structure/sign/directions/vault/directional/west{
+ dir = 2;
+ pixel_x = 0;
+ pixel_y = 30
+ },
+/turf/open/floor/iron/small,
+/area/station/hallway/primary/central/fore)
"eyB" = (
/obj/structure/cable,
/obj/machinery/door/firedoor,
@@ -12101,18 +12176,6 @@
/obj/structure/chair/stool/directional/west,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/mess)
-"ezm" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock/maintenance{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"ezw" = (
/obj/structure/cable,
/obj/effect/landmark/start/hangover,
@@ -12318,6 +12381,23 @@
},
/turf/open/floor/iron/small,
/area/station/engineering/main)
+"eCO" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/iron/smooth,
+/area/station/command/heads_quarters/qm)
+"eCV" = (
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"eDh" = (
/obj/effect/spawner/structure/window/survival_pod,
/turf/open/floor/engine,
@@ -12454,6 +12534,13 @@
/obj/machinery/camera/directional/west,
/turf/open/floor/iron/smooth,
/area/station/commons/storage/tools)
+"eEG" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/cargo/storage)
"eEL" = (
/obj/machinery/portable_atmospherics/canister/air,
/turf/open/floor/plating,
@@ -12676,35 +12763,14 @@
/obj/machinery/light/floor,
/turf/open/floor/iron/dark/textured,
/area/station/ai_monitored/turret_protected/ai)
-"eIB" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/table/wood,
-/obj/item/folder/red{
- pixel_x = -4;
- pixel_y = -1
- },
-/obj/item/folder/blue{
- pixel_x = 3;
- pixel_y = -30
- },
-/obj/effect/spawner/random/entertainment/toy_figure{
- pixel_x = 4;
- pixel_y = 11
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/item/pen{
- pixel_x = -2;
- pixel_y = 4
- },
-/turf/open/floor/carpet,
-/area/station/maintenance/hallway/abandoned_recreation)
+"eII" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/status_display/evac/directional/east,
+/obj/machinery/camera/autoname/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"eIM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/disposalpipe/sorting/mail/flip{
@@ -12751,6 +12817,20 @@
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/security/armory)
+"eJi" = (
+/obj/structure/table/wood,
+/obj/item/hand_labeler_refill{
+ pixel_x = -4;
+ pixel_y = 26
+ },
+/obj/structure/sign/poster/official/random/directional/south,
+/obj/machinery/fax{
+ fax_name = "Quartermaster's Office";
+ name = "Quartermaster's Fax Machine";
+ pixel_y = 7
+ },
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"eJm" = (
/obj/machinery/disposal/bin,
/obj/effect/turf_decal/bot,
@@ -12776,29 +12856,6 @@
/obj/effect/turf_decal/stripes/asteroid/end,
/turf/open/floor/circuit/green,
/area/station/science/robotics/mechbay)
-"eJR" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 1
- },
-/obj/effect/turf_decal/arrows{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/cargo/sorting)
-"eKd" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
-/obj/machinery/light/small/directional/west,
-/obj/machinery/airlock_sensor/incinerator_atmos{
- pixel_y = -20
- },
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"eKf" = (
/obj/structure/table,
/obj/item/storage/box/donkpockets/donkpocketpizza,
@@ -12827,6 +12884,11 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"eKV" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
+/obj/machinery/portable_atmospherics/pump,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"eKW" = (
/obj/machinery/door/airlock/maintenance{
name = "Bathroom"
@@ -12907,6 +12969,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
+"eNa" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/cargo/miningfoundry)
"eNl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -12941,18 +13016,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark/textured,
/area/station/ai_monitored/turret_protected/ai)
-"eNE" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"eNP" = (
/obj/effect/turf_decal/plaque{
icon_state = "L9";
@@ -13029,6 +13092,12 @@
},
/turf/open/floor/iron,
/area/station/cargo/miningfoundry)
+"ePr" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"ePt" = (
/obj/structure/flora/grass/jungle/a/style_4,
/turf/open/floor/grass,
@@ -13066,14 +13135,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"eQj" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"eQk" = (
/obj/machinery/door/airlock/security{
name = "Isolation"
@@ -13104,6 +13165,17 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/commons/dorms)
+"eQI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/firealarm/directional/east,
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/white/corner,
+/obj/machinery/camera/autoname/directional/east,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"eQQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -13112,11 +13184,6 @@
dir = 1
},
/area/station/maintenance/starboard/greater)
-"eQR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"eQY" = (
/obj/machinery/door/airlock/maintenance{
name = "Maintenance"
@@ -13157,6 +13224,16 @@
/obj/machinery/door/firedoor,
/turf/open/floor/catwalk_floor/iron,
/area/station/science/lower)
+"eSA" = (
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/bot,
+/obj/structure/disposalpipe/trunk{
+ dir = 2
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/hallway/primary/central/fore)
"eSV" = (
/obj/structure/bed/maint,
/turf/open/floor/iron/small,
@@ -13210,6 +13287,12 @@
/obj/effect/turf_decal/siding/wood/corner,
/turf/open/floor/wood/tile,
/area/station/service/bar)
+"eTL" = (
+/obj/structure/cable,
+/turf/open/floor/iron/stairs{
+ dir = 1
+ },
+/area/station/cargo/lobby)
"eTT" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -13269,14 +13352,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/escape)
-"eUL" = (
-/obj/machinery/door/airlock/hatch{
- name = "Tool Supply Corridor"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/effect/mapping_helpers/airlock/unres,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/commons/storage/tools)
"eUN" = (
/obj/machinery/portable_atmospherics/scrubber,
/turf/open/floor/plating,
@@ -13321,17 +13396,6 @@
/obj/machinery/light/warm/directional/east,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/maintenance/port/aft)
-"eVo" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/obj/machinery/firealarm/directional/east,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"eVz" = (
/obj/machinery/camera/directional/west{
c_tag = "AI Sat - Antechamber";
@@ -13435,6 +13499,11 @@
/obj/machinery/light/cold/directional/west,
/turf/open/floor/iron/white,
/area/station/medical/medbay/aft)
+"eXl" = (
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"eXo" = (
/turf/closed/wall/r_wall,
/area/station/tcommsat/server)
@@ -13497,24 +13566,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat/equipment)
-"eYs" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/office)
-"eYx" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/junction/flip{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"eYB" = (
/obj/effect/turf_decal/siding/wood/end,
/turf/open/floor/wood,
@@ -13541,16 +13592,6 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron,
/area/station/science/lower)
-"eYX" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"eYY" = (
/obj/structure/window/spawner/directional/west,
/obj/structure/window/spawner/directional/east,
@@ -13560,6 +13601,10 @@
},
/turf/open/misc/sandy_dirt,
/area/station/maintenance/port/lesser)
+"eZd" = (
+/obj/effect/spawner/random/structure/crate_loot,
+/turf/open/floor/plating,
+/area/station/maintenance/department/electrical)
"eZi" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -13875,6 +13920,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/small,
/area/station/security/brig)
+"fgo" = (
+/obj/item/pickaxe,
+/turf/open/floor/plating,
+/area/station/maintenance/department/electrical)
"fgp" = (
/turf/open/floor/iron/dark/side,
/area/station/security/execution/transfer)
@@ -13918,13 +13967,6 @@
/obj/effect/turf_decal/weather/dirt,
/turf/open/floor/grass,
/area/station/service/chapel)
-"fgV" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/effect/turf_decal/siding/wood,
-/turf/open/floor/iron/smooth,
-/area/station/command/heads_quarters/qm)
"fgW" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/vending/drugs,
@@ -14017,6 +14059,10 @@
/obj/item/plate,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/mess)
+"fiE" = (
+/obj/effect/turf_decal/siding/red,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"fiK" = (
/obj/structure/cable,
/obj/structure/disposalpipe/sorting/mail/flip{
@@ -14059,14 +14105,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"fjH" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/miningfoundry)
"fjL" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -14215,6 +14253,13 @@
/obj/item/flashlight/lantern,
/turf/open/floor/plating/rust,
/area/station/maintenance/starboard/greater)
+"fma" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/landmark/start/cargo_technician,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"fme" = (
/obj/effect/turf_decal/weather/dirt{
dir = 1
@@ -14310,19 +14355,6 @@
/obj/item/storage/fancy/donut_box,
/turf/open/floor/iron/textured_large,
/area/station/security/brig/entrance)
-"fod" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/structure/table,
-/obj/effect/turf_decal/delivery/white,
-/obj/effect/spawner/random/food_or_drink/donkpockets{
- pixel_x = -9;
- pixel_y = 3
- },
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/sorting)
"foe" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -14418,22 +14450,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
-"fpr" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/disposal/delivery_chute{
- name = "Engineering Deliveries"
- },
-/obj/structure/sign/departments/engineering/directional/north,
-/obj/effect/turf_decal/tile/yellow/fourcorners,
-/obj/structure/plasticflaps{
- name = "Engineering Deliveries"
- },
-/obj/effect/turf_decal/delivery/white,
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/sorting)
"fpB" = (
/obj/structure/cable,
/obj/machinery/door/airlock{
@@ -14517,6 +14533,13 @@
/obj/machinery/door/window/brigdoor/right/directional/north,
/turf/open/floor/iron/textured_large,
/area/station/security/checkpoint/customs)
+"frY" = (
+/obj/structure/closet/secure_closet/security/cargo,
+/obj/effect/turf_decal/tile/red/anticorner/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/supply)
"frZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -14627,10 +14650,18 @@
},
/turf/open/floor/wood,
/area/station/service/chapel)
-"ftJ" = (
-/obj/effect/turf_decal/siding/red,
+"ftI" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/structure/cable,
/turf/open/floor/iron,
-/area/station/cargo/storage)
+/area/station/cargo/lobby)
"ftT" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden,
/obj/machinery/camera/directional/west{
@@ -14645,10 +14676,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"fua" = (
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/small,
-/area/station/cargo/lobby)
"fuj" = (
/obj/structure/table/glass,
/obj/effect/turf_decal/siding/dark_red,
@@ -14703,15 +14730,6 @@
},
/turf/open/space/basic,
/area/space)
-"fuT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"fuV" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 1
@@ -14737,15 +14755,6 @@
},
/turf/open/misc/sandy_dirt,
/area/station/commons/fitness/locker_room)
-"fvq" = (
-/obj/machinery/firealarm/directional/south,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"fvs" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -14788,6 +14797,15 @@
},
/turf/open/floor/iron/dark,
/area/station/security/processing)
+"fvX" = (
+/obj/structure/table,
+/obj/item/restraints/handcuffs/cable/red{
+ pixel_x = 1;
+ pixel_y = 6
+ },
+/obj/item/storage/toolbox/mechanical,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"fwc" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -14815,25 +14833,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"fwB" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/button/door/directional/east{
- id = "qm_warehouse";
- name = "Warehouse Door Control";
- pixel_x = -24;
- pixel_y = 24;
- req_access = list("cargo")
- },
-/obj/effect/turf_decal/loading_area{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"fwF" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -14883,35 +14882,13 @@
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
"fxc" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/stripes/white/corner{
- dir = 1
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/cargo/storage)
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"fxi" = (
/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
-"fxp" = (
-/obj/effect/spawner/structure/window/reinforced/plasma,
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
-"fxE" = (
-/obj/structure/table/wood/fancy/green,
-/obj/item/paperplane{
- pixel_x = 7;
- pixel_y = 7
- },
-/obj/item/paperplane{
- pixel_x = -1;
- pixel_y = 1
- },
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"fxF" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -14923,6 +14900,14 @@
/obj/structure/table,
/turf/open/floor/iron/kitchen/small,
/area/station/maintenance/aft)
+"fxO" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/cargo/storage)
"fxW" = (
/obj/machinery/restaurant_portal/restaurant,
/obj/effect/turf_decal/siding/wood{
@@ -15051,14 +15036,6 @@
},
/turf/open/floor/carpet/blue,
/area/station/commons/dorms)
-"fzM" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/pdapainter/supply,
-/turf/open/floor/iron/smooth,
-/area/station/command/heads_quarters/qm)
"fzT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -15073,6 +15050,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"fAn" = (
+/obj/effect/spawner/structure/window,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"fAr" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/structure/barricade/wooden/crude,
@@ -15225,6 +15209,16 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
+"fCK" = (
+/obj/machinery/door/airlock/mining{
+ name = "Mining Office"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/access/all/supply,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"fCS" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/machinery/airalarm/directional/east,
@@ -15361,14 +15355,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
-"fEt" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/camera/autoname/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
"fEC" = (
/turf/closed/wall,
/area/station/maintenance/port/lesser)
@@ -15542,9 +15528,6 @@
/obj/structure/flora/bush/large/style_random,
/turf/open/floor/grass,
/area/station/service/chapel)
-"fGY" = (
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/cargo/storage)
"fHf" = (
/obj/structure/bed/maint,
/obj/effect/spawner/random/maintenance,
@@ -15603,6 +15586,14 @@
/obj/machinery/vending/wardrobe/science_wardrobe,
/turf/open/floor/iron/white,
/area/station/science/research)
+"fHX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/stairs{
+ dir = 8
+ },
+/area/station/cargo/storage)
"fIe" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
dir = 6
@@ -15627,6 +15618,13 @@
/obj/machinery/light/floor,
/turf/open/floor/stone,
/area/station/service/bar)
+"fIq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/station/cargo/office)
"fIw" = (
/obj/effect/landmark/navigate_destination/dockescpod,
/turf/open/floor/plating,
@@ -15789,19 +15787,6 @@
/obj/item/clothing/mask/animal/small/bat,
/turf/open/floor/wood/parquet,
/area/station/service/greenroom)
-"fLs" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"fLt" = (
/obj/structure/table,
/obj/effect/spawner/random/food_or_drink/dinner,
@@ -15873,6 +15858,15 @@
/obj/structure/disposalpipe/segment,
/turf/closed/wall,
/area/station/commons/fitness/recreation/entertainment)
+"fMf" = (
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/bot,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/power/apc/auto_name/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"fMg" = (
/obj/structure/chair/stool/directional/north,
/turf/open/floor/iron/smooth,
@@ -16151,6 +16145,14 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/small,
/area/station/service/janitor)
+"fQv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"fQA" = (
/obj/effect/spawner/random/structure/chair_maintenance{
dir = 8
@@ -16201,20 +16203,6 @@
/obj/item/plunger,
/turf/open/floor/iron,
/area/station/medical/chemistry)
-"fRu" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"fRv" = (
/obj/structure/table,
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
@@ -16313,14 +16301,6 @@
/obj/effect/mapping_helpers/airlock/access/all/command/minisat,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/ai_monitored/turret_protected/aisat_interior)
-"fTa" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/sign/departments/cargo/directional/west,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"fTd" = (
/obj/structure/transport/linear/tram,
/obj/effect/landmark/transport/transport_id/birdshot/line_1,
@@ -16505,6 +16485,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
+"fWj" = (
+/obj/structure/cable,
+/obj/machinery/airalarm/directional/north,
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"fWr" = (
/obj/structure/closet/crate,
/obj/structure/barricade/wooden/crude,
@@ -16590,15 +16579,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"fXY" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"fYe" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/siding/wood{
@@ -16663,14 +16643,6 @@
},
/turf/open/floor/carpet,
/area/station/service/library)
-"fZY" = (
-/obj/effect/landmark/start/cargo_technician,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
"fZZ" = (
/obj/structure/chair/sofa/bench/left{
dir = 1
@@ -16851,12 +16823,6 @@
/obj/effect/spawner/random/structure/crate_abandoned,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"gdd" = (
-/obj/machinery/computer/order_console/bitrunning{
- dir = 8
- },
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/cargo/bitrunning/den)
"gdn" = (
/obj/item/kirbyplants/organic/applebush,
/obj/effect/turf_decal/tile/red{
@@ -16998,12 +16964,6 @@
/obj/structure/cable,
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"gfp" = (
-/obj/structure/cable,
-/turf/open/floor/iron/stairs{
- dir = 1
- },
-/area/station/cargo/lobby)
"gfs" = (
/turf/closed/wall/r_wall,
/area/station/hallway/secondary/command)
@@ -17078,10 +17038,12 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"ggr" = (
-/obj/item/pickaxe,
-/turf/open/floor/plating,
-/area/station/maintenance/department/electrical)
+"ggn" = (
+/obj/effect/decal/cleanable/oil,
+/obj/machinery/byteforge,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/cargo/bitrunning/den)
"ggw" = (
/obj/effect/turf_decal/stripes/white/end{
dir = 1
@@ -17110,6 +17072,14 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmospherics_engine)
+"ggK" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/pdapainter/supply,
+/turf/open/floor/iron/smooth,
+/area/station/command/heads_quarters/qm)
"ggN" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 9
@@ -17238,6 +17208,12 @@
/obj/machinery/nuclearbomb/beer,
/turf/open/floor/iron/freezer,
/area/station/command/corporate_suite)
+"giA" = (
+/obj/effect/turf_decal/siding/wood/end{
+ dir = 4
+ },
+/turf/open/floor/carpet/red,
+/area/station/command/heads_quarters/qm)
"giU" = (
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
dir = 1
@@ -17432,11 +17408,6 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmospherics_engine)
-"gmz" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"gnA" = (
/obj/structure/cable,
/obj/machinery/light/small/directional/north,
@@ -17475,6 +17446,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"gnO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"gnQ" = (
/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden,
/obj/effect/spawner/structure/window,
@@ -17550,15 +17530,6 @@
/obj/item/clothing/head/costume/papersack/smiley,
/turf/open/floor/plating/rust,
/area/station/maintenance/starboard/greater)
-"gpd" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/stripes/white/corner{
- dir = 8
- },
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/cargo/storage)
"gpf" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 1
@@ -17652,6 +17623,12 @@
/obj/structure/spider/stickyweb,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/engine/atmos)
+"gqw" = (
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"gqS" = (
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
/obj/effect/turf_decal/siding/wideplating,
@@ -17697,24 +17674,6 @@
},
/turf/open/floor/iron/white/side,
/area/station/science/lobby)
-"gsj" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/sign/departments/holy/directional/south,
-/obj/machinery/light/cold/directional/south,
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
-"gsr" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/white/corner,
-/obj/machinery/camera/autoname/directional/east,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
"gsv" = (
/obj/effect/turf_decal/siding{
dir = 1
@@ -17774,12 +17733,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"gtU" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/cargo/storage)
"guh" = (
/obj/machinery/atmospherics/components/binary/pump{
name = "atmos to engine"
@@ -17793,6 +17746,20 @@
},
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/exit/departure_lounge)
+"guq" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/spawner/random/structure/steam_vent,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
+"gus" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"guz" = (
/obj/structure/cable,
/obj/item/kirbyplants/random,
@@ -17818,20 +17785,6 @@
"guY" = (
/turf/closed/wall,
/area/station/service/chapel/storage)
-"gvz" = (
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/brown/line,
-/obj/effect/turf_decal/stripes,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/machinery/airalarm/directional/west,
-/obj/effect/landmark/start/bitrunner,
-/obj/machinery/camera/autoname/directional/west,
-/turf/open/floor/iron/dark/smooth_half,
-/area/station/cargo/bitrunning/den)
"gvV" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/chair/office{
@@ -18252,6 +18205,12 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/small,
/area/station/hallway/primary/fore)
+"gBs" = (
+/obj/effect/spawner/structure/window,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/station/command/heads_quarters/qm)
"gBu" = (
/turf/closed/wall/r_wall,
/area/station/security/prison/mess)
@@ -18319,15 +18278,6 @@
/obj/structure/table/glass,
/turf/open/floor/glass/reinforced,
/area/station/command/bridge)
-"gBX" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"gCe" = (
/obj/structure/cable,
/obj/machinery/portable_atmospherics/canister/oxygen,
@@ -18453,6 +18403,37 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"gEa" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/office)
+"gEb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/item/folder/yellow{
+ pixel_x = 7;
+ pixel_y = 6
+ },
+/obj/item/storage/dice{
+ pixel_x = -10;
+ pixel_y = 11
+ },
+/obj/item/pen{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/turf/open/floor/carpet,
+/area/station/maintenance/hallway/abandoned_recreation)
"gEc" = (
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
@@ -18500,6 +18481,25 @@
},
/turf/open/floor/iron/smooth,
/area/station/command/bridge)
+"gFi" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/button/door/directional/east{
+ id = "qm_warehouse";
+ name = "Warehouse Door Control";
+ pixel_x = -24;
+ pixel_y = 24;
+ req_access = list("cargo")
+ },
+/obj/effect/turf_decal/loading_area{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"gFm" = (
/obj/machinery/light/dim/directional/south,
/obj/effect/turf_decal/tile/neutral,
@@ -18609,6 +18609,14 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
+"gGA" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/cargo/storage)
"gGB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -18697,6 +18705,25 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/command/gateway)
+"gIr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/conveyor_switch/oneway{
+ id = "packageSort2";
+ name = "Sort and Deliver";
+ pixel_x = 8;
+ pixel_y = 12
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"gIs" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -18770,6 +18797,26 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron,
/area/station/security)
+"gJb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/conveyor{
+ dir = 1;
+ id = "packageSort2"
+ },
+/obj/machinery/door/window/left/directional/west{
+ name = "Crate Security Door";
+ req_access = list("shipping")
+ },
+/turf/open/floor/plating,
+/area/station/cargo/sorting)
"gJo" = (
/turf/open/floor/iron/stairs{
dir = 8
@@ -18803,13 +18850,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"gJH" = (
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 8
- },
-/obj/machinery/vending/cigarette,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"gJQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
@@ -18868,13 +18908,6 @@
"gLb" = (
/turf/closed/wall,
/area/station/medical/virology)
-"gLf" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/structure/grille,
-/obj/structure/window/reinforced/spawner/directional/west,
-/turf/open/floor/plating,
-/area/station/hallway/primary/central/fore)
"gLg" = (
/obj/effect/turf_decal/siding/wood,
/obj/machinery/camera/autoname/directional/north,
@@ -18935,6 +18968,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"gLS" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/landmark/navigate_destination/chapel,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"gLV" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -19129,6 +19171,13 @@
},
/turf/open/floor/iron,
/area/station/science/xenobiology)
+"gOS" = (
+/obj/machinery/rnd/production/techfab/department/cargo,
+/obj/effect/turf_decal/delivery/white,
+/obj/machinery/light_switch/directional/south,
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/sorting)
"gOX" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 8
@@ -19167,6 +19216,24 @@
/obj/structure/fermenting_barrel,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"gPO" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 2
+ },
+/obj/machinery/disposal/delivery_chute{
+ name = "Service Deliveries"
+ },
+/obj/structure/sign/departments/botany/directional/north,
+/obj/effect/turf_decal/tile/green/fourcorners,
+/obj/structure/plasticflaps{
+ name = "Service Deliveries"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/delivery/white,
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/sorting)
"gPY" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/effect/turf_decal/stripes/white/line{
@@ -19188,36 +19255,6 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
-"gQD" = (
-/obj/structure/closet/secure_closet/security/cargo,
-/obj/effect/turf_decal/tile/red/anticorner/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/supply)
-"gQG" = (
-/obj/structure/window/spawner/directional/east,
-/obj/structure/closet/crate,
-/obj/effect/turf_decal/bot_white,
-/obj/item/clothing/gloves/color/fyellow,
-/obj/item/stack/package_wrap{
- pixel_y = 5
- },
-/obj/item/stack/package_wrap{
- pixel_y = 2
- },
-/obj/item/storage/box{
- desc = "It smells of monkey business...";
- name = "Empty Gorillacube Box"
- },
-/obj/item/weldingtool,
-/obj/item/radio{
- pixel_y = 3;
- pixel_x = -6
- },
-/obj/item/assembly/signaler,
-/turf/open/floor/iron/smooth,
-/area/station/commons/storage/tools)
"gRm" = (
/obj/structure/flora/bush/flowers_br,
/obj/structure/flora/bush/flowers_pp/style_random,
@@ -19303,6 +19340,13 @@
/obj/item/stack/sheet/mineral/titanium,
/turf/open/floor/tram,
/area/station/maintenance/department/medical/central)
+"gSA" = (
+/obj/machinery/vending/wardrobe/cargo_wardrobe,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"gSD" = (
/obj/machinery/mass_driver/chapelgun{
dir = 8
@@ -19338,6 +19382,15 @@
},
/turf/open/floor/carpet/executive,
/area/station/command/meeting_room)
+"gTj" = (
+/obj/structure/cable,
+/turf/closed/wall,
+/area/station/maintenance/port/greater)
+"gTw" = (
+/obj/machinery/light/small/dim/directional/north,
+/obj/effect/spawner/random/structure/crate,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"gTH" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -19402,15 +19455,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/small,
/area/station/hallway/primary/aft)
-"gUf" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/all/supply/general,
-/obj/machinery/door/airlock{
- name = "Cargo Maintenance"
- },
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"gUk" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -19458,12 +19502,6 @@
/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
/turf/open/floor/engine/o2,
/area/station/engineering/atmos)
-"gUQ" = (
-/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{
- dir = 4
- },
-/turf/closed/wall/r_wall,
-/area/station/maintenance/department/engine/atmos)
"gUV" = (
/obj/structure/cable,
/obj/structure/chair/stool/directional/south{
@@ -19476,13 +19514,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/prison)
-"gVb" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/thinplating_new,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/miningfoundry)
"gVc" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -19499,16 +19530,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood/large,
/area/station/command/corporate_suite)
-"gVy" = (
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"gVA" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -19576,6 +19597,18 @@
/obj/machinery/status_display/ai/directional/north,
/turf/open/floor/iron/cafeteria,
/area/station/science/breakroom)
+"gXB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"gXL" = (
/obj/structure/cable,
/obj/machinery/door/airlock{
@@ -19611,18 +19644,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"gYh" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"gYq" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -19674,6 +19695,16 @@
dir = 4
},
/area/station/hallway/secondary/entry)
+"gZR" = (
+/obj/structure/sign/poster/random/directional/south,
+/obj/machinery/conveyor{
+ id = "mining";
+ dir = 10
+ },
+/obj/machinery/bouldertech/refinery,
+/obj/structure/sign/poster/random/directional/east,
+/turf/open/floor/iron,
+/area/station/cargo/miningfoundry)
"gZS" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/west,
@@ -19709,6 +19740,12 @@
},
/turf/open/floor/engine,
/area/station/engineering/atmospherics_engine)
+"hao" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"haq" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -19721,10 +19758,6 @@
/obj/machinery/light/cold/directional/south,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"haD" = (
-/obj/machinery/portable_atmospherics/scrubber,
-/turf/open/floor/plating,
-/area/station/maintenance/port/greater)
"haO" = (
/obj/effect/turf_decal/stripes/white/end,
/obj/machinery/door/poddoor/shutters{
@@ -19732,13 +19765,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"hba" = (
-/obj/structure/hedge,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/turf/open/floor/iron/smooth,
-/area/station/cargo/storage)
"hbc" = (
/obj/effect/turf_decal/siding/dark_red/corner{
dir = 8
@@ -20171,12 +20197,6 @@
/obj/structure/lattice,
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
-"hft" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/port/greater)
"hfI" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -20186,16 +20206,6 @@
},
/turf/open/floor/wood/tile,
/area/station/tcommsat/server)
-"hgd" = (
-/obj/structure/table,
-/obj/item/screwdriver{
- pixel_y = -6
- },
-/obj/item/storage/toolbox/mechanical{
- pixel_y = 7
- },
-/turf/open/floor/iron/dark,
-/area/station/commons/storage/tools)
"hgf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/green{
@@ -20219,6 +20229,16 @@
},
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/starboard/aft)
+"hgp" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"hgu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -20299,21 +20319,13 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"hhp" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/chair/stool/directional/west,
-/obj/machinery/airalarm/directional/east,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
-"hhr" = (
-/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{
+"hhy" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
dir = 4
},
-/turf/closed/wall/r_wall,
-/area/station/maintenance/department/engine/atmos)
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"hhL" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -20400,6 +20412,21 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark/small,
/area/station/medical/morgue)
+"hjA" = (
+/obj/structure/table,
+/obj/machinery/status_display/supply{
+ pixel_x = 1;
+ pixel_y = 32
+ },
+/obj/machinery/fax/auto_name{
+ pixel_x = -1;
+ pixel_y = 6
+ },
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"hjQ" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral{
@@ -20407,6 +20434,19 @@
},
/turf/open/floor/iron,
/area/station/engineering/lobby)
+"hjS" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/structure/table,
+/obj/effect/turf_decal/delivery/white,
+/obj/effect/spawner/random/food_or_drink/donkpockets{
+ pixel_x = -9;
+ pixel_y = 3
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/sorting)
"hkd" = (
/obj/effect/turf_decal/siding/wideplating{
dir = 8
@@ -20503,9 +20543,6 @@
/obj/machinery/status_display/ai/directional/west,
/turf/open/floor/iron/dark/herringbone,
/area/station/ai_monitored/command/nuke_storage)
-"hle" = (
-/turf/open/floor/carpet/lone,
-/area/station/service/chapel/office)
"hlC" = (
/obj/effect/spawner/structure/window,
/obj/effect/turf_decal/bot{
@@ -20530,6 +20567,18 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/storage)
+"hlP" = (
+/obj/structure/table/wood,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/stack/wrapping_paper{
+ pixel_x = -3;
+ pixel_y = 5
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/turf/open/floor/carpet/orange,
+/area/station/command/heads_quarters/qm)
"hlX" = (
/obj/machinery/door/airlock/public/glass{
name = "Old Command Hallway"
@@ -20553,21 +20602,6 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/tram,
/area/station/security/tram)
-"hmj" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/table,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/tank/internals/emergency_oxygen{
- pixel_x = 5;
- pixel_y = 3
- },
-/obj/item/gps{
- pixel_y = 5;
- pixel_x = 13
- },
-/obj/item/storage/toolbox/emergency/old,
-/turf/open/floor/iron/dark,
-/area/station/commons/storage/tools)
"hmk" = (
/obj/structure/chair/stool/directional/east,
/turf/open/floor/iron/smooth,
@@ -20613,30 +20647,12 @@
dir = 1
},
/area/station/service/bar/backroom)
-"hmQ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/table,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/crowbar/large{
- pixel_y = 18
- },
-/obj/item/clothing/head/costume/pirate{
- pixel_x = 15;
- pixel_y = -3
- },
-/obj/item/clothing/suit/hazardvest{
- pixel_x = -3;
- pixel_y = -2
- },
-/obj/item/wrench{
- pixel_y = 15
- },
-/turf/open/floor/iron/dark,
-/area/station/commons/storage/tools)
"hmR" = (
-/obj/effect/turf_decal/loading_area/white,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
/turf/open/floor/iron,
-/area/station/cargo/lobby)
+/area/station/cargo/storage)
"hnf" = (
/obj/item/bikehorn/rubberducky{
pixel_x = -6;
@@ -20738,6 +20754,13 @@
/obj/structure/flora/bush/flowers_pp/style_random,
/turf/open/misc/sandy_dirt,
/area/station/medical/medbay/lobby)
+"hpb" = (
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 8
+ },
+/obj/machinery/vending/cigarette,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"hpe" = (
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron,
@@ -20787,11 +20810,6 @@
dir = 8
},
/area/station/science/lobby)
-"hqH" = (
-/obj/item/reagent_containers/cup/watering_can/wood,
-/obj/structure/table,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"hqM" = (
/obj/structure/toiletbong{
dir = 1
@@ -20887,12 +20905,6 @@
/obj/machinery/light/warm/directional/east,
/turf/open/floor/iron,
/area/station/security/prison)
-"hrP" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"hrV" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 5
@@ -21006,6 +21018,18 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
+"huh" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/delivery/white,
+/obj/structure/rack,
+/obj/item/stack/cable_coil/five,
+/obj/item/pickaxe,
+/obj/item/wrench,
+/obj/item/radio/off,
+/turf/open/floor/iron/smooth,
+/area/station/commons/storage/tools)
"huj" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -21067,13 +21091,6 @@
/obj/effect/mapping_helpers/airlock/access/all/command/general,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"hvw" = (
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 1
- },
-/obj/effect/spawner/random/vending/snackvend,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"hvx" = (
/obj/structure/flora/rock/pile/jungle/style_random,
/obj/machinery/light/small/directional/north,
@@ -21243,6 +21260,25 @@
"hyE" = (
/turf/closed/wall,
/area/station/maintenance/starboard/aft)
+"hyS" = (
+/obj/effect/turf_decal/tile/brown/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/engineering{
+ name = "Engineering Office"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "atmos_airlock_1"
+ },
+/obj/structure/cable,
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"hyW" = (
/obj/effect/turf_decal/weather/dirt{
dir = 10
@@ -21281,6 +21317,16 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"hzr" = (
+/obj/structure/closet/secure_closet/detective,
+/obj/machinery/requests_console/directional/north{
+ department = "Detective's Office";
+ name = "Detective Requests Console"
+ },
+/obj/machinery/light/small/directional/west,
+/obj/structure/detectiveboard/directional/west,
+/turf/open/floor/wood,
+/area/station/security/detectives_office)
"hzK" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
@@ -21339,6 +21385,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/engine/atmos)
+"hAO" = (
+/obj/machinery/computer/piratepad_control/civilian{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/camera/autoname/directional/south,
+/obj/machinery/status_display/supply{
+ pixel_y = -32
+ },
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/lobby)
"hAW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -21417,18 +21476,6 @@
},
/turf/open/floor/plating,
/area/station/command/heads_quarters/cmo)
-"hBJ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/item/radio/intercom/directional/south,
-/obj/machinery/light/cold/directional/south,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"hBR" = (
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
dir = 4
@@ -21625,15 +21672,6 @@
"hEJ" = (
/turf/open/floor/iron/smooth,
/area/station/service/library)
-"hEK" = (
-/obj/machinery/conveyor{
- id = "mining"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/cargo/miningfoundry)
"hFb" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -21697,12 +21735,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
/turf/closed/wall/r_wall,
/area/station/maintenance/disposal/incinerator)
-"hGa" = (
-/obj/machinery/camera/directional/east{
- c_tag = "Atmospherics Tank - Mix"
- },
-/turf/open/floor/engine/vacuum,
-/area/station/engineering/atmos)
"hGb" = (
/turf/closed/wall/r_wall,
/area/station/science/ordnance/storage)
@@ -21728,6 +21760,11 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/aft)
+"hGA" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/landmark/start/cargo_technician,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"hGE" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -21776,6 +21813,16 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"hHX" = (
+/obj/structure/chair/office/light{
+ dir = 4
+ },
+/obj/effect/landmark/start/quartermaster,
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/turf/open/floor/carpet/orange,
+/area/station/command/heads_quarters/qm)
"hIi" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -22298,6 +22345,17 @@
},
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
+"hSn" = (
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"hSK" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/white{
@@ -22489,13 +22547,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/dark,
/area/station/science/genetics)
-"hWa" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"hWk" = (
/obj/machinery/vending/coffee,
/obj/structure/extinguisher_cabinet/directional/south,
@@ -22589,6 +22640,14 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
+"hXM" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/landmark/start/depsec/supply,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/supply)
"hXU" = (
/turf/closed/wall,
/area/station/security/execution/education)
@@ -22647,6 +22706,21 @@
dir = 8
},
/area/station/science/lab)
+"hYQ" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 2
+ },
+/obj/machinery/disposal/delivery_chute{
+ name = "Security Deliveries"
+ },
+/obj/structure/sign/departments/security/directional/north,
+/obj/effect/turf_decal/tile/red/fourcorners,
+/obj/structure/plasticflaps{
+ name = "Security Deliveries"
+ },
+/obj/effect/turf_decal/delivery/white,
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/sorting)
"hYS" = (
/obj/effect/turf_decal/tile/yellow/diagonal_centre,
/obj/structure/railing,
@@ -22687,27 +22761,12 @@
},
/turf/open/floor/iron/dark/smooth_large,
/area/station/command/meeting_room)
-"hZA" = (
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
"hZP" = (
/obj/structure/cable,
/obj/structure/sign/poster/official/random/directional/north,
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"hZR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/spawner/random/structure/closet_empty/crate,
-/obj/effect/turf_decal/bot_white,
-/turf/open/floor/iron/smooth_large,
-/area/station/cargo/warehouse)
"hZT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -22748,14 +22807,6 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/captain/private)
-"iax" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/structure/sign/poster/official/random/directional/north,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
"iaA" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/machinery/light/small/directional/north,
@@ -22919,12 +22970,6 @@
/obj/structure/table/reinforced,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"idb" = (
-/obj/effect/decal/cleanable/oil,
-/obj/machinery/byteforge,
-/obj/effect/turf_decal/box,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/cargo/bitrunning/den)
"idd" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -23001,6 +23046,11 @@
/obj/structure/broken_flooring/singular/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"idB" = (
+/obj/structure/cable,
+/obj/machinery/airalarm/directional/south,
+/turf/open/floor/plating,
+/area/station/maintenance/disposal/incinerator)
"idF" = (
/obj/effect/turf_decal/siding/wood{
dir = 10
@@ -23038,6 +23088,22 @@
/obj/machinery/telecomms/message_server/preset,
/turf/open/floor/circuit,
/area/station/tcommsat/server)
+"iek" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal/delivery_chute{
+ name = "Engineering Deliveries"
+ },
+/obj/structure/sign/departments/engineering/directional/north,
+/obj/effect/turf_decal/tile/yellow/fourcorners,
+/obj/structure/plasticflaps{
+ name = "Engineering Deliveries"
+ },
+/obj/effect/turf_decal/delivery/white,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/sorting)
"ieY" = (
/obj/structure/disposalpipe/segment,
/obj/effect/mapping_helpers/broken_floor,
@@ -23078,11 +23144,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"ifv" = (
-/obj/item/radio/intercom/directional/east,
-/obj/machinery/light/warm/directional/east,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"ifH" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/red/line{
@@ -23231,21 +23292,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/medical/morgue)
-"ihD" = (
-/obj/structure/table,
-/obj/machinery/status_display/supply{
- pixel_x = 1;
- pixel_y = 32
- },
-/obj/machinery/fax/auto_name{
- pixel_x = -1;
- pixel_y = 6
- },
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"ihZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -23304,6 +23350,24 @@
},
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
+"iiR" = (
+/obj/structure/railing{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/conveyor_switch/oneway{
+ pixel_x = 4;
+ pixel_y = 10;
+ id = "mining"
+ },
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 6
+ },
+/turf/open/floor/iron/smooth,
+/area/station/cargo/miningfoundry)
"iiW" = (
/obj/structure/cable,
/turf/open/floor/catwalk_floor/iron_dark,
@@ -23317,12 +23381,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"ijp" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/light/small/directional/south,
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/supply)
"ijz" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/white/small,
@@ -23425,22 +23483,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/captain/private)
-"ikQ" = (
-/obj/structure/table/wood,
-/obj/item/folder/white{
- pixel_x = -3;
- pixel_y = 0
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 5
- },
-/obj/item/pen{
- pixel_x = -2;
- pixel_y = 4
- },
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/carpet,
-/area/station/maintenance/hallway/abandoned_recreation)
"ikU" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 10
@@ -23520,19 +23562,6 @@
/obj/structure/extinguisher_cabinet/directional/east,
/turf/open/floor/iron/white/small,
/area/station/science/ordnance/storage)
-"ilL" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"ilT" = (
/obj/machinery/door/airlock/external{
name = "Atmospherics External Access"
@@ -23633,6 +23662,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/commons/dorms)
+"ioJ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/effect/spawner/random/engineering/tracking_beacon,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"ioQ" = (
/obj/machinery/portable_atmospherics/scrubber,
/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{
@@ -23834,6 +23870,14 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
+"iqM" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"ira" = (
/obj/structure/tank_dispenser/oxygen,
/obj/machinery/light/small/directional/south,
@@ -23967,13 +24011,14 @@
"itb" = (
/turf/closed/wall/r_wall/rust,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"itr" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{
- dir = 4
+"itf" = (
+/obj/structure/disposalpipe/segment,
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
},
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/turf/open/floor/carpet/red,
+/area/station/command/heads_quarters/qm)
"itw" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -24143,20 +24188,22 @@
/obj/structure/extinguisher_cabinet/directional/east,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
+"ivC" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"ivY" = (
/obj/structure/table/reinforced,
/obj/effect/spawner/random/techstorage/tcomms_all,
/obj/machinery/light/cold/directional/east,
/turf/open/floor/iron,
/area/station/engineering/storage/tech)
-"iwo" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/junction/flip{
- dir = 4
- },
-/obj/effect/spawner/random/structure/steam_vent,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"iwt" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 8
@@ -24174,13 +24221,6 @@
/obj/structure/cable,
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
-"ixa" = (
-/obj/machinery/rnd/production/techfab/department/cargo,
-/obj/effect/turf_decal/delivery/white,
-/obj/machinery/light_switch/directional/south,
-/obj/machinery/light/warm/directional/south,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/sorting)
"ixl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -24378,6 +24418,11 @@
/obj/machinery/field/generator,
/turf/open/floor/iron/dark/small,
/area/station/engineering/storage_shared)
+"iAt" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"iAu" = (
/obj/structure/bed{
dir = 4
@@ -24436,6 +24481,15 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"iAL" = (
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"iAM" = (
/obj/effect/turf_decal/siding/wideplating/dark/corner{
dir = 1
@@ -24584,17 +24638,22 @@
/obj/machinery/door/firedoor,
/turf/open/floor/catwalk_floor/iron_white,
/area/station/science/server)
-"iCN" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/lobby)
"iDk" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/open/floor/wood/tile,
/area/station/command/meeting_room)
+"iDm" = (
+/obj/structure/cable,
+/obj/structure/railing/corner/end{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/thinplating_new,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/miningfoundry)
"iDt" = (
/obj/effect/mapping_helpers/airlock/access/any/security/general,
/obj/machinery/door/airlock/security{
@@ -24650,6 +24709,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"iEc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/small,
+/area/station/engineering/break_room)
"iEk" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -24739,10 +24805,42 @@
},
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
+"iFG" = (
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/siding/wood,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/grimy,
+/area/station/service/library/private)
"iFP" = (
/obj/item/kirbyplants/random/fullysynthetic,
/turf/open/floor/plating/rust,
/area/station/maintenance/hallway/abandoned_command)
+"iGb" = (
+/obj/structure/window/spawner/directional/east,
+/obj/structure/closet/crate,
+/obj/effect/turf_decal/bot_white,
+/obj/item/clothing/gloves/color/fyellow,
+/obj/item/stack/package_wrap{
+ pixel_y = 5
+ },
+/obj/item/stack/package_wrap{
+ pixel_y = 2
+ },
+/obj/item/storage/box{
+ desc = "It smells of monkey business...";
+ name = "Empty Gorillacube Box"
+ },
+/obj/item/weldingtool,
+/obj/item/radio{
+ pixel_y = 3;
+ pixel_x = -6
+ },
+/obj/item/assembly/signaler,
+/turf/open/floor/iron/smooth,
+/area/station/commons/storage/tools)
"iGl" = (
/turf/open/floor/plating,
/area/station/maintenance/hallway/abandoned_command)
@@ -24817,6 +24915,14 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
+"iGW" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/effect/landmark/start/hangover,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"iHa" = (
/obj/machinery/atmospherics/components/binary/pump/on{
name = "Gas to Cold Loop";
@@ -24927,6 +25033,20 @@
},
/turf/open/floor/iron/dark/textured_edge,
/area/station/command/heads_quarters/hop)
+"iIG" = (
+/obj/structure/rack,
+/obj/item/clothing/gloves/cargo_gauntlet{
+ pixel_y = -3
+ },
+/obj/item/clothing/gloves/cargo_gauntlet,
+/obj/item/clothing/gloves/cargo_gauntlet{
+ pixel_y = 3
+ },
+/obj/machinery/airalarm/directional/south,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/cargo/storage)
"iIK" = (
/obj/effect/turf_decal/bot,
/obj/structure/rack,
@@ -25017,6 +25137,18 @@
/mob/living/basic/pet/dog/corgi/ian,
/turf/open/floor/iron/dark/textured_edge,
/area/station/command/heads_quarters/hop)
+"iJp" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes,
+/obj/effect/turf_decal/trimline/brown/line,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/obj/effect/landmark/start/bitrunner,
+/turf/open/floor/iron/dark/smooth_half,
+/area/station/cargo/bitrunning/den)
"iJq" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -25054,17 +25186,9 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"iJC" = (
-/obj/item/kirbyplants/organic/plant17,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/sign/calendar{
- pixel_x = 0;
- pixel_y = -26
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
+"iJH" = (
+/turf/closed/wall,
+/area/station/security/checkpoint/supply)
"iJI" = (
/obj/structure/table/glass,
/obj/item/folder/blue,
@@ -25121,6 +25245,14 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
+"iKn" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/junction{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"iKo" = (
/obj/structure/broken_flooring/corner/directional/south,
/obj/effect/spawner/random/trash/graffiti{
@@ -25197,12 +25329,6 @@
/obj/effect/mapping_helpers/airlock/access/any/command/hop,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
-"iLP" = (
-/obj/structure/table/wood,
-/obj/item/flashlight/lamp,
-/obj/item/radio/intercom/directional/west,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"iLR" = (
/obj/structure/cable,
/obj/structure/lattice/catwalk,
@@ -25291,12 +25417,6 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
-"iNv" = (
-/obj/structure/chair/stool/directional/east,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
"iNA" = (
/obj/machinery/light/cold/directional/east,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -25527,6 +25647,22 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating/elevatorshaft,
/area/station/commons/dorms)
+"iQM" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/arrows{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/cargo/sorting)
"iQT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/disposalpipe/segment{
@@ -25553,13 +25689,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/small,
/area/station/commons/fitness/locker_room)
-"iRd" = (
-/obj/effect/spawner/random/trash,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"iRk" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 8
@@ -25581,12 +25710,6 @@
},
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
-"iRr" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
"iRz" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -25754,16 +25877,15 @@
},
/turf/open/floor/circuit,
/area/station/tcommsat/server)
-"iUu" = (
-/obj/machinery/computer/cargo/request{
- dir = 1
+"iUA" = (
+/obj/machinery/conveyor{
+ id = "mining"
},
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/structure/extinguisher_cabinet/directional/south,
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/lobby)
+/turf/open/floor/iron,
+/area/station/cargo/miningfoundry)
"iUH" = (
/obj/effect/turf_decal/tile/neutral,
/obj/machinery/camera/autoname/directional/south,
@@ -25772,6 +25894,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"iUI" = (
+/obj/structure/railing,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/thinplating_new,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/miningfoundry)
"iUK" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 8
@@ -26110,6 +26240,11 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/dark/smooth_large,
/area/station/maintenance/central/lesser)
+"iZx" = (
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"iZy" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -26195,6 +26330,10 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"jab" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
"jar" = (
/obj/machinery/drone_dispenser,
/turf/open/misc/asteroid,
@@ -26248,14 +26387,6 @@
"jaQ" = (
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/security/processing)
-"jaW" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"jbd" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -26303,18 +26434,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"jbB" = (
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 1
- },
-/obj/effect/turf_decal/stripes,
-/obj/effect/turf_decal/trimline/brown/line,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/effect/landmark/start/bitrunner,
-/turf/open/floor/iron/dark/smooth_half,
-/area/station/cargo/bitrunning/den)
"jbV" = (
/obj/machinery/photocopier,
/turf/open/floor/iron/dark,
@@ -26512,6 +26631,11 @@
/obj/machinery/light/dim/directional/north,
/turf/open/floor/iron/smooth,
/area/station/security/evidence)
+"jfP" = (
+/turf/open/floor/iron/stairs{
+ dir = 8
+ },
+/area/station/cargo/storage)
"jfT" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 1
@@ -26528,6 +26652,20 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/service/greenroom)
+"jgj" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/button/door/directional/east{
+ id = "qm_warehouse";
+ name = "Warehouse Door Control";
+ pixel_x = -24;
+ pixel_y = -24;
+ req_access = list("cargo")
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"jgq" = (
/obj/effect/turf_decal/weather/dirt{
dir = 8
@@ -26540,16 +26678,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"jgA" = (
-/obj/machinery/door/airlock/hatch{
- name = "Tool Supply Corridor"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/cargo/lobby)
"jgF" = (
/obj/effect/turf_decal/siding/wideplating/dark{
dir = 1
@@ -26566,19 +26694,6 @@
},
/turf/open/floor/iron,
/area/station/security/prison/workout)
-"jhc" = (
-/obj/structure/table,
-/obj/item/paper/crumpled{
- pixel_x = -27;
- pixel_y = 2
- },
-/obj/item/storage/medkit/regular{
- pixel_x = -5;
- pixel_y = 6
- },
-/obj/effect/landmark/event_spawn,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"jhj" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/computer/station_alert{
@@ -26598,13 +26713,6 @@
/obj/effect/turf_decal/stripes/white/line,
/turf/open/floor/plating,
/area/station/cargo/miningoffice)
-"jhE" = (
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"jhF" = (
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
dir = 4
@@ -26687,19 +26795,6 @@
},
/turf/open/floor/iron/small,
/area/station/maintenance/department/engine/atmos)
-"jiG" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/white/line{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/cargo/miningfoundry)
"jiR" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
/turf/open/floor/engine/vacuum,
@@ -26753,53 +26848,6 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron,
/area/station/medical/chemistry)
-"jjT" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 1
- },
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/cargo/storage)
-"jjV" = (
-/obj/effect/turf_decal/siding/white{
- dir = 5
- },
-/obj/structure/table,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/structure/railing{
- dir = 5
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/obj/item/stack/package_wrap{
- pixel_y = 2
- },
-/obj/item/stack/package_wrap{
- pixel_y = 6;
- pixel_x = -1
- },
-/obj/item/paper/crumpled{
- pixel_x = 5;
- pixel_y = 0
- },
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/cargo/lobby)
-"jkn" = (
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/pen{
- pixel_x = -2;
- pixel_y = 3
- },
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"jkz" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -26841,6 +26889,19 @@
/obj/structure/cable,
/turf/open/floor/plating/rust,
/area/station/engineering/supermatter/room)
+"jln" = (
+/obj/structure/chair/office{
+ dir = 1
+ },
+/obj/effect/landmark/start/cargo_technician,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"jlt" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -26936,6 +26997,13 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"jmC" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/sign/departments/holy/directional/south,
+/obj/machinery/light/cold/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"jmF" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/turf_decal/stripes/line{
@@ -26963,6 +27031,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"jmX" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/item/pen{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/turf/open/floor/carpet,
+/area/station/maintenance/hallway/abandoned_recreation)
"jmY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -26976,15 +27055,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/catwalk_floor,
/area/station/engineering/break_room)
-"jng" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"jnh" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -27169,12 +27239,6 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"jqM" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"jqZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -27191,6 +27255,14 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
+"jro" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/camera/autoname/directional/west,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"jrs" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -27205,6 +27277,12 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"jry" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/cargo/storage)
"jrD" = (
/obj/effect/turf_decal/siding/wideplating{
dir = 4
@@ -27319,6 +27397,10 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron/diagonal,
/area/station/command/heads_quarters/hop)
+"jtB" = (
+/obj/effect/turf_decal/stripes/white/corner,
+/turf/open/floor/iron/dark/corner,
+/area/station/cargo/storage)
"jtD" = (
/obj/structure/closet/emcloset,
/turf/open/floor/iron/showroomfloor,
@@ -27347,20 +27429,11 @@
/obj/machinery/status_display/ai/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"jue" = (
-/obj/effect/turf_decal/siding/red,
-/obj/item/kirbyplants/random,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
-"jus" = (
+"juo" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/effect/turf_decal/siding/wood/corner,
-/turf/open/floor/carpet/red,
-/area/station/command/heads_quarters/qm)
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/miningfoundry)
"juS" = (
/obj/structure/bed,
/obj/item/bedsheet/hop,
@@ -27368,18 +27441,14 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron/grimy,
/area/station/command/heads_quarters/hop)
-"juY" = (
-/obj/structure/hedge,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/light_switch/directional/east,
-/obj/machinery/light/warm/directional/east,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
+"juU" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light_switch/directional/west,
+/obj/effect/landmark/event_spawn,
+/obj/machinery/portable_atmospherics/pump/lil_pump,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"jvd" = (
/obj/effect/turf_decal/siding/thinplating{
dir = 1
@@ -27395,17 +27464,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/captain/private)
-"jvm" = (
-/obj/machinery/door/airlock/engineering/glass/critical{
- heat_proof = 1;
- name = "Supermatter Chamber"
- },
-/obj/effect/mapping_helpers/airlock/access/any/engineering/general,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter)
"jvB" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -27661,9 +27719,6 @@
dir = 4
},
/area/station/command/heads_quarters/captain/private)
-"jyP" = (
-/turf/open/floor/iron/dark,
-/area/station/cargo/lobby)
"jyY" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock{
@@ -27743,6 +27798,16 @@
/obj/machinery/light/small/dim/directional/south,
/turf/open/floor/iron/dark,
/area/station/engineering/lobby)
+"jAN" = (
+/obj/machinery/computer/cargo{
+ dir = 1
+ },
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"jAR" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/machinery/airalarm/directional/east,
@@ -27752,13 +27817,6 @@
/obj/structure/closet/firecloset,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
-"jBn" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"jBo" = (
/obj/effect/turf_decal/siding/thinplating_new{
dir = 6
@@ -27796,6 +27854,42 @@
/obj/machinery/flasher/directional/north,
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
+"jBJ" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/window/left/directional/west{
+ name = "Cargo Desk";
+ req_access = list("shipping")
+ },
+/obj/structure/desk_bell{
+ pixel_x = 7
+ },
+/obj/item/paper_bin{
+ pixel_x = -7;
+ pixel_y = 6
+ },
+/obj/effect/turf_decal/siding/white{
+ dir = 4
+ },
+/obj/item/pen{
+ pixel_x = 8;
+ pixel_y = 8
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/textured_large,
+/area/station/cargo/office)
+"jBN" = (
+/obj/machinery/piratepad/civilian,
+/obj/effect/turf_decal/bot_white,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/cold/dim/directional/south,
+/obj/machinery/airalarm/directional/south,
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/lobby)
"jBQ" = (
/obj/effect/turf_decal/tile/dark_red/fourcorners,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -27972,6 +28066,19 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
+"jFg" = (
+/obj/structure/table/wood/fancy/green,
+/obj/item/paperplane{
+ pixel_x = 7;
+ pixel_y = 7
+ },
+/obj/item/paperplane{
+ pixel_x = -1;
+ pixel_y = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"jFh" = (
/obj/item/kirbyplants/random,
/turf/open/floor/iron,
@@ -28036,12 +28143,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
-"jGx" = (
-/obj/structure/table/wood,
-/obj/item/paper_bin,
-/obj/item/pen,
-/turf/open/floor/carpet/lone,
-/area/station/service/chapel/office)
"jGy" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/machinery/vending/wardrobe/bar_wardrobe,
@@ -28062,6 +28163,15 @@
dir = 1
},
/area/station/hallway/secondary/entry)
+"jGC" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/white/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 8
+ },
+/area/station/cargo/storage)
"jGK" = (
/obj/structure/chair/wood,
/obj/structure/cable,
@@ -28155,6 +28265,11 @@
/mob/living/basic/sloth/citrus,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"jHC" = (
+/obj/effect/spawner/random/structure/crate,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"jHI" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 5
@@ -28173,6 +28288,21 @@
/obj/structure/chair/stool/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
+"jHN" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/department/electrical)
+"jHS" = (
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Engineering Storage"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment,
+/turf/open/floor/iron/smooth_half{
+ dir = 8
+ },
+/area/station/engineering/main)
"jHU" = (
/obj/structure/chair/sofa/bench/left{
dir = 8
@@ -28180,16 +28310,6 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/science/lobby)
-"jHW" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/white/line{
- dir = 4
- },
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/cargo/storage)
"jIc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/airlock{
@@ -28224,6 +28344,12 @@
/obj/structure/window/spawner/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
+"jIn" = (
+/obj/item/radio/intercom/directional/north,
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/vending/cytopro,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"jIy" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -28254,6 +28380,39 @@
},
/turf/open/floor/wood,
/area/station/engineering/main)
+"jJw" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/cargo/storage)
+"jJB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
+"jJO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/structure/chair/stool/directional/east,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/newscaster/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"jJP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -28293,6 +28452,14 @@
dir = 1
},
/area/station/science/xenobiology)
+"jKl" = (
+/obj/effect/landmark/start/cargo_technician,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"jKq" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -28329,6 +28496,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/maintenance/starboard/greater)
+"jLt" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"jLv" = (
/obj/effect/turf_decal/bot{
dir = 1
@@ -28412,15 +28586,6 @@
/obj/structure/spider/stickyweb,
/turf/open/floor/iron/small,
/area/station/maintenance/department/engine/atmos)
-"jMQ" = (
-/obj/machinery/atmospherics/components/binary/pump/off{
- name = "O2 To Pure"
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"jMX" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -28482,6 +28647,13 @@
/obj/machinery/status_display/evac/directional/west,
/turf/open/misc/sandy_dirt,
/area/station/hallway/primary/central/fore)
+"jNV" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"jOb" = (
/obj/machinery/firealarm/directional/east,
/obj/effect/turf_decal/siding/wideplating/dark{
@@ -28564,6 +28736,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
+"jPl" = (
+/obj/machinery/button/ignition/incinerator/atmos,
+/turf/closed/wall/r_wall,
+/area/station/maintenance/disposal/incinerator)
"jPo" = (
/obj/structure/cable,
/obj/machinery/door/airlock/maintenance{
@@ -28613,6 +28789,14 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron/small,
/area/station/commons/fitness/locker_room)
+"jQG" = (
+/obj/machinery/holopad,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/structure/chair/stool/directional/south,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"jQW" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -28899,23 +29083,6 @@
/obj/item/instrument/harmonica,
/turf/open/floor/iron,
/area/station/security/prison/rec)
-"jUr" = (
-/obj/item/cigarette,
-/obj/item/storage/fancy/cigarettes/cigpack_robust{
- pixel_y = 5;
- pixel_x = 6
- },
-/obj/item/lighter,
-/obj/structure/sign/poster/official/random/directional/east,
-/obj/structure/table,
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 6
- },
-/turf/open/floor/iron/small,
-/area/station/hallway/secondary/service)
"jUx" = (
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
@@ -28927,15 +29094,6 @@
/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"jUz" = (
-/obj/structure/table,
-/obj/item/restraints/handcuffs/cable/red{
- pixel_x = 1;
- pixel_y = 6
- },
-/obj/item/storage/toolbox/mechanical,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"jUA" = (
/obj/item/kirbyplants/random,
/obj/structure/disposalpipe/segment{
@@ -28982,18 +29140,6 @@
"jVM" = (
/turf/closed/wall,
/area/station/maintenance/central/greater)
-"jVS" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
-"jVV" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock/maintenance,
-/obj/effect/mapping_helpers/airlock/access/all/supply/general,
-/turf/open/floor/plating,
-/area/station/cargo/warehouse)
"jVY" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
@@ -29280,9 +29426,6 @@
/obj/effect/turf_decal/stripes/box,
/turf/open/floor/plating,
/area/station/service/janitor)
-"kas" = (
-/turf/closed/wall,
-/area/station/cargo/lobby)
"kat" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -29401,20 +29544,6 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
-"kcM" = (
-/obj/structure/disposalpipe/trunk,
-/obj/machinery/disposal/delivery_chute{
- name = "Medical Deliveries"
- },
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/plasticflaps{
- name = "Medical Deliveries"
- },
-/obj/effect/turf_decal/delivery/white,
-/obj/structure/sign/departments/med/directional/north,
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/sorting)
"kcQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
dir = 1
@@ -29468,13 +29597,6 @@
/obj/machinery/light_switch/directional/west,
/turf/open/floor/iron/white/small,
/area/station/science/server)
-"kec" = (
-/obj/machinery/light/floor,
-/obj/structure/flora/bush/flowers_br/style_3,
-/obj/structure/flora/bush/flowers_yw,
-/obj/structure/flora/bush/flowers_pp,
-/turf/open/floor/grass,
-/area/station/hallway/primary/central/fore)
"kel" = (
/obj/machinery/light/cold/directional/south,
/obj/machinery/modular_computer/preset/id{
@@ -29494,11 +29616,6 @@
"ket" = (
/turf/open/floor/iron,
/area/station/security/prison/work)
-"kev" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/firealarm/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"keL" = (
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood,
@@ -29586,6 +29703,16 @@
dir = 1
},
/area/station/hallway/primary/aft)
+"kgp" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"kgu" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/components/unary/passive_vent,
@@ -29638,6 +29765,24 @@
/obj/structure/tram,
/turf/open/floor/tram,
/area/station/security/tram)
+"khw" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/arrows{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/cargo/sorting)
"khD" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/reagent_dispensers/watertank,
@@ -29652,13 +29797,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/construction)
-"khK" = (
-/obj/effect/spawner/structure/window,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/turf/open/floor/plating,
-/area/station/cargo/office)
"khQ" = (
/obj/structure/transport/linear/tram,
/obj/structure/fluff/tram_rail/floor,
@@ -29703,6 +29841,12 @@
},
/turf/open/floor/grass/Airless,
/area/station/hallway/primary/central/aft)
+"kik" = (
+/obj/structure/chair/stool/directional/east,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"kit" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -29759,10 +29903,24 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
+"kiW" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"kiY" = (
/obj/structure/flora/tree/jungle/style_6,
/turf/open/floor/grass,
/area/station/service/chapel)
+"kjb" = (
+/obj/structure/hedge,
+/obj/structure/sign/poster/contraband/random/directional/east,
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"kjg" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -29866,11 +30024,32 @@
/obj/machinery/light/small/dim/directional/east,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
-"kkx" = (
-/obj/structure/disposalpipe/segment{
+"kkD" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 5
+ },
+/obj/structure/table,
+/obj/effect/turf_decal/tile/brown{
dir = 4
},
-/turf/closed/wall,
+/obj/structure/railing{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/obj/item/stack/package_wrap{
+ pixel_y = 2
+ },
+/obj/item/stack/package_wrap{
+ pixel_y = 6;
+ pixel_x = -1
+ },
+/obj/item/paper/crumpled{
+ pixel_x = 5;
+ pixel_y = 0
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
/area/station/cargo/lobby)
"kkK" = (
/obj/effect/spawner/random/structure/closet_maintenance,
@@ -29927,6 +30106,13 @@
dir = 1
},
/area/station/engineering/atmos)
+"klA" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Plasma to Pure"
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"klF" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
@@ -30091,6 +30277,10 @@
"knv" = (
/turf/closed/wall,
/area/station/maintenance/department/engine/atmos)
+"knw" = (
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/supermatter/room)
"knB" = (
/obj/machinery/door/airlock{
id_tag = "Toilet2";
@@ -30116,6 +30306,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white/small,
/area/station/commons/toilet/restrooms)
+"knR" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"knV" = (
/obj/structure/closet/l3closet,
/obj/effect/turf_decal/stripes/line{
@@ -30359,6 +30554,12 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/iron/dark/diagonal,
/area/station/service/bar)
+"ksq" = (
+/obj/structure/chair/stool/directional/south,
+/obj/machinery/light/small/directional/north,
+/obj/structure/mirror/directional/north,
+/turf/open/floor/iron/grimy,
+/area/station/cargo/boutique)
"ksv" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 8
@@ -30377,6 +30578,10 @@
},
/turf/open/floor/catwalk_floor/iron,
/area/station/engineering/gravity_generator)
+"ksE" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"ksJ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -30528,18 +30733,6 @@
/obj/structure/chair,
/turf/open/floor/iron,
/area/station/commons/storage/tools)
-"kuX" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/structure/chair/comfy/brown{
- buildstackamount = 0;
- color = "#c45c57";
- dir = 8
- },
-/turf/open/floor/iron/grimy,
-/area/station/service/library/private)
"kvl" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -30632,6 +30825,20 @@
/obj/structure/window/spawner/directional/north,
/turf/open/space/basic,
/area/space/nearstation)
+"kxa" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/machinery/door/airlock/mining{
+ name = "Mining Office"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/supply/mining,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/cargo/miningoffice)
"kxb" = (
/obj/structure/table/reinforced/titaniumglass,
/obj/effect/turf_decal/bot,
@@ -30663,6 +30870,10 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
+"kxu" = (
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/small,
+/area/station/cargo/lobby)
"kxE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/airlock/research/glass{
@@ -30678,19 +30889,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
-"kxG" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/structure/table,
-/obj/effect/turf_decal/delivery/white,
-/obj/machinery/microwave{
- pixel_y = 6
- },
-/obj/machinery/camera/autoname/directional/south,
-/obj/structure/sign/poster/official/random/directional/south,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/sorting)
"kxL" = (
/turf/open/floor/iron/dark/small,
/area/station/hallway/secondary/entry)
@@ -30770,25 +30968,11 @@
},
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/exit/departure_lounge)
-"kzG" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/poddoor/shutters{
- id = "qm_warehouse_aft";
- name = "Warehouse Shutters"
- },
-/turf/open/floor/plating,
-/area/station/cargo/warehouse)
"kzI" = (
/obj/effect/turf_decal/bot_white,
/obj/effect/spawner/random/structure/closet_empty/crate,
/turf/open/floor/iron/smooth_large,
/area/station/cargo/warehouse)
-"kzM" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/camera/autoname/directional/west,
-/obj/machinery/firealarm/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"kzP" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/trash,
@@ -30822,13 +31006,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/small,
/area/station/hallway/primary/fore)
-"kAr" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/spawner/structure/window,
-/turf/open/floor/plating,
-/area/station/cargo/office)
"kAz" = (
/obj/machinery/power/energy_accumulator/tesla_coil/anchored,
/obj/structure/window/reinforced/plasma/spawner/directional/north,
@@ -30978,10 +31155,6 @@
/obj/structure/chair/stool/directional/north,
/turf/open/floor/carpet/purple,
/area/station/commons/dorms)
-"kDP" = (
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/cargo/lobby)
"kEd" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -31059,15 +31232,6 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/white,
/area/station/medical/medbay/aft)
-"kFz" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/sign/poster/random/directional/east,
-/obj/machinery/conveyor{
- id = "mining"
- },
-/obj/machinery/brm,
-/turf/open/floor/iron,
-/area/station/cargo/miningfoundry)
"kFA" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -31211,15 +31375,6 @@
},
/turf/open/floor/iron,
/area/station/security)
-"kHR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"kHX" = (
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
@@ -31231,14 +31386,6 @@
/obj/structure/window/spawner/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
-"kIl" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/spawner/random/structure/steam_vent,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"kIm" = (
/obj/machinery/camera/autoname/directional/south,
/obj/machinery/light/small/directional/south,
@@ -31315,6 +31462,14 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plating,
/area/station/ai_monitored/security/armory)
+"kJu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/landmark/start/cargo_technician,
+/obj/structure/chair/stool/directional/south,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"kJJ" = (
/obj/structure/cable,
/obj/effect/mapping_helpers/broken_floor,
@@ -31362,17 +31517,6 @@
},
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"kKF" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/chair/stool/directional/east,
-/obj/effect/landmark/start/quartermaster,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/turf/open/floor/carpet/red,
-/area/station/command/heads_quarters/qm)
"kKT" = (
/obj/machinery/computer/camera_advanced/xenobio{
dir = 4
@@ -31415,6 +31559,27 @@
"kMe" = (
/turf/open/floor/iron/smooth_large,
/area/station/engineering/supermatter/room)
+"kMg" = (
+/obj/effect/turf_decal/tile/brown/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/engineering{
+ name = "Engineering Office"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "atmos_airlock_1"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"kMm" = (
/obj/structure/chair/sofa/right/brown{
dir = 1
@@ -31439,6 +31604,31 @@
/obj/machinery/holopad,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs)
+"kMY" = (
+/obj/effect/turf_decal/stripes{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/brown/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/brown/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes{
+ dir = 8
+ },
+/obj/machinery/door/airlock/mining{
+ name = "Bitrunning Den"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/dark/smooth_half{
+ dir = 1
+ },
+/area/station/cargo/bitrunning/den)
"kNf" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -31457,10 +31647,6 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"kNv" = (
-/obj/machinery/air_sensor/mix_tank,
-/turf/open/floor/engine/vacuum,
-/area/station/engineering/atmos)
"kNx" = (
/turf/open/floor/engine/o2,
/area/station/engineering/atmos)
@@ -31517,6 +31703,15 @@
/obj/structure/cable,
/turf/closed/wall/r_wall,
/area/station/maintenance/solars/port/aft)
+"kOA" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/sign/poster/random/directional/east,
+/obj/machinery/conveyor{
+ id = "mining"
+ },
+/obj/machinery/brm,
+/turf/open/floor/iron,
+/area/station/cargo/miningfoundry)
"kOG" = (
/obj/structure/cable,
/obj/machinery/door/airlock/external{
@@ -31564,6 +31759,14 @@
/obj/machinery/light/cold/directional/south,
/turf/open/floor/iron/white/small,
/area/station/security/warden)
+"kPh" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/structure/sign/poster/official/random/directional/north,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"kPk" = (
/obj/structure/chair/sofa/bench{
dir = 1
@@ -31614,6 +31817,15 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
+"kQj" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"kQk" = (
/obj/effect/turf_decal/siding/wood{
dir = 5
@@ -31628,6 +31840,9 @@
/obj/machinery/holopad,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"kRb" = (
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"kRi" = (
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
dir = 4
@@ -31723,11 +31938,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
-"kSN" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
"kTm" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/siding/wood{
@@ -31977,17 +32187,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/security/checkpoint/escape)
-"kYT" = (
-/obj/structure/reagent_dispensers/watertank/high,
-/obj/effect/turf_decal/siding/thinplating_new/light{
- dir = 9
- },
-/obj/machinery/light/small/dim/directional/north,
-/obj/effect/turf_decal/delivery/white{
- color = "#52B4E9"
- },
-/turf/open/floor/iron/white/small,
-/area/station/service/hydroponics)
"kYY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -32090,13 +32289,6 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/central/aft)
-"lam" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/event_spawn,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"laF" = (
/obj/structure/table,
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
@@ -32141,6 +32333,10 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/port/aft)
+"lbe" = (
+/obj/structure/sign/poster/official/random/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/cargo/lobby)
"lbG" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 1
@@ -32551,10 +32747,6 @@
/obj/item/camera,
/turf/open/floor/iron,
/area/station/security/prison/workout)
-"lhd" = (
-/obj/structure/water_source/puddle,
-/turf/open/floor/grass,
-/area/station/security/prison/garden)
"lhi" = (
/obj/machinery/airalarm/directional/north,
/obj/machinery/button/door/directional/north{
@@ -32772,12 +32964,6 @@
},
/turf/open/floor/iron,
/area/station/security/prison/rec)
-"ljK" = (
-/obj/structure/filingcabinet/chestdrawer,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/west,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/lobby)
"ljN" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -32867,6 +33053,18 @@
/obj/structure/flora/rock/pile/jungle/style_4,
/turf/open/floor/grass,
/area/station/service/chapel)
+"lkL" = (
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/pen{
+ pixel_x = -2;
+ pixel_y = 3
+ },
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"lkN" = (
/obj/effect/turf_decal/siding/wideplating{
dir = 1
@@ -32957,23 +33155,30 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"lmp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/chair/stool/directional/west,
+/obj/machinery/airalarm/directional/east,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"lmz" = (
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
"lmJ" = (
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
-"lng" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"lmZ" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
},
-/obj/structure/cable,
-/obj/structure/extinguisher_cabinet/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/light/warm/directional/north,
+/obj/effect/landmark/navigate_destination/bar,
+/obj/machinery/camera/autoname/directional/west,
+/obj/machinery/light/small/directional/west,
/turf/open/floor/iron,
-/area/station/cargo/storage)
+/area/station/hallway/primary/central/fore)
"lnu" = (
/obj/machinery/holopad,
/turf/open/floor/iron/dark,
@@ -33024,6 +33229,17 @@
/obj/structure/ore_box,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
+"lnL" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/structure/chair{
+ dir = 4;
+ pixel_y = -2
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"lnM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/window/brigdoor/right/directional/north{
@@ -33059,10 +33275,6 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"lnV" = (
-/obj/structure/reagent_dispensers/fueltank,
-/turf/open/floor/plating,
-/area/station/maintenance/port/greater)
"lnW" = (
/obj/effect/turf_decal/tile/neutral/full,
/obj/structure/chair{
@@ -33214,6 +33426,22 @@
"lqC" = (
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/starboard/aft)
+"lqK" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/effect/turf_decal/tile/neutral/opposingcorners{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/iron/small,
+/area/station/hallway/secondary/service)
"lqL" = (
/obj/effect/landmark/transport/nav_beacon/tram/platform/birdshot/prison_wing,
/turf/open/floor/tram,
@@ -33247,6 +33475,12 @@
/obj/effect/landmark/start/assistant,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
+"lrN" = (
+/obj/machinery/camera/directional/east{
+ c_tag = "Atmospherics Tank - Mix"
+ },
+/turf/open/floor/engine/vacuum,
+/area/station/engineering/atmos)
"lrP" = (
/obj/machinery/computer/security{
dir = 8
@@ -33281,6 +33515,10 @@
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
+"lsH" = (
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"lsO" = (
/obj/machinery/status_display/evac/directional/south,
/turf/open/floor/iron/white/side{
@@ -33369,6 +33607,13 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/commons/dorms)
+"lud" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light_switch/directional/south,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"lun" = (
/obj/machinery/door/firedoor,
/obj/effect/mapping_helpers/airlock/access/all/command/general,
@@ -33482,9 +33727,13 @@
/obj/effect/landmark/blobstart,
/turf/open/floor/iron/small,
/area/station/maintenance/department/engine/atmos)
-"lvL" = (
-/turf/closed/wall/rust,
-/area/station/cargo/lobby)
+"lvN" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"lvS" = (
/obj/machinery/porta_turret/ai{
dir = 4
@@ -33533,17 +33782,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
-"lwx" = (
-/obj/structure/railing{
- dir = 1
- },
-/obj/structure/railing,
-/obj/structure/hedge,
-/obj/effect/turf_decal/siding/thinplating_new/end{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/cargo/storage)
"lwI" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/computer/security/mining{
@@ -33602,6 +33840,10 @@
dir = 1
},
/area/station/commons/fitness/locker_room)
+"lxE" = (
+/obj/effect/spawner/random/structure/closet_empty/crate,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"lxI" = (
/obj/effect/turf_decal/siding/wood/end,
/obj/effect/spawner/random/engineering/atmospherics_portable,
@@ -33736,6 +33978,10 @@
dir = 1
},
/area/station/command/bridge)
+"lAM" = (
+/obj/effect/spawner/random/structure/girder,
+/turf/open/floor/plating,
+/area/station/maintenance/department/electrical)
"lAO" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
@@ -33883,21 +34129,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/engineering/lobby)
-"lCJ" = (
-/obj/machinery/light/small/directional/east,
-/obj/machinery/light_switch/directional/east,
-/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/white/corner{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/bot_white,
-/turf/open/floor/iron/smooth_large,
-/area/station/cargo/warehouse)
"lCK" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33989,20 +34220,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"lEs" = (
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 4
- },
-/obj/machinery/computer/order_console/cook{
- dir = 8
- },
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron/small,
-/area/station/hallway/secondary/service)
"lEJ" = (
/obj/machinery/door/poddoor{
id = "QMLoaddoor";
@@ -34042,6 +34259,13 @@
"lER" = (
/turf/open/floor/iron/dark,
/area/station/maintenance/department/engine/atmos)
+"lFb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"lFg" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -34112,23 +34336,6 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron,
/area/station/science/lower)
-"lGM" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/machinery/camera/autoname/directional/west,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
-"lGO" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/security/prison/garden)
"lHb" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/computer/robotics,
@@ -34193,10 +34400,6 @@
/obj/machinery/shower/directional/east,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
-"lHK" = (
-/obj/structure/closet,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/lobby)
"lHS" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/chair/stool/directional/east,
@@ -34223,12 +34426,6 @@
dir = 1
},
/area/station/command/heads_quarters/qm)
-"lHU" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
"lHW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -34287,26 +34484,6 @@
dir = 8
},
/area/station/science/xenobiology)
-"lIP" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/stripes/red/line{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/red/line{
- dir = 8
- },
-/obj/structure/sign/directions/supply/directional/west{
- pixel_x = 0;
- pixel_y = 39
- },
-/obj/structure/sign/directions/vault/directional/west{
- dir = 2;
- pixel_x = 0;
- pixel_y = 30
- },
-/turf/open/floor/iron/small,
-/area/station/hallway/primary/central/fore)
"lJe" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -34336,6 +34513,18 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai_upload_foyer)
+"lKf" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/machinery/camera/autoname/directional/west,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"lKg" = (
/obj/machinery/firealarm/directional/east,
/turf/open/floor/wood,
@@ -34442,17 +34631,6 @@
dir = 9
},
/area/station/hallway/secondary/construction)
-"lLM" = (
-/obj/structure/table,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/item/folder/yellow{
- pixel_x = -3;
- pixel_y = 3
- },
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"lLX" = (
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
@@ -34563,15 +34741,6 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/diagonal,
/area/station/engineering/lobby)
-"lNN" = (
-/obj/structure/table,
-/obj/item/toy/foamblade,
-/obj/item/analyzer{
- pixel_y = 8;
- pixel_x = -9
- },
-/turf/open/floor/iron/dark/small,
-/area/station/commons/fitness/locker_room)
"lNQ" = (
/obj/effect/turf_decal/bot_white/right,
/obj/machinery/firealarm/directional/north,
@@ -34586,6 +34755,11 @@
/obj/effect/landmark/navigate_destination/court,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"lOg" = (
+/obj/effect/spawner/random/structure/grille,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"lOi" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -34631,9 +34805,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/cargo/miningoffice)
-"lPm" = (
-/turf/closed/wall,
-/area/station/maintenance/hallway/abandoned_recreation)
"lPo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/landmark/start/assistant,
@@ -34642,6 +34813,30 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"lPv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/table,
+/obj/item/folder/red{
+ pixel_y = 3
+ },
+/obj/item/food/monkeycube/bee{
+ name = "monkey cube";
+ pixel_y = 17
+ },
+/obj/item/food/monkeycube/chicken{
+ pixel_y = 15;
+ pixel_x = 6;
+ name = "monkey cube";
+ desc = "A new Nanotrasen classic, the monkey cube. Tastes like everything!"
+ },
+/obj/item/wirecutters{
+ pixel_y = 6
+ },
+/turf/open/floor/iron/dark,
+/area/station/commons/storage/tools)
"lPC" = (
/obj/structure/bookcase/random,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -34668,15 +34863,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/security/execution/education)
-"lQc" = (
-/obj/structure/chair/office{
- dir = 1
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 6
- },
-/turf/open/floor/carpet,
-/area/station/maintenance/hallway/abandoned_recreation)
"lQh" = (
/turf/open/floor/iron/small,
/area/station/maintenance/port/aft)
@@ -34729,14 +34915,6 @@
/obj/structure/broken_flooring/singular/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"lRf" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/landmark/start/cargo_technician,
-/obj/structure/chair/stool/directional/south,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"lRh" = (
/obj/effect/landmark/start/scientist,
/obj/machinery/light/small/directional/north,
@@ -34961,15 +35139,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
-"lVv" = (
-/obj/structure/chair/stool/directional/south,
-/obj/effect/turf_decal/siding/yellow{
- dir = 1
- },
-/obj/effect/landmark/start/atmospheric_technician,
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/engineering/break_room)
"lVy" = (
/obj/effect/turf_decal/tile/green/anticorner/contrasted{
dir = 8
@@ -35027,6 +35196,21 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/security/armory)
+"lWE" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/table,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/tank/internals/emergency_oxygen{
+ pixel_x = 5;
+ pixel_y = 3
+ },
+/obj/item/gps{
+ pixel_y = 5;
+ pixel_x = 13
+ },
+/obj/item/storage/toolbox/emergency/old,
+/turf/open/floor/iron/dark,
+/area/station/commons/storage/tools)
"lWV" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -35086,6 +35270,15 @@
},
/turf/open/floor/wood/tile,
/area/station/science/lower)
+"lXM" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal/bin,
+/obj/machinery/light/small/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet/lone,
+/area/station/service/chapel/office)
"lXR" = (
/obj/structure/disposalpipe/junction,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -35116,6 +35309,17 @@
/obj/machinery/light/warm/directional/north,
/turf/open/floor/iron,
/area/station/commons/dorms)
+"lYe" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/structure/window/spawner/directional/west,
+/obj/effect/turf_decal/stripes/end,
+/obj/structure/disposaloutlet{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/cargo/sorting)
"lYf" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -35280,17 +35484,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/hallway/secondary/dock)
-"lZP" = (
-/obj/structure/table,
-/obj/item/toy/eightball{
- pixel_x = -4
- },
-/obj/item/wirecutters{
- pixel_y = 17;
- pixel_x = 4
- },
-/turf/open/floor/iron/dark/small,
-/area/station/commons/fitness/locker_room)
"lZR" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/duct,
@@ -35303,6 +35496,12 @@
},
/turf/open/floor/grass,
/area/station/service/chapel)
+"mac" = (
+/obj/structure/hedge,
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"mae" = (
/obj/structure/cable,
/turf/closed/wall,
@@ -35370,24 +35569,6 @@
/obj/structure/fluff/broken_canister_frame,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"mbH" = (
-/obj/structure/disposalpipe/trunk{
- dir = 2
- },
-/obj/machinery/disposal/delivery_chute{
- name = "Service Deliveries"
- },
-/obj/structure/sign/departments/botany/directional/north,
-/obj/effect/turf_decal/tile/green/fourcorners,
-/obj/structure/plasticflaps{
- name = "Service Deliveries"
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/delivery/white,
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/sorting)
"mbP" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/requests_console/directional/north{
@@ -35399,17 +35580,6 @@
/obj/structure/disposalpipe/trunk,
/turf/open/floor/iron/small,
/area/station/engineering/atmos/office)
-"mbS" = (
-/obj/machinery/door/airlock/command/glass{
- name = "Quartermaster's Office"
- },
-/obj/effect/mapping_helpers/airlock/access/all/supply/qm,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/command/heads_quarters/qm)
"mbV" = (
/obj/effect/spawner/random/entertainment/arcade,
/turf/open/floor/eighties/red,
@@ -35509,6 +35679,10 @@
/obj/effect/landmark/start/chief_medical_officer,
/turf/open/floor/wood/parquet,
/area/station/command/heads_quarters/cmo)
+"mdp" = (
+/obj/structure/water_source/puddle,
+/turf/open/floor/grass,
+/area/station/security/prison/garden)
"mdr" = (
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/tram,
@@ -35535,6 +35709,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
+"mek" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/machinery/holopad,
+/mob/living/basic/chick/permanent{
+ name = "Morgan"
+ },
+/turf/open/floor/iron/smooth,
+/area/station/command/heads_quarters/qm)
"meu" = (
/turf/closed/wall,
/area/station/command/heads_quarters/captain)
@@ -35585,10 +35767,6 @@
/obj/effect/mapping_helpers/mail_sorting/science/ordnance,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
-"mfx" = (
-/obj/effect/turf_decal/stripes/white/line,
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/storage)
"mfB" = (
/obj/structure/table/wood,
/obj/item/book/bible,
@@ -35615,23 +35793,6 @@
/obj/machinery/recharger,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs)
-"mgd" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 5
- },
-/obj/structure/table/glass,
-/obj/item/flashlight/lamp/green{
- pixel_x = 2;
- pixel_y = 9
- },
-/obj/item/taperecorder{
- pixel_x = -15;
- pixel_y = 3
- },
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/machinery/light_switch/directional/north,
-/turf/open/floor/iron/grimy,
-/area/station/service/library/private)
"mgt" = (
/obj/machinery/vending/boozeomat,
/obj/machinery/firealarm/directional/south,
@@ -35761,6 +35922,20 @@
/obj/item/clothing/under/costume/skeleton,
/turf/open/floor/eighties,
/area/station/service/abandoned_gambling_den/gaming)
+"mjh" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/holopad,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/cable,
+/turf/open/floor/iron/small,
+/area/station/engineering/break_room)
"mjr" = (
/obj/machinery/vending/dinnerware,
/obj/machinery/requests_console/auto_name/directional/south,
@@ -35873,6 +36048,14 @@
/obj/structure/alien/weeds,
/turf/open/floor/iron,
/area/station/maintenance/starboard/greater)
+"mln" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
+/obj/machinery/light/small/directional/west,
+/obj/machinery/airlock_sensor/incinerator_atmos{
+ pixel_y = -20
+ },
+/turf/open/floor/engine,
+/area/station/maintenance/disposal/incinerator)
"mlp" = (
/obj/structure/chair/stool/bar/directional/south,
/obj/effect/turf_decal/siding/wood{
@@ -35977,11 +36160,10 @@
},
/turf/open/floor/iron/smooth,
/area/station/maintenance/department/electrical)
-"mmX" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
+"mmZ" = (
+/obj/effect/spawner/random/trash,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"mnb" = (
/obj/effect/turf_decal/stripes/white/corner{
dir = 4
@@ -36064,6 +36246,18 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/dark/smooth_large,
/area/station/command/meeting_room)
+"mnU" = (
+/obj/structure/hedge,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/light_switch/directional/east,
+/obj/machinery/light/warm/directional/east,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"mog" = (
/obj/machinery/oven/range,
/obj/machinery/airalarm/directional/north,
@@ -36095,6 +36289,23 @@
/obj/machinery/door/firedoor,
/turf/open/floor/catwalk_floor/iron_white,
/area/station/science/research)
+"moq" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/arrows{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/west,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/cargo/sorting)
"mos" = (
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/smooth,
@@ -36140,6 +36351,26 @@
},
/turf/open/floor/wood/parquet,
/area/station/medical/psychology)
+"mpL" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/table,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/crowbar/large{
+ pixel_y = 18
+ },
+/obj/item/clothing/head/costume/pirate{
+ pixel_x = 15;
+ pixel_y = -3
+ },
+/obj/item/clothing/suit/hazardvest{
+ pixel_x = -3;
+ pixel_y = -2
+ },
+/obj/item/wrench{
+ pixel_y = 15
+ },
+/turf/open/floor/iron/dark,
+/area/station/commons/storage/tools)
"mpQ" = (
/obj/structure/bed{
dir = 4
@@ -36199,30 +36430,15 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"mrP" = (
-/obj/structure/disposalpipe/segment{
+"mrY" = (
+/obj/effect/turf_decal/siding/wood{
dir = 6
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/table,
-/obj/item/folder/red{
- pixel_y = 3
- },
-/obj/item/food/monkeycube/bee{
- name = "monkey cube";
- pixel_y = 17
- },
-/obj/item/food/monkeycube/chicken{
- pixel_y = 15;
- pixel_x = 6;
- name = "monkey cube";
- desc = "A new Nanotrasen classic, the monkey cube. Tastes like everything!"
- },
-/obj/item/wirecutters{
- pixel_y = 6
- },
-/turf/open/floor/iron/dark,
-/area/station/commons/storage/tools)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/grimy,
+/area/station/service/library/private)
"msg" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -36251,36 +36467,12 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"msF" = (
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/effect/landmark/start/quartermaster,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"msJ" = (
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"msZ" = (
-/obj/structure/table/wood/fancy/green,
-/obj/item/storage/wallet{
- pixel_x = -3;
- pixel_y = 10
- },
-/obj/item/cigarette/cigar{
- pixel_x = -1;
- pixel_y = -2
- },
-/obj/item/lighter{
- pixel_x = 11;
- pixel_y = -7
- },
-/obj/machinery/light/directional/south,
-/obj/structure/sign/poster/official/random/directional/south,
+"mta" = (
+/obj/structure/dresser,
+/obj/structure/sign/poster/contraband/random/directional/east,
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood,
/area/station/command/heads_quarters/qm)
@@ -36363,14 +36555,6 @@
"muS" = (
/turf/open/floor/iron/dark,
/area/station/security/prison/workout)
-"muT" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/machinery/camera/autoname/directional/west,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"muW" = (
/obj/structure/cable,
/obj/machinery/status_display/ai/directional/north,
@@ -36421,29 +36605,6 @@
dir = 1
},
/area/station/hallway/primary/central/fore)
-"mvX" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/red{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
-"mwc" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/light/cold/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"mwn" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -36516,6 +36677,15 @@
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron,
/area/station/security/warden)
+"mxh" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"mxp" = (
/obj/structure/table,
/obj/structure/railing/corner{
@@ -36525,15 +36695,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
-"mxv" = (
-/obj/structure/chair/stool/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/siding/wood{
- dir = 9
- },
-/turf/open/floor/carpet/orange,
-/area/station/command/heads_quarters/qm)
"mxM" = (
/obj/structure/barricade/wooden/crude,
/turf/open/floor/noslip,
@@ -36671,10 +36832,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"mzv" = (
-/obj/docking_port/stationary/syndicate/northeast,
-/turf/open/space/basic,
-/area/space)
"mzx" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -36706,10 +36863,6 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron,
/area/station/engineering/storage/tech)
-"mAu" = (
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"mAv" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/structure/window/reinforced/spawner/directional/south,
@@ -36747,11 +36900,6 @@
/obj/item/instrument/eguitar,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"mBt" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/miningfoundry)
"mBC" = (
/obj/structure/sign/poster/official/soft_cap_pop_art/directional/north,
/turf/open/floor/iron/grimy,
@@ -36785,14 +36933,21 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"mCU" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/disposalpipe/junction/flip{
- dir = 8
+"mCV" = (
+/obj/machinery/portable_atmospherics/scrubber,
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
+"mCW" = (
+/obj/machinery/airalarm/directional/south,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
},
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
+/obj/item/banner/cargo,
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/turf/open/floor/carpet/red,
+/area/station/command/heads_quarters/qm)
"mDf" = (
/obj/structure/chair/wood{
dir = 8
@@ -36808,6 +36963,13 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"mDk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"mDl" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -36816,18 +36978,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"mDx" = (
-/obj/machinery/mineral/ore_redemption{
- dir = 4;
- input_dir = 8;
- output_dir = 4
- },
-/obj/machinery/door/window/right/directional/east{
- name = "Ore Redemtion Window"
- },
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/textured_large,
-/area/station/cargo/office)
"mDA" = (
/obj/structure/table/wood,
/obj/machinery/computer/libraryconsole{
@@ -36861,14 +37011,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/half,
/area/station/hallway/primary/central/fore)
-"mDQ" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/start/depsec/supply,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/supply)
"mDS" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -36933,6 +37075,15 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/showroomfloor,
/area/station/security/prison/shower)
+"mFd" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/landmark/navigate_destination/chapel,
+/obj/structure/extinguisher_cabinet/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"mFh" = (
/obj/effect/decal/cleanable/glass,
/obj/structure/table/reinforced/rglass,
@@ -36978,17 +37129,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/circuit,
/area/station/tcommsat/server)
-"mFH" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/structure/chair{
- dir = 4;
- pixel_y = -2
- },
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"mFL" = (
/obj/structure/table,
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
@@ -37001,6 +37141,13 @@
/obj/structure/cable,
/turf/open/floor/eighties,
/area/station/service/abandoned_gambling_den/gaming)
+"mFQ" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"mGg" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -37068,6 +37215,12 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
+"mGI" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/station/cargo/lobby)
"mGM" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/broken_flooring/singular/directional/south,
@@ -37159,20 +37312,20 @@
dir = 1
},
/area/station/science/lower)
-"mIx" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/door/airlock/mining{
- name = "Mining Office"
- },
-/obj/effect/mapping_helpers/airlock/access/all/supply/mining,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/unres{
+"mIp" = (
+/obj/effect/turf_decal/trimline/neutral/line{
dir = 8
},
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/cargo/miningoffice)
+/area/station/hallway/primary/central/fore)
"mIA" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -37348,15 +37501,18 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"mKR" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/camera/autoname/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"mKY" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/service/hydroponics)
-"mLa" = (
-/obj/machinery/light/small/dim/directional/north,
-/obj/effect/spawner/random/structure/crate,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"mLh" = (
/obj/structure/cable,
/obj/machinery/computer/security/mining{
@@ -37381,6 +37537,11 @@
},
/turf/open/floor/iron,
/area/station/security/processing)
+"mLz" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"mLA" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/west,
@@ -37510,6 +37671,14 @@
},
/turf/open/floor/wood/tile,
/area/station/command/meeting_room)
+"mOc" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Engine Airlock"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/any/engineering/general,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"mOk" = (
/obj/structure/table/glass,
/obj/item/folder/blue{
@@ -37670,6 +37839,12 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"mRQ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"mSa" = (
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
@@ -37680,12 +37855,6 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmos/storage)
-"mSu" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"mSA" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -37701,17 +37870,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"mSJ" = (
-/obj/structure/hedge,
-/obj/machinery/status_display/supply{
- pixel_y = 32
- },
-/obj/machinery/light/small/directional/north,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/turf/open/floor/iron/smooth,
-/area/station/cargo/storage)
"mSQ" = (
/obj/effect/turf_decal/weather/dirt{
dir = 8
@@ -37955,6 +38113,17 @@
},
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
+"mWU" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/chair{
+ dir = 4;
+ pixel_y = -2
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"mWY" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/chair/sofa/bench/left{
@@ -37963,6 +38132,13 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron,
/area/station/security/processing)
+"mXb" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 10
+ },
+/obj/structure/flora/tree/jungle/style_2,
+/turf/open/floor/grass,
+/area/station/service/chapel)
"mXk" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/broken_flooring/singular/directional/east,
@@ -38045,6 +38221,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"mYE" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/item/kirbyplants/random,
+/obj/machinery/firealarm/directional/south,
+/obj/item/storage/belt/utility,
+/turf/open/floor/iron/smooth,
+/area/station/commons/storage/tools)
"mYP" = (
/obj/structure/table,
/obj/item/storage/bag/tray/cafeteria{
@@ -38113,25 +38298,6 @@
/obj/structure/alien/weeds,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
-"mZR" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/table/wood,
-/obj/item/paper_bin{
- pixel_x = -2;
- pixel_y = 4
- },
-/obj/item/pen{
- pixel_x = -2;
- pixel_y = 4
- },
-/obj/item/pen{
- pixel_x = -2;
- pixel_y = 10
- },
-/obj/structure/sign/poster/official/the_owl/directional/west,
-/obj/item/radio/intercom/directional/south,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
"mZZ" = (
/obj/structure/table/glass,
/obj/effect/turf_decal/trimline/blue/filled/line{
@@ -38160,9 +38326,8 @@
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/burnchamber)
"naB" = (
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
+/turf/closed/wall/rust,
+/area/station/cargo/lobby)
"naC" = (
/obj/structure/cable,
/obj/structure/broken_flooring/singular/directional/south,
@@ -38182,6 +38347,15 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
+"naK" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Engineering Office"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment,
+/turf/open/floor/iron/smooth_half{
+ dir = 8
+ },
+/area/station/maintenance/department/engine/atmos)
"naN" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock{
@@ -38208,10 +38382,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"nbN" = (
-/obj/effect/spawner/random/structure/girder,
-/turf/open/floor/plating,
-/area/station/maintenance/department/electrical)
"ncb" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table/wood,
@@ -38258,13 +38428,6 @@
/obj/effect/landmark/start/lawyer,
/turf/open/floor/wood/tile,
/area/station/service/lawoffice)
-"ncB" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"ncD" = (
/obj/structure/lattice,
/obj/structure/disposalpipe/segment{
@@ -38385,18 +38548,6 @@
},
/turf/open/floor/iron,
/area/station/security)
-"ngn" = (
-/obj/effect/turf_decal/weather/dirt,
-/obj/effect/turf_decal/weather/dirt{
- dir = 1
- },
-/obj/structure/flora/bush/flowers_yw,
-/obj/structure/flora/bush/large/style_random{
- pixel_x = -20;
- pixel_y = 3
- },
-/turf/open/floor/grass,
-/area/station/service/chapel)
"ngq" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -38409,6 +38560,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/prison)
+"nhk" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"nhl" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -38417,11 +38574,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"nht" = (
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
"nhu" = (
/obj/structure/table,
/obj/effect/spawner/random/engineering/flashlight,
@@ -38516,14 +38668,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"niE" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/photocopier,
-/turf/open/floor/iron/smooth,
-/area/station/command/heads_quarters/qm)
"niF" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -38600,6 +38744,16 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
+"njv" = (
+/obj/structure/reagent_dispensers/wall/peppertank/directional/west,
+/obj/machinery/computer/records/security{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/supply)
"njA" = (
/obj/machinery/photocopier,
/obj/structure/sign/poster/official/random/directional/north,
@@ -38642,11 +38796,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/textured_half,
/area/station/security)
-"nke" = (
-/obj/effect/spawner/random/structure/grille,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"nki" = (
/obj/effect/turf_decal/bot,
/obj/machinery/light/cold/dim/directional/west,
@@ -38660,6 +38809,14 @@
/obj/structure/barricade/wooden/crude,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"nku" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"nkw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/trimline/blue/filled/corner{
@@ -38770,13 +38927,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
-"nmw" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/light_switch/directional/south,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
"nmC" = (
/obj/structure/table,
/obj/item/storage/bag/tray,
@@ -38790,11 +38940,24 @@
},
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
+"nmE" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"nmH" = (
/obj/structure/railing,
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/main)
+"nmV" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"nmX" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
@@ -38914,18 +39077,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/large,
/area/station/service/janitor)
-"npf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/delivery/white,
-/obj/structure/rack,
-/obj/item/stack/cable_coil/five,
-/obj/item/pickaxe,
-/obj/item/wrench,
-/obj/item/radio/off,
-/turf/open/floor/iron/smooth,
-/area/station/commons/storage/tools)
"npp" = (
/obj/structure/cable,
/turf/open/floor/plating,
@@ -39046,16 +39197,6 @@
},
/turf/open/floor/wood,
/area/station/service/chapel)
-"nrX" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/structure/sign/poster/official/random/directional/west,
-/obj/structure/destructible/cult/item_dispenser/archives/library,
-/obj/item/book/codex_gigas,
-/obj/machinery/light/small/dim/directional/west,
-/turf/open/floor/iron/grimy,
-/area/station/service/library/private)
"nsc" = (
/obj/structure/cable,
/obj/item/kirbyplants/organic/applebush,
@@ -39316,14 +39457,23 @@
},
/turf/open/floor/iron/recharge_floor,
/area/station/maintenance/port/aft)
-"nvU" = (
-/obj/structure/cable,
+"nwb" = (
/obj/structure/disposalpipe/segment{
- dir = 10
+ dir = 4
},
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
+"nwf" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/firealarm/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"nwj" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -39387,10 +39537,6 @@
/obj/machinery/keycard_auth/wall_mounted/directional/south,
/turf/open/floor/wood,
/area/station/command/heads_quarters/qm)
-"nxS" = (
-/obj/effect/landmark/start/librarian,
-/turf/open/floor/iron/grimy,
-/area/station/service/library/private)
"nyd" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -39478,6 +39624,18 @@
/obj/machinery/light_switch/directional/west,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
+"nzd" = (
+/obj/structure/filingcabinet,
+/obj/machinery/firealarm/directional/east,
+/obj/effect/turf_decal/tile/red/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/supply)
+"nzy" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"nzA" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -39494,6 +39652,44 @@
"nzL" = (
/turf/closed/wall,
/area/station/science/ordnance/testlab)
+"nzO" = (
+/obj/structure/table,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/item/stamp/denied{
+ pixel_x = -1;
+ pixel_y = 8
+ },
+/obj/item/stamp{
+ pixel_x = -7;
+ pixel_y = 0
+ },
+/obj/item/radio{
+ pixel_x = 9;
+ pixel_y = 4
+ },
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
+"nzS" = (
+/obj/machinery/atmospherics/components/trinary/filter/flipped/layer2{
+ dir = 4
+ },
+/obj/machinery/light/small/directional/north,
+/obj/machinery/button/door/incinerator_vent_atmos_aux{
+ pixel_x = 8;
+ pixel_y = 24
+ },
+/obj/machinery/button/door/incinerator_vent_atmos_main{
+ pixel_x = 8;
+ pixel_y = 36
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/disposal/incinerator)
"nzU" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -39549,12 +39745,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
-"nBn" = (
-/obj/effect/turf_decal/siding/wood/end{
- dir = 4
- },
-/turf/open/floor/carpet/red,
-/area/station/command/heads_quarters/qm)
"nBq" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -39592,13 +39782,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"nBI" = (
-/obj/effect/turf_decal/bot_white,
-/obj/structure/reagent_dispensers/fueltank,
-/obj/machinery/light/small/directional/west,
-/obj/structure/sign/poster/official/random/directional/west,
-/turf/open/floor/iron/smooth_large,
-/area/station/cargo/warehouse)
"nBP" = (
/obj/machinery/door/poddoor/shutters/radiation/preopen{
id = "engsm";
@@ -39642,15 +39825,6 @@
/obj/effect/landmark/start/station_engineer,
/turf/open/floor/wood,
/area/station/engineering/break_room)
-"nCE" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/closet/secure_closet/quartermaster,
-/obj/machinery/light_switch/directional/south,
-/obj/effect/turf_decal/siding/wood{
- dir = 10
- },
-/turf/open/floor/carpet/red,
-/area/station/command/heads_quarters/qm)
"nCH" = (
/turf/closed/wall/r_wall,
/area/station/security)
@@ -39705,11 +39879,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/smooth_large,
/area/station/engineering/supermatter/room)
-"nDK" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/landmark/start/hangover,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"nDQ" = (
/obj/structure/chair{
dir = 4
@@ -39914,6 +40083,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/smooth,
/area/station/engineering/main)
+"nHb" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/machinery/vending/wardrobe/curator_wardrobe,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/west,
+/turf/open/floor/iron/grimy,
+/area/station/service/library/private)
"nHd" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -39922,23 +40100,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"nHq" = (
-/obj/structure/table/reinforced,
-/obj/item/folder/yellow{
- pixel_x = 13;
- pixel_y = 1
- },
-/obj/item/flashlight/lamp{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/clothing/ears/earmuffs{
- pixel_x = 15;
- pixel_y = 7
- },
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/engineering/break_room)
"nHu" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/turf/open/floor/plating,
@@ -40081,6 +40242,17 @@
},
/turf/open/floor/plating,
/area/station/command/meeting_room)
+"nJK" = (
+/obj/structure/reagent_dispensers/watertank/high,
+/obj/effect/turf_decal/siding/thinplating_new/light{
+ dir = 9
+ },
+/obj/machinery/light/small/dim/directional/north,
+/obj/effect/turf_decal/delivery/white{
+ color = "#52B4E9"
+ },
+/turf/open/floor/iron/white/small,
+/area/station/service/hydroponics)
"nJU" = (
/obj/machinery/conveyor{
dir = 4;
@@ -40100,13 +40272,6 @@
/obj/machinery/light_switch/directional/east,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"nKe" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"nKj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -40121,6 +40286,14 @@
/obj/machinery/light/floor,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
+"nLi" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/miningfoundry)
"nLk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -40158,6 +40331,23 @@
},
/turf/open/floor/iron,
/area/station/engineering/storage/tech)
+"nLQ" = (
+/obj/structure/table,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/cell_charger{
+ pixel_x = -1;
+ pixel_y = 4
+ },
+/obj/item/stock_parts/power_store/cell/high{
+ pixel_x = -1;
+ pixel_y = 4
+ },
+/obj/item/assembly/timer{
+ pixel_x = 14;
+ pixel_y = 6
+ },
+/turf/open/floor/iron/dark,
+/area/station/commons/storage/tools)
"nMk" = (
/obj/machinery/power/emitter/welded{
dir = 1
@@ -40282,6 +40472,13 @@
/obj/effect/turf_decal/tile/dark_red/fourcorners,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
+"nPg" = (
+/obj/effect/spawner/random/trash,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"nPl" = (
/obj/machinery/power/supermatter_crystal/engine,
/turf/open/floor/engine,
@@ -40312,15 +40509,6 @@
/obj/item/radio/intercom/directional/west,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
-"nPL" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/cargo/storage)
"nPM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -40424,20 +40612,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/smooth,
/area/station/engineering/break_room)
-"nQE" = (
-/obj/structure/railing{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/holopad,
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/structure/cable,
-/turf/open/floor/iron/small,
-/area/station/engineering/break_room)
"nQH" = (
/obj/structure/closet{
name = "Paramedic Supplies"
@@ -40457,15 +40631,6 @@
dir = 1
},
/area/station/security/execution/transfer)
-"nQW" = (
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"nQX" = (
/obj/machinery/holopad,
/turf/open/floor/iron/smooth,
@@ -40490,16 +40655,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/wood,
/area/station/engineering/break_room)
-"nRF" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"nRP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -40526,15 +40681,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"nSh" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/disposal/bin,
-/obj/machinery/light/small/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/carpet/lone,
-/area/station/service/chapel/office)
"nSA" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -40605,46 +40751,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/catwalk_floor/iron_white,
/area/station/science/cubicle)
-"nTV" = (
-/obj/machinery/requests_console/directional/south{
- department = "Security";
- name = "Security Requests Console"
- },
-/obj/effect/turf_decal/tile/red/anticorner/contrasted{
- dir = 8
- },
-/obj/structure/table/reinforced,
-/obj/item/radio/off{
- pixel_x = -6
- },
-/obj/machinery/recharger{
- pixel_x = 5;
- pixel_y = 4
- },
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/supply)
-"nUb" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/table/wood,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/item/folder/yellow{
- pixel_x = 7;
- pixel_y = 6
- },
-/obj/item/storage/dice{
- pixel_x = -10;
- pixel_y = 11
- },
-/obj/item/pen{
- pixel_x = -2;
- pixel_y = 4
- },
-/turf/open/floor/carpet,
-/area/station/maintenance/hallway/abandoned_recreation)
"nUd" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -40721,18 +40827,6 @@
/obj/item/wirecutters,
/turf/open/floor/iron/dark,
/area/station/security/office)
-"nVw" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 8
- },
-/turf/open/floor/iron/small,
-/area/station/hallway/secondary/service)
"nVx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -40770,11 +40864,6 @@
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
-"nWc" = (
-/obj/structure/chair/stool/directional/west,
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"nWh" = (
/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
/turf/closed/wall/r_wall,
@@ -40843,12 +40932,6 @@
/obj/effect/turf_decal/stripes/box,
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
-"nXK" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"nXP" = (
/obj/machinery/airalarm/directional/east,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -41004,6 +41087,23 @@
/obj/item/stock_parts/power_store/cell/high,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
+"oba" = (
+/obj/structure/table/reinforced,
+/obj/item/folder/yellow{
+ pixel_x = 13;
+ pixel_y = 1
+ },
+/obj/item/flashlight/lamp{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/clothing/ears/earmuffs{
+ pixel_x = 15;
+ pixel_y = 7
+ },
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/engineering/break_room)
"obb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -41024,6 +41124,10 @@
},
/turf/open/floor/iron/smooth,
/area/station/engineering/break_room)
+"obk" = (
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"obq" = (
/obj/structure/cable,
/obj/structure/lattice/catwalk,
@@ -41075,16 +41179,6 @@
/obj/machinery/computer/records/security,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
-"ocZ" = (
-/obj/machinery/portable_atmospherics/canister/air,
-/obj/effect/turf_decal/bot{
- dir = 1
- },
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/structure/cable,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage)
"odh" = (
/obj/effect/landmark/atmospheric_sanity/ignore_area,
/turf/open/floor/plating,
@@ -41094,11 +41188,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/grimy,
/area/station/commons/vacant_room/office)
-"odr" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/landmark/start/cargo_technician,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"odD" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/structure/table/wood,
@@ -41168,14 +41257,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/paramedic)
-"oeT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/obj/structure/chair/stool/directional/south,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"oeW" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -41216,6 +41297,15 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/captain/private)
+"ogq" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/light/cold/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"ogr" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -41360,12 +41450,6 @@
/obj/machinery/light/cold/directional/east,
/turf/open/floor/iron/dark/small,
/area/station/security/checkpoint/customs)
-"ohN" = (
-/obj/item/radio/intercom/directional/north,
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/vending/cytopro,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"oig" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/effect/turf_decal/stripes/corner{
@@ -41381,6 +41465,13 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
+"oim" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/obj/structure/sign/warning/no_smoking/directional/east,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"ois" = (
/obj/effect/turf_decal/siding/white{
dir = 6
@@ -41404,17 +41495,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"oiO" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/white/line{
- dir = 8
- },
-/turf/open/floor/iron/dark/side{
- dir = 8
- },
-/area/station/cargo/storage)
"oiP" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 1
@@ -41498,6 +41578,21 @@
/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
/turf/open/floor/plating,
/area/station/engineering/atmos/storage/gas)
+"okL" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/opposingcorners{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/iron/small,
+/area/station/hallway/secondary/service)
"okW" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -41582,18 +41677,6 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/iron/white/corner,
/area/station/science/xenobiology)
-"omZ" = (
-/obj/machinery/light/small/directional/south,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/stairs{
- dir = 8
- },
-/area/station/cargo/storage)
"ona" = (
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
@@ -41677,12 +41760,6 @@
},
/turf/open/floor/plating,
/area/station/engineering/atmos)
-"ooB" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"ooK" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -41903,10 +41980,6 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/medical/morgue)
-"osB" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"osP" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
@@ -41965,9 +42038,6 @@
dir = 1
},
/area/station/command/corporate_suite)
-"ouk" = (
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/cargo/lobby)
"oul" = (
/obj/effect/turf_decal/weather/dirt,
/obj/structure/flora/bush/flowers_yw/style_2,
@@ -42166,31 +42236,20 @@
},
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"oxo" = (
-/obj/effect/turf_decal/stripes{
+"oxt" = (
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
-/obj/effect/turf_decal/trimline/brown/line{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/brown/line{
+/obj/effect/turf_decal/tile/brown/half/contrasted{
dir = 4
},
-/obj/effect/turf_decal/stripes{
- dir = 8
- },
-/obj/machinery/door/airlock/mining{
- name = "Bitrunning Den"
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/dark/smooth_half{
- dir = 1
- },
-/area/station/cargo/bitrunning/den)
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"oyn" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock/public/glass{
@@ -42202,6 +42261,11 @@
/obj/machinery/light/warm/directional/south,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
+"oyv" = (
+/obj/machinery/light/small/directional/north,
+/obj/effect/landmark/start/cargo_technician,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/lobby)
"oyz" = (
/obj/structure/flora/grass/jungle/b/style_3,
/obj/effect/turf_decal/weather/dirt{
@@ -42210,6 +42274,13 @@
/obj/structure/cable,
/turf/open/floor/grass,
/area/station/service/chapel)
+"oyH" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/red,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"oyQ" = (
/turf/closed/wall,
/area/station/science/auxlab/firing_range)
@@ -42331,6 +42402,20 @@
},
/turf/open/floor/engine,
/area/station/engineering/atmospherics_engine)
+"oBO" = (
+/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior,
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
+/obj/machinery/airlock_controller/incinerator_atmos{
+ pixel_x = -40;
+ pixel_y = -8
+ },
+/turf/open/floor/engine,
+/area/station/maintenance/disposal/incinerator)
"oBP" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -42501,6 +42586,15 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"oEL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"oFc" = (
/obj/effect/spawner/random/trash,
/obj/machinery/light/small/directional/west,
@@ -42874,6 +42968,12 @@
},
/turf/open/floor/iron/white/small,
/area/station/commons/toilet/restrooms)
+"oLE" = (
+/obj/structure/chair/stool/directional/west,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/sign/poster/official/random/directional/north,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"oLV" = (
/obj/machinery/camera/autoname/directional/south,
/obj/structure/cable,
@@ -42888,23 +42988,6 @@
/mob/living/basic/slime,
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"oMJ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/mining/glass{
- name = "Delivery Office"
- },
-/obj/effect/mapping_helpers/airlock/access/all/supply/general,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 8
- },
-/turf/open/floor/iron/small,
-/area/station/cargo/sorting)
"oNd" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/siding/blue/corner{
@@ -42950,6 +43033,11 @@
dir = 8
},
/area/station/science/research)
+"oNQ" = (
+/obj/item/kirbyplants/random,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/wood,
+/area/station/service/chapel/office)
"oNX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42965,6 +43053,13 @@
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"oOf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"oOg" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/directional/north,
@@ -42987,6 +43082,14 @@
},
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
+"oOm" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/chair/stool/directional/east,
+/obj/effect/decal/cleanable/cobweb,
+/obj/structure/sign/poster/official/random/directional/north,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"oOp" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/light/cold/directional/east,
@@ -43062,20 +43165,6 @@
},
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai_upload)
-"oPh" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron/small,
-/area/station/hallway/secondary/service)
"oPj" = (
/turf/open/floor/engine/plasma,
/area/station/engineering/atmos)
@@ -43159,6 +43248,16 @@
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
+"oQP" = (
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"oRj" = (
/obj/effect/turf_decal/siding/yellow{
dir = 8
@@ -43278,6 +43377,12 @@
},
/turf/open/floor/iron/smooth,
/area/station/command/bridge)
+"oSB" = (
+/obj/machinery/vending/wardrobe/chap_wardrobe,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/camera/autoname/directional/south,
+/turf/open/floor/carpet/lone,
+/area/station/service/chapel/office)
"oTf" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -43465,18 +43570,6 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
-"oVQ" = (
-/obj/structure/table/wood,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/stack/wrapping_paper{
- pixel_x = -3;
- pixel_y = 5
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/turf/open/floor/carpet/orange,
-/area/station/command/heads_quarters/qm)
"oVW" = (
/obj/effect/turf_decal/weather/dirt{
dir = 5
@@ -43557,10 +43650,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"oYf" = (
-/obj/machinery/button/ignition/incinerator/atmos,
-/turf/closed/wall/r_wall,
-/area/station/maintenance/disposal/incinerator)
"oYi" = (
/obj/effect/turf_decal/trimline/neutral/line,
/obj/effect/turf_decal/trimline/neutral/line{
@@ -43666,15 +43755,18 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"paf" = (
+"oZZ" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/stripes/white/line{
- dir = 8
+/obj/effect/landmark/start/depsec/supply,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
},
-/turf/open/floor/iron/dark/side{
- dir = 8
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
},
-/area/station/cargo/storage)
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/supply)
"pan" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -43793,6 +43885,12 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"pbV" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"pca" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/red/line{
@@ -43932,6 +44030,10 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"peE" = (
+/obj/structure/closet,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/lobby)
"peN" = (
/obj/structure/lattice,
/obj/machinery/camera/motion/directional/north{
@@ -44055,14 +44157,6 @@
/obj/item/kirbyplants/fern,
/turf/open/floor/iron/white,
/area/station/science/cytology)
-"pgA" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/chair/stool/directional/east,
-/obj/effect/decal/cleanable/cobweb,
-/obj/structure/sign/poster/official/random/directional/north,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
"phd" = (
/obj/effect/turf_decal/siding/red{
dir = 4
@@ -44380,6 +44474,12 @@
},
/turf/open/floor/iron/smooth_large,
/area/station/science/auxlab/firing_range)
+"pmD" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/light/small/directional/south,
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/supply)
"pmE" = (
/obj/effect/turf_decal/tile/yellow/diagonal_centre,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -44397,13 +44497,6 @@
},
/turf/open/floor/iron,
/area/station/security/prison/workout)
-"pmP" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/landmark/start/hangover,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"pnf" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -44451,11 +44544,6 @@
/obj/structure/flora/bush/jungle/c/style_random,
/turf/open/floor/grass,
/area/station/service/chapel)
-"pnO" = (
-/obj/structure/cable,
-/obj/machinery/airalarm/directional/south,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"pnQ" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 6
@@ -44490,17 +44578,6 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/iron/freezer,
/area/station/command/corporate_suite)
-"poi" = (
-/obj/machinery/airalarm/directional/south,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/item/banner/cargo,
-/obj/effect/turf_decal/siding/wood{
- dir = 6
- },
-/turf/open/floor/carpet/red,
-/area/station/command/heads_quarters/qm)
"pot" = (
/obj/structure/table/wood,
/obj/item/cigarette/cigar/premium{
@@ -44610,6 +44687,16 @@
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
+"ppP" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"ppQ" = (
/obj/effect/turf_decal/stripes/box,
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
@@ -44669,10 +44756,6 @@
/obj/item/kirbyplants/random,
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
-"prd" = (
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/smooth_large,
-/area/station/engineering/supermatter/room)
"prf" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -44825,6 +44908,18 @@
},
/turf/open/floor/iron/smooth,
/area/station/maintenance/port/aft)
+"ptO" = (
+/obj/structure/sign/poster/official/random/directional/east,
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/opposingcorners{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 6
+ },
+/obj/item/aquarium_kit,
+/turf/open/floor/iron/small,
+/area/station/hallway/secondary/service)
"ptX" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -44834,14 +44929,9 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"pua" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
+"puk" = (
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
/area/station/cargo/lobby)
"pus" = (
/obj/effect/turf_decal/box/red/corners,
@@ -44857,19 +44947,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/diagonal,
/area/station/command/heads_quarters/hop)
-"puP" = (
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/cargo/lobby)
-"puQ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"pvi" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -44883,15 +44960,6 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
-"pvt" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"pvC" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -44999,21 +45067,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
-"pyG" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/obj/structure/sign/warning/no_smoking/directional/east,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
-"pyY" = (
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/all/supply/general,
-/obj/machinery/door/airlock{
- name = "Cargo Maintenance"
- },
-/turf/open/floor/plating,
-/area/station/maintenance/port/greater)
"pzb" = (
/obj/effect/turf_decal/trimline/blue/corner{
dir = 1
@@ -45025,6 +45078,13 @@
"pzd" = (
/turf/closed/wall,
/area/station/commons/fitness/recreation/entertainment)
+"pzk" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"pzy" = (
/obj/structure/table,
/obj/item/storage/box/prisoner{
@@ -45136,6 +45196,22 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
+"pBo" = (
+/obj/structure/table/wood,
+/obj/item/folder/white{
+ pixel_x = -3;
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/obj/item/pen{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/obj/structure/sign/poster/official/random/directional/north,
+/turf/open/floor/carpet,
+/area/station/maintenance/hallway/abandoned_recreation)
"pBu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral{
@@ -45573,6 +45649,16 @@
},
/turf/open/floor/iron/dark/small,
/area/station/commons/fitness/locker_room)
+"pIg" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"pIn" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -45582,6 +45668,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"pIo" = (
+/obj/machinery/computer/order_console/bitrunning{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/cargo/bitrunning/den)
"pIp" = (
/obj/machinery/light/small/directional/west,
/obj/effect/turf_decal/stripes/white/line{
@@ -45628,14 +45720,6 @@
/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"pJo" = (
-/obj/effect/turf_decal/siding/wood,
-/obj/machinery/holopad,
-/mob/living/basic/chick/permanent{
- name = "Morgan"
- },
-/turf/open/floor/iron/smooth,
-/area/station/command/heads_quarters/qm)
"pJr" = (
/obj/machinery/portable_atmospherics/canister,
/turf/open/floor/plating,
@@ -45698,20 +45782,6 @@
},
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"pKO" = (
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"pKR" = (
/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
dir = 4
@@ -45836,23 +45906,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/science/xenobiology)
-"pMC" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/structure/table/glass,
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 7
- },
-/obj/item/pen/invisible{
- pixel_x = -2;
- pixel_y = 7
- },
-/obj/machinery/newscaster/directional/north,
-/obj/item/storage/photo_album/library,
-/turf/open/floor/iron/grimy,
-/area/station/service/library/private)
"pMM" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 1
@@ -45872,6 +45925,26 @@
},
/turf/open/floor/plating,
/area/station/engineering/gravity_generator)
+"pMX" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/wood,
+/area/station/service/chapel/office)
+"pNa" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/arrows{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/cargo/sorting)
"pNh" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -45919,13 +45992,6 @@
},
/turf/closed/wall,
/area/station/commons/fitness/locker_room)
-"pOc" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"pOi" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -46155,6 +46221,10 @@
/obj/effect/mapping_helpers/airlock/access/any/security/general,
/turf/open/floor/iron/textured_half,
/area/station/security/checkpoint/customs/auxiliary)
+"pRO" = (
+/obj/structure/filingcabinet/chestdrawer,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/lobby)
"pRQ" = (
/obj/effect/turf_decal/tile/blue/half/contrasted,
/turf/open/floor/iron/white,
@@ -46195,16 +46265,6 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"pSt" = (
-/obj/structure/sign/poster/random/directional/south,
-/obj/machinery/conveyor{
- id = "mining";
- dir = 10
- },
-/obj/machinery/bouldertech/refinery,
-/obj/structure/sign/poster/random/directional/east,
-/turf/open/floor/iron,
-/area/station/cargo/miningfoundry)
"pSB" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/tank/air{
@@ -46273,6 +46333,12 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
+"pTK" = (
+/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/station/maintenance/department/engine/atmos)
"pTZ" = (
/obj/effect/turf_decal/siding/wideplating/dark{
dir = 8
@@ -46367,11 +46433,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"pVk" = (
-/obj/effect/spawner/structure/window,
-/obj/structure/curtain/bounty/start_closed,
-/turf/open/floor/plating,
-/area/station/maintenance/port/greater)
"pVq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/trimline/neutral/line{
@@ -46416,6 +46477,12 @@
},
/turf/open/floor/iron/dark/side,
/area/station/science/xenobiology)
+"pVV" = (
+/obj/machinery/camera/autoname/directional/west,
+/turf/open/floor/iron/stairs{
+ dir = 1
+ },
+/area/station/cargo/lobby)
"pWl" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -46652,6 +46719,11 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"pZt" = (
+/obj/structure/chair/stool/directional/west,
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"pZv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -46662,6 +46734,22 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"pZC" = (
+/obj/structure/table/wood,
+/obj/item/folder{
+ pixel_x = 1;
+ pixel_y = 4
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/obj/item/pen{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/obj/structure/sign/poster/official/tactical_game_cards/directional/north,
+/turf/open/floor/carpet,
+/area/station/maintenance/hallway/abandoned_recreation)
"pZK" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -46821,13 +46909,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"qcJ" = (
-/obj/structure/filingcabinet/filingcabinet,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"qcQ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -46854,19 +46935,17 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/prison)
-"qdH" = (
-/obj/structure/chair/office{
+"qdL" = (
+/obj/structure/extinguisher_cabinet/directional/east,
+/obj/effect/turf_decal/tile/neutral/opposingcorners{
dir = 1
},
-/obj/effect/landmark/start/cargo_technician,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 4
},
-/turf/open/floor/iron,
-/area/station/cargo/office)
+/obj/machinery/fishing_portal_generator,
+/turf/open/floor/iron/small,
+/area/station/hallway/secondary/service)
"qdM" = (
/obj/structure/chair/sofa/bench/left{
dir = 4
@@ -46935,24 +47014,6 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/iron,
/area/station/security/prison/workout)
-"qet" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
-"qeM" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"qeP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -47075,15 +47136,17 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/white/small,
/area/station/commons/toilet/restrooms)
-"qgK" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
+"qgX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/item/kirbyplants/random,
-/obj/machinery/firealarm/directional/south,
-/obj/item/storage/belt/utility,
-/turf/open/floor/iron/smooth,
-/area/station/commons/storage/tools)
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
+"qgZ" = (
+/turf/open/floor/carpet/lone,
+/area/station/service/chapel/office)
"qhh" = (
/obj/structure/cable,
/obj/structure/table/glass,
@@ -47102,25 +47165,6 @@
/obj/machinery/power/apc/auto_name/directional/north,
/turf/open/floor/iron/white,
/area/station/science/cytology)
-"qht" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 1;
- name = "CO2 to Pure"
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"qhA" = (
-/obj/structure/cable,
-/obj/machinery/airalarm/directional/north,
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/machinery/disposal/bin,
-/turf/open/floor/iron/smooth,
-/area/station/command/heads_quarters/qm)
"qhD" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -47150,6 +47194,15 @@
},
/turf/open/floor/iron/dark/diagonal,
/area/station/service/bar)
+"qhU" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wood/corner,
+/turf/open/floor/carpet/red,
+/area/station/command/heads_quarters/qm)
"qhV" = (
/obj/structure/table,
/obj/machinery/fax{
@@ -47338,14 +47391,13 @@
/obj/machinery/power/terminal,
/turf/open/floor/iron/smooth_large,
/area/station/engineering/supermatter/room)
-"qks" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/junction{
- dir = 4
+"qkC" = (
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
},
/turf/open/floor/iron,
-/area/station/cargo/storage)
+/area/station/cargo/office)
"qkK" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -47496,6 +47548,16 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron/white/small,
/area/station/science/ordnance/storage)
+"qnU" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/turf/open/floor/carpet/red,
+/area/station/command/heads_quarters/qm)
"qoj" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/door/window/right/directional/west{
@@ -47510,12 +47572,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/space/nearstation)
-"qou" = (
-/obj/structure/hedge,
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/siding/wood,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"qow" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -47563,11 +47619,6 @@
/obj/structure/steam_vent,
/turf/open/floor/iron/smooth,
/area/station/maintenance/port/aft)
-"qpv" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"qpO" = (
/obj/structure/chair{
dir = 1
@@ -47591,6 +47642,19 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
+"qqB" = (
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ location = "QM #2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"qqC" = (
/obj/structure/chair/comfy/carp{
dir = 1
@@ -47629,6 +47693,15 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/science/xenobiology)
+"qrJ" = (
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/miningfoundry)
+"qrW" = (
+/obj/machinery/portable_atmospherics/canister/plasma,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/turf/open/floor/engine/plasma,
+/area/station/engineering/atmos)
"qsg" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/power/terminal,
@@ -47684,18 +47757,6 @@
"qtd" = (
/turf/open/floor/wood/tile,
/area/station/command/corporate_showroom)
-"qti" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/loading_area{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"qtE" = (
/obj/structure/bed{
dir = 4
@@ -47720,6 +47781,16 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
+"qtW" = (
+/obj/machinery/door/morgue{
+ name = "Private Study";
+ req_access = list("library")
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/maintenance/central/greater)
"quq" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/closet/crate/cardboard,
@@ -47862,15 +47933,6 @@
},
/turf/open/floor/iron/solarpanel/airless,
/area/station/solars/port)
-"qxc" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"qxi" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -47894,15 +47956,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/tcommsat/server)
-"qxF" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/plating/elevatorshaft,
-/area/station/engineering/break_room)
"qxN" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -47957,20 +48010,23 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating/rust,
/area/station/maintenance/fore/lesser)
+"qyE" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/obj/effect/landmark/start/botanist,
+/turf/open/floor/iron/small,
+/area/station/hallway/secondary/service)
"qyN" = (
/obj/structure/railing,
/turf/open/space/basic,
/area/space/nearstation)
-"qyQ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/status_display/supply{
- pixel_x = -2;
- pixel_y = 32
- },
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/cargo/storage)
"qyT" = (
/turf/closed/wall,
/area/station/hallway/secondary/exit/departure_lounge)
@@ -48082,11 +48138,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"qzW" = (
-/obj/effect/spawner/random/structure/crate,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"qAj" = (
/obj/machinery/bluespace_vendor/directional/north,
/turf/open/floor/iron,
@@ -48247,25 +48298,34 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
-"qCF" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/rack,
-/obj/item/clothing/ears/earmuffs{
- pixel_x = -3;
- pixel_y = -2
+"qCG" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 9
},
-/obj/item/clothing/ears/earmuffs{
- pixel_x = -8;
- pixel_y = 11
+/obj/structure/table,
+/obj/structure/railing{
+ dir = 9
},
-/obj/item/clothing/ears/earmuffs{
- pixel_x = 4;
- pixel_y = 6
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/obj/item/radio{
+ desc = "An old handheld radio. You could use it, if you really wanted to.";
+ icon_state = "radio";
+ name = "old radio";
+ pixel_x = -4;
+ pixel_y = 10
},
-/obj/item/pickaxe,
-/obj/machinery/newscaster/directional/west,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/miningfoundry)
+/obj/item/reagent_containers/cup/glass/coffee{
+ pixel_x = 15;
+ pixel_y = 8
+ },
+/obj/effect/spawner/random/food_or_drink/donuts{
+ pixel_x = 8;
+ pixel_y = 0
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/cargo/lobby)
"qCJ" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/wood{
@@ -48387,23 +48447,6 @@
/obj/structure/reagent_dispensers/water_cooler,
/turf/open/floor/wood/parquet,
/area/station/medical/psychology)
-"qDL" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 4
- },
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 4
- },
-/obj/effect/landmark/start/botanist,
-/turf/open/floor/iron/small,
-/area/station/hallway/secondary/service)
"qDN" = (
/obj/effect/turf_decal/tile/blue,
/obj/machinery/status_display/evac/directional/west,
@@ -48676,12 +48719,6 @@
/obj/structure/broken_flooring/pile/directional/east,
/turf/open/floor/plating,
/area/station/hallway/secondary/dock)
-"qJe" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"qJq" = (
/obj/effect/turf_decal/siding/wood{
dir = 8
@@ -48711,14 +48748,6 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos/storage)
-"qJW" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"qKe" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/effect/turf_decal/siding/green,
@@ -48726,29 +48755,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/cafeteria,
/area/station/science/circuits)
-"qKh" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/spawner/random/structure/steam_vent,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"qKt" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/science/xenobiology)
-"qKw" = (
-/obj/machinery/door/airlock/mining/glass{
- name = "Filing Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/supply/general,
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/cargo/lobby)
"qKx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -48881,9 +48893,27 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/maintenance/department/electrical)
+"qMI" = (
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/stripes/white/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/cargo/storage)
"qMK" = (
/turf/closed/wall,
/area/station/command/bridge)
+"qMM" = (
+/obj/machinery/firealarm/directional/south,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"qMP" = (
/obj/structure/closet/firecloset,
/obj/structure/sign/poster/official/random/directional/north,
@@ -48938,11 +48968,6 @@
},
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
-"qOs" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"qOG" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
@@ -49120,12 +49145,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
-"qRT" = (
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/miningfoundry)
"qRU" = (
/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
dir = 8
@@ -49176,6 +49195,12 @@
/obj/machinery/portable_atmospherics/canister/nitrogen,
/turf/open/floor/iron/smooth_large,
/area/station/science/ordnance/storage)
+"qSF" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"qSH" = (
/obj/effect/turf_decal/bot_white,
/obj/effect/spawner/random/structure/crate,
@@ -49252,16 +49277,11 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/wood,
/area/station/cargo/boutique)
-"qTU" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/holopad,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
+"qTS" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/loading_area,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"qUa" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -49628,23 +49648,17 @@
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/turf/open/floor/iron/dark/small,
/area/station/security/tram)
-"qYr" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 8
+"qYq" = (
+/obj/machinery/door/airlock/wood{
+ desc = "Sessions held every Friday.";
+ name = "The Sunfinder Society"
},
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron/small,
-/area/station/hallway/secondary/service)
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
"qYv" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -49677,6 +49691,12 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/engineering/main)
+"qYG" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"qYK" = (
/obj/structure/disposalpipe/trunk,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -49769,6 +49789,26 @@
},
/turf/open/floor/iron/smooth_large,
/area/station/science/ordnance/storage)
+"qZX" = (
+/obj/effect/decal/cleanable/molten_object,
+/obj/effect/landmark/event_spawn,
+/obj/structure/table,
+/obj/item/reagent_containers/cup/bottle/welding_fuel{
+ pixel_y = -3;
+ pixel_x = 13
+ },
+/obj/item/stack/sheet/iron/ten{
+ pixel_y = -6;
+ pixel_x = -2
+ },
+/obj/item/hand_labeler{
+ pixel_y = -15
+ },
+/obj/item/reagent_containers/cup/watering_can{
+ pixel_y = 12
+ },
+/turf/open/floor/iron/dark,
+/area/station/commons/storage/tools)
"raf" = (
/obj/structure/reagent_dispensers/water_cooler,
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
@@ -49794,16 +49834,6 @@
/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"raK" = (
-/obj/machinery/computer/cargo{
- dir = 1
- },
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"raL" = (
/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
dir = 1
@@ -49883,6 +49913,14 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"rbT" = (
+/obj/effect/landmark/navigate_destination/cargo,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"rbW" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -49960,22 +49998,6 @@
/obj/machinery/light/small/dim/directional/east,
/turf/open/floor/iron,
/area/station/maintenance/department/engine/atmos)
-"rdr" = (
-/obj/structure/table/reinforced,
-/obj/item/paper_bin{
- pixel_x = 1;
- pixel_y = 9
- },
-/obj/item/pen{
- pixel_x = 1;
- pixel_y = 9
- },
-/obj/item/book/manual/wiki/security_space_law,
-/obj/item/radio/intercom/directional/east,
-/obj/machinery/camera/autoname/directional/south,
-/obj/effect/turf_decal/tile/red/anticorner/contrasted,
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/supply)
"rds" = (
/obj/machinery/computer/slot_machine{
pixel_y = 2
@@ -50047,15 +50069,6 @@
"reh" = (
/turf/closed/wall/r_wall,
/area/station/science/robotics/lab)
-"rei" = (
-/obj/structure/disposalpipe/segment,
-/obj/item/food/grown/pineapple{
- pixel_x = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"rej" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/spawner/random/maintenance,
@@ -50067,6 +50080,24 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
+"rev" = (
+/obj/machinery/requests_console/directional/south{
+ department = "Security";
+ name = "Security Requests Console"
+ },
+/obj/effect/turf_decal/tile/red/anticorner/contrasted{
+ dir = 8
+ },
+/obj/structure/table/reinforced,
+/obj/item/radio/off{
+ pixel_x = -6
+ },
+/obj/machinery/recharger{
+ pixel_x = 5;
+ pixel_y = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/supply)
"rex" = (
/obj/effect/turf_decal/tile/neutral/full,
/obj/effect/decal/cleanable/dirt,
@@ -50166,6 +50197,11 @@
/obj/item/radio/intercom/directional/west,
/turf/open/floor/glass,
/area/station/command/heads_quarters/rd)
+"rfP" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"rfT" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 5
@@ -50269,6 +50305,12 @@
/obj/structure/chair/office,
/turf/open/floor/iron/smooth,
/area/station/cargo/drone_bay)
+"rhF" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"rhH" = (
/obj/effect/turf_decal/tile/blue,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -50464,6 +50506,14 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/testlab)
+"rmc" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"rmk" = (
/obj/effect/turf_decal/weather/dirt,
/obj/structure/flora/bush/jungle/c/style_3{
@@ -50515,15 +50565,6 @@
},
/turf/open/floor/plating,
/area/station/medical/chemistry)
-"rnS" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/wood,
-/area/station/service/chapel/office)
"rnV" = (
/obj/structure/cable,
/turf/open/floor/iron/showroomfloor,
@@ -50669,16 +50710,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/science/xenobiology)
-"rrj" = (
-/obj/structure/chair/office/light{
- dir = 4
- },
-/obj/effect/landmark/start/quartermaster,
-/obj/effect/turf_decal/siding/wood{
- dir = 10
- },
-/turf/open/floor/carpet/orange,
-/area/station/command/heads_quarters/qm)
"rro" = (
/obj/structure/railing,
/obj/structure/disposalpipe/segment{
@@ -50709,6 +50740,12 @@
},
/turf/open/floor/iron/small,
/area/station/engineering/atmos/pumproom)
+"rrJ" = (
+/obj/structure/filingcabinet/filingcabinet,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"rrQ" = (
/obj/item/kirbyplants/random/fullysynthetic,
/obj/effect/turf_decal/tile/dark_red/half/contrasted,
@@ -50806,13 +50843,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/small,
/area/station/commons/fitness/locker_room)
-"rtg" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/structure/table,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"rth" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -50826,6 +50856,17 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/small,
/area/station/ai_monitored/command/storage/eva)
+"rtH" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 8
+ },
+/area/station/cargo/storage)
"rtI" = (
/turf/open/floor/iron/white/corner{
dir = 8
@@ -50908,33 +50949,6 @@
"ruD" = (
/turf/open/floor/plating,
/area/station/maintenance/starboard/lesser)
-"ruK" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/obj/machinery/conveyor_switch/oneway{
- id = "packageSort2";
- name = "Sort and Deliver";
- pixel_x = 8;
- pixel_y = 12
- },
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
-"ruR" = (
-/obj/machinery/door/airlock/engineering{
- name = "Engine Airlock"
- },
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/any/engineering/general,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
"ruS" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -50948,10 +50962,6 @@
"ruY" = (
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
-"rvk" = (
-/obj/effect/spawner/random/structure/closet_empty/crate,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"rvp" = (
/turf/closed/mineral/random/stationside,
/area/station/maintenance/hallway/abandoned_command)
@@ -51210,6 +51220,16 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"ryX" = (
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ location = "QM #1"
+ },
+/obj/effect/turf_decal/delivery,
+/mob/living/simple_animal/bot/mulebot,
+/obj/machinery/camera/autoname/directional/south,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"rza" = (
/obj/structure/disposalpipe/junction{
dir = 1
@@ -51259,6 +51279,17 @@
dir = 1
},
/area/station/hallway/secondary/entry)
+"rzX" = (
+/obj/structure/hedge,
+/obj/machinery/status_display/supply{
+ pixel_y = -32
+ },
+/obj/machinery/light/small/directional/south,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/cargo/storage)
"rzZ" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/spawner/random/maintenance,
@@ -51413,18 +51444,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/carpet/lone,
/area/station/service/abandoned_gambling_den)
-"rDc" = (
-/obj/structure/table/reinforced,
-/obj/effect/turf_decal/siding/yellow{
- dir = 4
- },
-/obj/effect/spawner/random/food_or_drink/donkpockets{
- pixel_y = 6
- },
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/engineering/break_room)
"rDj" = (
/obj/structure/chair/sofa/bench/left{
dir = 8
@@ -51435,6 +51454,14 @@
dir = 4
},
/area/station/hallway/secondary/entry)
+"rDs" = (
+/obj/machinery/door/airlock/mining/glass{
+ name = "Filing Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/supply/general,
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/cargo/lobby)
"rDv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/light/cold/directional/west,
@@ -51514,6 +51541,11 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"rEV" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/security/prison/garden)
"rEW" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -51546,6 +51578,12 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"rFm" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"rFn" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral,
@@ -51563,6 +51601,17 @@
dir = 4
},
/area/station/science/ordnance/testlab)
+"rFv" = (
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/structure/railing,
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/thinplating_new/end{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/cargo/storage)
"rFy" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/trimline/blue/filled/line{
@@ -51594,6 +51643,12 @@
dir = 6
},
/area/station/science/research)
+"rFU" = (
+/obj/structure/table/wood,
+/obj/item/paper_bin,
+/obj/item/pen,
+/turf/open/floor/carpet/lone,
+/area/station/service/chapel/office)
"rFV" = (
/obj/effect/turf_decal/trimline/blue/filled/corner,
/turf/open/floor/iron/white,
@@ -51751,6 +51806,30 @@
},
/turf/open/floor/grass,
/area/station/science/xenobiology)
+"rJB" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/photocopier,
+/turf/open/floor/iron/smooth,
+/area/station/command/heads_quarters/qm)
+"rJL" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
+"rJQ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"rJW" = (
/obj/machinery/suit_storage_unit/hos,
/obj/effect/decal/cleanable/dirt,
@@ -51764,6 +51843,11 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"rKn" = (
+/obj/structure/cable,
+/obj/item/banner/cargo,
+/turf/open/floor/iron/smooth,
+/area/station/command/heads_quarters/qm)
"rKv" = (
/obj/structure/broken_flooring/singular/directional/east,
/turf/open/floor/iron,
@@ -51809,6 +51893,13 @@
},
/turf/open/floor/engine,
/area/station/science/explab)
+"rLp" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"rLr" = (
/obj/machinery/door/poddoor/incinerator_ordmix,
/turf/open/floor/engine/vacuum,
@@ -51973,13 +52064,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"rOf" = (
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"rOG" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -52064,9 +52148,6 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/central/fore)
-"rPI" = (
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"rPL" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -52074,6 +52155,15 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"rPM" = (
+/obj/effect/landmark/start/cargo_technician,
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/cargo/storage)
"rPT" = (
/obj/structure/chair/stool/bar/directional/east,
/obj/effect/turf_decal/siding/red/corner{
@@ -52136,22 +52226,6 @@
/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy,
/turf/open/floor/iron/dark/small,
/area/station/medical/pharmacy)
-"rQJ" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/purple/filled/line{
- dir = 1
- },
-/obj/effect/turf_decal/arrows{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/cargo/sorting)
"rQN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral{
@@ -52187,6 +52261,17 @@
dir = 1
},
/area/station/security/courtroom)
+"rRl" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/chair/stool/directional/east,
+/obj/effect/landmark/start/quartermaster,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/carpet/red,
+/area/station/command/heads_quarters/qm)
"rRq" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
@@ -52206,15 +52291,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/courtroom)
-"rRO" = (
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/bot,
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/power/apc/auto_name/directional/south,
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"rRQ" = (
/obj/structure/hedge,
/obj/item/radio/intercom/directional/south,
@@ -52274,6 +52350,15 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood/tile,
/area/station/command/corporate_showroom)
+"rSM" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
"rST" = (
/turf/closed/wall,
/area/station/cargo/storage)
@@ -52373,13 +52458,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"rUX" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/landmark/start/hangover,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"rVj" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/light/cold/directional/north,
@@ -52459,6 +52537,11 @@
},
/turf/open/floor/iron/dark,
/area/station/security/processing)
+"rWa" = (
+/obj/structure/closet,
+/obj/machinery/camera/autoname/directional/east,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/lobby)
"rWm" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -52506,6 +52589,13 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/grimy,
/area/station/command/heads_quarters/ce)
+"rWK" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/red/corner,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"rWM" = (
/obj/structure/table,
/obj/item/exodrone{
@@ -52540,6 +52630,19 @@
dir = 1
},
/area/station/cargo/bitrunning/den)
+"rWR" = (
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/disposal/delivery_chute{
+ name = "Science Deliveries"
+ },
+/obj/structure/sign/departments/science/directional/north,
+/obj/effect/turf_decal/tile/purple/fourcorners,
+/obj/structure/plasticflaps{
+ name = "Science Deliveries"
+ },
+/obj/effect/turf_decal/delivery/white,
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/sorting)
"rWU" = (
/obj/structure/rack,
/obj/effect/spawner/random/maintenance,
@@ -52613,13 +52716,6 @@
/obj/structure/flora/bush/flowers_yw/style_3,
/turf/open/floor/grass,
/area/station/service/chapel)
-"rYt" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/item/kirbyplants/random,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"rYx" = (
/obj/effect/turf_decal/siding/wideplating/dark,
/obj/structure/cable,
@@ -52728,9 +52824,6 @@
/obj/item/clothing/glasses/eyepatch/medical,
/turf/open/floor/carpet/orange,
/area/station/commons/dorms)
-"rZV" = (
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"saq" = (
/obj/machinery/camera/directional/east{
c_tag = "Atmospherics Tank - Toxins"
@@ -52881,19 +52974,6 @@
/obj/machinery/light_switch/directional/east,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
-"sdJ" = (
-/obj/structure/disposalpipe/trunk,
-/obj/machinery/disposal/delivery_chute{
- name = "Science Deliveries"
- },
-/obj/structure/sign/departments/science/directional/north,
-/obj/effect/turf_decal/tile/purple/fourcorners,
-/obj/structure/plasticflaps{
- name = "Science Deliveries"
- },
-/obj/effect/turf_decal/delivery/white,
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/sorting)
"sdZ" = (
/obj/machinery/portable_atmospherics/canister,
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
@@ -52911,12 +52991,6 @@
/obj/effect/turf_decal/siding/white/corner,
/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
-"sec" = (
-/obj/machinery/vending/wardrobe/chap_wardrobe,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/carpet/lone,
-/area/station/service/chapel/office)
"seq" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/plating,
@@ -53015,6 +53089,14 @@
dir = 8
},
/area/station/engineering/main)
+"sfL" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet/directional/west,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"sge" = (
/obj/structure/reagent_dispensers/beerkeg,
/obj/item/clothing/head/costume/festive,
@@ -53113,6 +53195,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white/corner,
/area/station/science/xenobiology)
+"sjn" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/structure/chair/comfy/brown{
+ buildstackamount = 0;
+ color = "#c45c57";
+ dir = 8
+ },
+/turf/open/floor/iron/grimy,
+/area/station/service/library/private)
"sjp" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -53158,6 +53252,11 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"sjX" = (
+/obj/item/radio/intercom/directional/east,
+/obj/machinery/light/warm/directional/east,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"sjY" = (
/obj/machinery/atmospherics/pipe/layer_manifold/purple/visible{
dir = 4
@@ -53292,16 +53391,6 @@
"slY" = (
/turf/closed/wall,
/area/station/maintenance/port/fore)
-"slZ" = (
-/obj/structure/closet/secure_closet/detective,
-/obj/machinery/requests_console/directional/north{
- department = "Detective's Office";
- name = "Detective Requests Console"
- },
-/obj/machinery/light/small/directional/west,
-/obj/structure/detectiveboard/directional/west,
-/turf/open/floor/wood,
-/area/station/security/detectives_office)
"smf" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -53495,6 +53584,23 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron/white/small,
/area/station/medical/cryo)
+"spA" = (
+/obj/structure/table,
+/obj/machinery/light/warm/directional/south,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/obj/effect/spawner/random/food_or_drink/snack/lizard{
+ pixel_x = 9;
+ pixel_y = 3
+ },
+/obj/effect/spawner/random/food_or_drink/refreshing_beverage{
+ pixel_x = -5;
+ pixel_y = 7
+ },
+/obj/structure/sign/poster/official/random/directional/south,
+/turf/open/floor/iron,
+/area/station/cargo/office)
"spH" = (
/obj/machinery/door/firedoor,
/turf/open/floor/iron/small,
@@ -53548,14 +53654,6 @@
/obj/structure/sink/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"sqq" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/sign/departments/cargo/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"sqz" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/obj/effect/spawner/random/maintenance,
@@ -53575,15 +53673,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs/auxiliary)
-"sqM" = (
-/obj/effect/turf_decal/tile/brown/opposingcorners,
-/obj/effect/turf_decal/tile/brown/opposingcorners,
-/obj/machinery/atmospherics/components/binary/volume_pump,
-/obj/structure/railing{
- dir = 1
- },
-/turf/open/floor/iron/small,
-/area/station/engineering/atmos/office)
"sqV" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/chair/sofa/bench/left{
@@ -53622,9 +53711,6 @@
/obj/structure/disposalpipe/segment,
/turf/closed/wall,
/area/station/maintenance/port/greater)
-"srw" = (
-/turf/closed/wall/r_wall/rust,
-/area/station/maintenance/department/electrical)
"srx" = (
/obj/machinery/power/port_gen/pacman,
/obj/effect/turf_decal/bot{
@@ -53685,11 +53771,6 @@
},
/turf/open/floor/wood/tile,
/area/station/command/meeting_room)
-"ssj" = (
-/obj/item/kirbyplants/random,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/wood,
-/area/station/service/chapel/office)
"sso" = (
/obj/machinery/portable_atmospherics/canister/air,
/turf/open/floor/plating,
@@ -53711,17 +53792,6 @@
},
/turf/open/floor/wood/tile,
/area/station/science/lower)
-"ssw" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/chair{
- dir = 4;
- pixel_y = -2
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"ssz" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/department/science/xenobiology)
@@ -53963,13 +54033,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"swr" = (
-/obj/effect/turf_decal/siding/wood,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/turf/open/floor/iron/smooth,
-/area/station/command/heads_quarters/qm)
"swu" = (
/turf/open/floor/wood,
/area/station/security/detectives_office)
@@ -54079,6 +54142,16 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
+"sxQ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/holopad,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"sxT" = (
/obj/structure/cable,
/obj/structure/lattice/catwalk,
@@ -54172,12 +54245,37 @@
},
/turf/open/floor/wood,
/area/station/service/chapel)
+"sAy" = (
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/structure/railing,
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/thinplating_new/end{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/cargo/storage)
"sBm" = (
/obj/structure/transport/linear/tram,
/obj/structure/fluff/tram_rail/floor,
/obj/structure/thermoplastic/light,
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
+"sBn" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/firealarm/directional/east,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"sBq" = (
/obj/effect/turf_decal/siding/wood,
/obj/structure/closet/l3closet/janitor,
@@ -54364,6 +54462,12 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"sEd" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"sEn" = (
/obj/item/clothing/head/cone,
/obj/item/clothing/head/cone{
@@ -54529,6 +54633,9 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
+"sHW" = (
+/turf/closed/wall,
+/area/station/maintenance/hallway/abandoned_recreation)
"sHX" = (
/obj/effect/turf_decal/stripes/red/line{
dir = 6
@@ -54568,10 +54675,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/grimy,
/area/station/commons/vacant_room/office)
-"sJf" = (
-/obj/structure/water_source/puddle,
-/turf/open/misc/asteroid,
-/area/station/maintenance/starboard/greater)
"sJg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
/obj/machinery/door/airlock/command{
@@ -54617,12 +54720,6 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/medbay/aft)
-"sJJ" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 6
- },
-/turf/open/floor/carpet/orange,
-/area/station/command/heads_quarters/qm)
"sJL" = (
/obj/structure/table,
/obj/effect/turf_decal/siding{
@@ -54653,6 +54750,18 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"sKh" = (
+/obj/effect/landmark/start/librarian,
+/turf/open/floor/iron/grimy,
+/area/station/service/library/private)
+"sKj" = (
+/obj/machinery/light/warm/directional/east,
+/obj/effect/turf_decal/tile/brown/anticorner{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"sKk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -54706,6 +54815,24 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/white/small,
/area/station/security/warden)
+"sKO" = (
+/obj/structure/table,
+/obj/item/disk/cargo{
+ pixel_x = 6
+ },
+/obj/item/storage/fancy/cigarettes/cigpack_robust{
+ pixel_x = -3;
+ pixel_y = 11
+ },
+/obj/item/pen{
+ pixel_x = -9;
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"sKS" = (
/obj/structure/sign/poster/official/pda_ad/directional/north,
/obj/structure/tank_holder/extinguisher,
@@ -54713,20 +54840,6 @@
/obj/effect/gibspawner,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
-"sKT" = (
-/obj/structure/rack,
-/obj/item/clothing/gloves/cargo_gauntlet{
- pixel_y = -3
- },
-/obj/item/clothing/gloves/cargo_gauntlet,
-/obj/item/clothing/gloves/cargo_gauntlet{
- pixel_y = 3
- },
-/obj/machinery/airalarm/directional/south,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/cargo/storage)
"sLB" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -55120,6 +55233,10 @@
dir = 8
},
/area/station/science/lobby)
+"sRs" = (
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"sRD" = (
/obj/machinery/shower/directional/west,
/obj/effect/turf_decal/siding/thinplating/dark{
@@ -55240,6 +55357,16 @@
/obj/machinery/telecomms/bus/preset_one,
/turf/open/floor/circuit,
/area/station/tcommsat/server)
+"sTN" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/sign/poster/official/random/directional/west,
+/obj/structure/destructible/cult/item_dispenser/archives/library,
+/obj/item/book/codex_gigas,
+/obj/machinery/light/small/dim/directional/west,
+/turf/open/floor/iron/grimy,
+/area/station/service/library/private)
"sTR" = (
/obj/structure/cable,
/obj/effect/mapping_helpers/airlock/access/all/medical/general,
@@ -55367,6 +55494,20 @@
"sVN" = (
/turf/closed/wall/r_wall,
/area/station/security/prison/workout)
+"sVQ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/red{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"sWc" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/chem_master,
@@ -55401,6 +55542,10 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/white,
/area/station/science/cytology)
+"sXj" = (
+/obj/machinery/air_sensor/mix_tank,
+/turf/open/floor/engine/vacuum,
+/area/station/engineering/atmos)
"sXm" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -55601,16 +55746,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"sZy" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"sZA" = (
/obj/structure/flora/bush/flowers_br/style_random,
/obj/structure/flora/bush/flowers_pp/style_2,
@@ -55799,11 +55934,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/genetics)
-"tcn" = (
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"tcz" = (
/obj/effect/turf_decal/trimline/blue/filled/corner,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -56008,18 +56138,13 @@
/obj/structure/table/wood,
/turf/open/floor/iron/grimy,
/area/station/hallway/secondary/entry)
-"tfx" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
+"tfj" = (
+/obj/effect/turf_decal/bot_white,
+/obj/structure/reagent_dispensers/fueltank,
+/obj/machinery/light/small/directional/west,
+/obj/structure/sign/poster/official/random/directional/west,
+/turf/open/floor/iron/smooth_large,
+/area/station/cargo/warehouse)
"tfy" = (
/obj/structure/closet/firecloset,
/obj/effect/turf_decal/tile/red{
@@ -56222,6 +56347,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
+"tjg" = (
+/obj/machinery/atmospherics/components/binary/pump/off{
+ name = "O2 To Pure"
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"tjj" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/turret_protected/ai_upload)
@@ -56252,6 +56386,12 @@
/obj/item/kirbyplants/random,
/turf/open/floor/iron,
/area/station/maintenance/port/fore)
+"tki" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock/maintenance,
+/obj/effect/mapping_helpers/airlock/access/all/supply/general,
+/turf/open/floor/plating,
+/area/station/cargo/warehouse)
"tkm" = (
/obj/structure/window/spawner/directional/west,
/obj/structure/flora/bush/large/style_random{
@@ -56303,6 +56443,9 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"tlG" = (
+/turf/closed/wall,
+/area/station/cargo/lobby)
"tlI" = (
/obj/structure/flora/bush/fullgrass/style_random,
/obj/structure/flora/rock/pile/jungle/style_random,
@@ -56563,12 +56706,6 @@
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/noslip,
/area/station/security/tram)
-"tpF" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"tpG" = (
/obj/structure/closet/athletic_mixed,
/obj/effect/turf_decal/stripes/red/line{
@@ -56630,12 +56767,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood,
/area/station/commons/fitness/recreation)
-"tqn" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmospherics_engine)
"tqo" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -56683,6 +56814,12 @@
dir = 1
},
/area/station/hallway/secondary/dock)
+"tri" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"trp" = (
/turf/closed/wall,
/area/station/maintenance/port/aft)
@@ -56726,6 +56863,28 @@
/obj/structure/sign/departments/aiupload/directional/south,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
+"tsk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
+"tsl" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wood,
+/obj/machinery/door/airlock/public/glass{
+ name = "Chapel Office"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/textured_half,
+/area/station/service/chapel/office)
"tst" = (
/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
dir = 4
@@ -56762,10 +56921,6 @@
/obj/structure/flora/grass/jungle/b/style_random,
/turf/open/floor/grass,
/area/station/service/chapel)
-"ttd" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"tts" = (
/obj/structure/altar_of_gods,
/obj/item/book/bible,
@@ -56836,6 +56991,14 @@
/obj/item/stack/sheet/glass/fifty,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
+"tuw" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/junction/flip{
+ dir = 4
+ },
+/obj/effect/spawner/random/structure/steam_vent,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"tux" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -57337,6 +57500,15 @@
},
/turf/open/floor/iron,
/area/station/security/prison/workout)
+"tBE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"tCh" = (
/obj/structure/chair/stool/directional/north,
/obj/effect/turf_decal/siding/red,
@@ -57501,13 +57673,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"tFe" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"tFs" = (
/obj/structure/table/glass,
/obj/item/storage/medkit/regular{
@@ -57605,19 +57770,19 @@
/mob/living/carbon/human/species/monkey/punpun,
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
+"tHo" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/supermatter/room)
"tHp" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/security/tram)
-"tHv" = (
-/obj/structure/rack,
-/obj/item/storage/medkit/regular,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/cargo/storage)
"tHK" = (
/turf/closed/wall,
/area/station/security/prison/shower)
@@ -57627,13 +57792,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/catwalk_floor,
/area/station/hallway/secondary/entry)
-"tHV" = (
-/obj/effect/turf_decal/weather/dirt{
- dir = 10
- },
-/obj/structure/flora/tree/jungle/style_2,
-/turf/open/floor/grass,
-/area/station/service/chapel)
"tIa" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/chair{
@@ -57642,19 +57800,6 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
-"tIk" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
-"tIn" = (
-/obj/machinery/light/warm/directional/east,
-/obj/effect/turf_decal/tile/brown/anticorner{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"tIz" = (
/obj/structure/chair/wood{
dir = 8
@@ -57746,6 +57891,20 @@
"tJX" = (
/turf/open/floor/plating,
/area/station/maintenance/aft)
+"tJY" = (
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/status_display/supply{
+ pixel_x = 0;
+ pixel_y = 32
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/small,
+/area/station/cargo/lobby)
"tKa" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -58016,6 +58175,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"tOu" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/closet/firecloset,
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
"tOw" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -58117,6 +58282,11 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/cargo/bitrunning/den)
+"tQn" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/sign/poster/official/no_erp/directional/south,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"tQr" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/effect/turf_decal/siding/green{
@@ -58181,6 +58351,16 @@
/obj/structure/extinguisher_cabinet/directional/east,
/turf/open/floor/iron,
/area/station/security/courtroom)
+"tRm" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Plasma to Pure"
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"tRw" = (
/obj/structure/disposalpipe/trunk{
dir = 8
@@ -58240,17 +58420,6 @@
},
/turf/open/floor/iron/kitchen/small,
/area/station/security/prison/mess)
-"tSY" = (
-/obj/structure/chair/sofa/bench/left{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark/side,
-/area/station/hallway/primary/central/fore)
"tTg" = (
/obj/structure/table,
/obj/item/trash/cheesie{
@@ -58261,12 +58430,6 @@
/obj/item/storage/fancy/donut_box,
/turf/open/floor/iron/checker,
/area/station/security/breakroom)
-"tTl" = (
-/obj/structure/chair/stool/directional/south,
-/obj/machinery/light/small/directional/north,
-/obj/structure/mirror/directional/north,
-/turf/open/floor/iron/grimy,
-/area/station/cargo/boutique)
"tTp" = (
/obj/structure/cable,
/obj/effect/turf_decal/caution/stand_clear/red{
@@ -58410,14 +58573,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"tVb" = (
-/obj/machinery/airalarm/directional/north,
-/obj/item/kirbyplants/organic/applebush{
- pixel_y = 5
- },
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/miningfoundry)
"tVc" = (
/obj/machinery/door/airlock/external{
name = "Escape Pod One";
@@ -58508,13 +58663,6 @@
/obj/effect/spawner/random/vending/snackvend,
/turf/open/floor/eighties/red,
/area/station/hallway/primary/central/fore)
-"tXc" = (
-/obj/machinery/light/cold/directional/west,
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"tXl" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/table/bronze,
@@ -58829,9 +58977,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
-"uct" = (
-/turf/open/floor/engine/vacuum,
-/area/station/engineering/atmos)
"ucy" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/siding/red{
@@ -58856,6 +59001,13 @@
},
/turf/open/floor/wood,
/area/station/service/chapel/funeral)
+"ucO" = (
+/obj/machinery/light/floor,
+/obj/structure/flora/bush/flowers_br/style_3,
+/obj/structure/flora/bush/flowers_yw,
+/obj/structure/flora/bush/flowers_pp,
+/turf/open/floor/grass,
+/area/station/hallway/primary/central/fore)
"ucR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/airlock{
@@ -59030,6 +59182,20 @@
},
/turf/open/floor/iron/textured_large,
/area/station/command/heads_quarters/hop)
+"ueL" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/brown/line,
+/obj/effect/turf_decal/stripes,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/west,
+/obj/effect/landmark/start/bitrunner,
+/obj/machinery/camera/autoname/directional/west,
+/turf/open/floor/iron/dark/smooth_half,
+/area/station/cargo/bitrunning/den)
"ueP" = (
/obj/machinery/camera/directional/east{
c_tag = "Atmospherics Tank - Air"
@@ -59137,13 +59303,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"ugt" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron/small,
-/area/station/engineering/break_room)
"ugA" = (
/obj/effect/turf_decal/siding/yellow{
dir = 1
@@ -59267,14 +59426,6 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron/dark/small,
/area/station/medical/chemistry)
-"uic" = (
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/all/supply,
-/obj/machinery/door/airlock/mining{
- name = "Mining Office"
- },
-/turf/open/floor/plating,
-/area/station/cargo/miningfoundry)
"uid" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -59297,14 +59448,6 @@
},
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
-"uin" = (
-/obj/structure/disposalpipe/segment,
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/siding/wood{
- dir = 9
- },
-/turf/open/floor/carpet/red,
-/area/station/command/heads_quarters/qm)
"uiw" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -59325,6 +59468,31 @@
},
/turf/open/floor/iron/white/small,
/area/station/science/lobby)
+"uiK" = (
+/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/station/maintenance/department/engine/atmos)
+"uiO" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/table/wood,
+/obj/item/paper_bin{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/obj/item/pen{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/obj/item/pen{
+ pixel_x = -2;
+ pixel_y = 10
+ },
+/obj/structure/sign/poster/official/the_owl/directional/west,
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"uiS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59333,15 +59501,13 @@
dir = 1
},
/area/station/science/research)
-"uiT" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 6
+"uiU" = (
+/obj/effect/spawner/structure/window,
+/obj/structure/disposalpipe/segment{
+ dir = 10
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/grimy,
-/area/station/service/library/private)
+/turf/open/floor/plating,
+/area/station/cargo/office)
"uiY" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -59587,6 +59753,14 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"umL" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"unc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59602,6 +59776,12 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs/auxiliary)
+"unG" = (
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/miningfoundry)
"unK" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plating,
@@ -59666,19 +59846,6 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/port)
-"upo" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"upr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59703,6 +59870,17 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/hallway/primary/starboard)
+"upF" = (
+/obj/structure/table,
+/obj/item/toy/eightball{
+ pixel_x = -4
+ },
+/obj/item/wirecutters{
+ pixel_y = 17;
+ pixel_x = 4
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/commons/fitness/locker_room)
"upG" = (
/obj/structure/railing,
/obj/structure/cable,
@@ -59712,6 +59890,12 @@
dir = 4
},
/area/station/command/heads_quarters/ce)
+"upM" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"upP" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -59965,12 +60149,6 @@
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
-"usi" = (
-/obj/structure/dresser,
-/obj/structure/sign/poster/contraband/random/directional/east,
-/obj/effect/turf_decal/siding/wood,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"usF" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/structure/easel,
@@ -60042,6 +60220,25 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"uur" = (
+/obj/structure/table/wood/fancy/green,
+/obj/item/storage/wallet{
+ pixel_x = -3;
+ pixel_y = 10
+ },
+/obj/item/cigarette/cigar{
+ pixel_x = -1;
+ pixel_y = -2
+ },
+/obj/item/lighter{
+ pixel_x = 11;
+ pixel_y = -7
+ },
+/obj/machinery/light/directional/south,
+/obj/structure/sign/poster/official/random/directional/south,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"uuz" = (
/obj/structure/rack,
/obj/effect/turf_decal/tile/brown/opposingcorners{
@@ -60052,6 +60249,15 @@
/obj/machinery/camera/directional/west,
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
+"uuA" = (
+/obj/structure/chair/stool/directional/south,
+/obj/effect/turf_decal/siding/yellow{
+ dir = 1
+ },
+/obj/effect/landmark/start/atmospheric_technician,
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/engineering/break_room)
"uuS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/siding/blue{
@@ -60124,6 +60330,14 @@
/obj/effect/landmark/transport/nav_beacon/tram/nav/immovable_rod,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"uwO" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Tool Supply Corridor"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/effect/mapping_helpers/airlock/unres,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/commons/storage/tools)
"uxJ" = (
/obj/machinery/smartfridge/chemistry/preloaded,
/obj/machinery/door/firedoor,
@@ -60173,12 +60387,6 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/station/maintenance/aft)
-"uzG" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"uzJ" = (
/turf/open/floor/iron,
/area/station/cargo/storage)
@@ -60241,11 +60449,6 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
-"uAN" = (
-/obj/structure/closet,
-/obj/machinery/camera/autoname/directional/east,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/lobby)
"uAY" = (
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
@@ -60342,17 +60545,6 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/captain/private)
-"uBT" = (
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/structure/window/spawner/directional/west,
-/obj/effect/turf_decal/stripes/end,
-/obj/structure/disposaloutlet{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/cargo/sorting)
"uBY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white/side,
@@ -60535,12 +60727,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/security/brig)
-"uEU" = (
-/obj/effect/spawner/structure/window,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating,
-/area/station/command/heads_quarters/qm)
"uEZ" = (
/obj/effect/turf_decal/siding/wideplating,
/obj/effect/turf_decal/siding/wideplating{
@@ -60774,6 +60960,23 @@
/obj/item/assault_pod/mining,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
+"uHE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock/mining/glass{
+ name = "Delivery Office"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/supply/general,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 8
+ },
+/turf/open/floor/iron/small,
+/area/station/cargo/sorting)
"uHF" = (
/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible,
/obj/machinery/door/airlock{
@@ -60799,19 +61002,6 @@
dir = 1
},
/area/station/service/chapel/office)
-"uHK" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/button/door/directional/east{
- id = "qm_warehouse_aft";
- name = "Warehouse Door Control";
- pixel_x = -24;
- pixel_y = -23;
- req_access = list("cargo")
- },
-/obj/machinery/light/small/dim/directional/west,
-/obj/effect/turf_decal/loading_area,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"uHR" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -60849,6 +61039,16 @@
},
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
+"uIG" = (
+/obj/machinery/computer/cargo/request{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/structure/extinguisher_cabinet/directional/south,
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/lobby)
"uIP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -60902,6 +61102,27 @@
/obj/machinery/shieldgen,
/turf/open/floor/iron/dark/small,
/area/station/engineering/storage_shared)
+"uJI" = (
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/landmark/start/quartermaster,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
+"uJV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"uKh" = (
/obj/structure/closet/emcloset,
/obj/effect/turf_decal/bot,
@@ -60967,6 +61188,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating/rust,
/area/station/engineering/main)
+"uLz" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
"uLD" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -61011,10 +61241,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/hallway/secondary/service)
-"uMj" = (
-/obj/structure/cable,
-/turf/closed/wall,
-/area/station/maintenance/port/greater)
"uMl" = (
/obj/machinery/cryo_cell,
/obj/effect/turf_decal/stripes/line{
@@ -61142,11 +61368,6 @@
},
/turf/open/floor/wood/tile,
/area/station/maintenance/central/lesser)
-"uOA" = (
-/obj/structure/cable,
-/obj/item/banner/cargo,
-/turf/open/floor/iron/smooth,
-/area/station/command/heads_quarters/qm)
"uOH" = (
/obj/item/kirbyplants/random,
/obj/machinery/light_switch/directional/west,
@@ -61157,6 +61378,18 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/wood/tile,
/area/station/command/meeting_room)
+"uPf" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"uPr" = (
/obj/structure/weightmachine/weightlifter,
/obj/effect/turf_decal/bot,
@@ -61229,6 +61462,17 @@
"uQo" = (
/turf/open/floor/engine/air,
/area/station/engineering/atmos)
+"uQt" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Quartermaster's Office"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/supply/qm,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/heads_quarters/qm)
"uQu" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/machinery/status_display/door_timer{
@@ -61303,24 +61547,6 @@
},
/turf/open/floor/iron/kitchen/small,
/area/station/service/kitchen)
-"uRB" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 1
- },
-/obj/effect/turf_decal/arrows{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/cargo/sorting)
"uRF" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -61389,6 +61615,14 @@
/obj/effect/landmark/navigate_destination/tcomms,
/turf/open/floor/iron,
/area/station/science/lower)
+"uSM" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/spawner/random/structure/closet_empty/crate,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/iron/smooth_large,
+/area/station/cargo/warehouse)
"uSN" = (
/obj/effect/spawner/random/vending/snackvend,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -61405,14 +61639,6 @@
},
/turf/open/floor/iron/textured_half,
/area/station/commons/storage/art)
-"uSQ" = (
-/obj/machinery/computer/cargo{
- dir = 4
- },
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/cargo/storage)
"uTb" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/obj/structure/table/glass,
@@ -61491,6 +61717,36 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"uUq" = (
+/obj/structure/table/wood,
+/obj/item/folder/yellow{
+ pixel_x = 3;
+ pixel_y = 6
+ },
+/obj/item/dest_tagger{
+ pixel_x = -11;
+ pixel_y = 4
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/carpet/orange,
+/area/station/command/heads_quarters/qm)
+"uUz" = (
+/obj/machinery/light/small/directional/east,
+/obj/machinery/light_switch/directional/east,
+/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/white/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/iron/smooth_large,
+/area/station/cargo/warehouse)
"uUA" = (
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
@@ -61534,6 +61790,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"uVB" = (
+/obj/item/kirbyplants/organic/plant17,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/sign/calendar{
+ pixel_x = 0;
+ pixel_y = -26
+ },
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/wood,
+/area/station/maintenance/hallway/abandoned_recreation)
"uVD" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/machinery/airalarm/directional/east,
@@ -61556,12 +61823,6 @@
"uVT" = (
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/hop)
-"uVU" = (
-/obj/structure/chair/stool/directional/west,
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/wood,
-/area/station/maintenance/hallway/abandoned_recreation)
"uWe" = (
/obj/structure/sign/directions/science{
dir = 4;
@@ -61730,13 +61991,6 @@
},
/turf/open/floor/iron,
/area/station/security/brig/entrance)
-"uZs" = (
-/obj/effect/landmark/event_spawn,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"uZA" = (
/obj/structure/chair{
dir = 1;
@@ -62195,6 +62449,15 @@
/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
+"vgL" = (
+/obj/effect/turf_decal/tile/brown/opposingcorners,
+/obj/effect/turf_decal/tile/brown/opposingcorners,
+/obj/machinery/atmospherics/components/binary/volume_pump,
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/open/floor/iron/small,
+/area/station/engineering/atmos/office)
"vgN" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/yellow/opposingcorners,
@@ -62310,14 +62573,6 @@
/obj/effect/mapping_helpers/airlock/unres,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"viM" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"viP" = (
/obj/structure/closet/emcloset,
/turf/open/floor/iron/small,
@@ -62366,6 +62621,15 @@
/obj/structure/alien/weeds,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
+"vjs" = (
+/obj/structure/disposalpipe/segment,
+/obj/item/food/grown/pineapple{
+ pixel_x = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"vjI" = (
/obj/machinery/door/airlock{
name = "Bathrooms"
@@ -62373,13 +62637,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/textured_half,
/area/station/commons/toilet/restrooms)
-"vjL" = (
-/obj/machinery/vending/wardrobe/cargo_wardrobe,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"vkh" = (
/turf/closed/wall,
/area/station/service/bar)
@@ -62448,6 +62705,17 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/command/heads_quarters/qm)
+"vkR" = (
+/obj/machinery/door/airlock/engineering/glass/critical{
+ heat_proof = 1;
+ name = "Supermatter Chamber"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/engineering/general,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter)
"vkS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -62798,15 +63066,6 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/starboard/aft)
-"vpl" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"vpq" = (
/obj/machinery/door/poddoor/massdriver_ordnance,
/obj/effect/turf_decal/stripes/end,
@@ -63003,6 +63262,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark/herringbone,
/area/station/security/courtroom)
+"vse" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"vsf" = (
/obj/structure/closet/crate{
name = "Materials Crate"
@@ -63176,14 +63440,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"vuN" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"vuR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -63265,15 +63521,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/construction)
-"vvB" = (
-/obj/effect/landmark/start/cargo_technician,
-/obj/effect/turf_decal/stripes/white/line{
- dir = 4
- },
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/cargo/storage)
"vvC" = (
/obj/machinery/door/firedoor,
/obj/effect/mapping_helpers/airlock/access/any/engineering/construction,
@@ -63311,12 +63558,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/wood,
/area/station/commons/fitness/recreation)
-"vvZ" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"vwc" = (
/obj/structure/chair/comfy/brown{
buildstackamount = 0;
@@ -63436,18 +63677,6 @@
"vxt" = (
/turf/closed/wall,
/area/station/maintenance/department/engine)
-"vxA" = (
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron/small,
-/area/station/hallway/secondary/service)
"vxM" = (
/turf/open/floor/iron,
/area/station/commons/storage/art)
@@ -63550,6 +63779,10 @@
/obj/structure/cable,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/mess)
+"vzD" = (
+/obj/effect/turf_decal/stripes/white/line,
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/storage)
"vzE" = (
/obj/structure/window/spawner/directional/east,
/obj/structure/window/spawner/directional/west,
@@ -63726,12 +63959,6 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
-"vCo" = (
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"vCp" = (
/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
dir = 1
@@ -63753,10 +63980,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
-"vCK" = (
-/obj/effect/turf_decal/stripes/white/corner,
-/turf/open/floor/iron/dark/corner,
-/area/station/cargo/storage)
"vCO" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/white,
@@ -63784,26 +64007,6 @@
},
/turf/open/floor/iron,
/area/station/security/brig/entrance)
-"vDg" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/conveyor{
- dir = 1;
- id = "packageSort2"
- },
-/obj/machinery/door/window/left/directional/west{
- name = "Crate Security Door";
- req_access = list("shipping")
- },
-/turf/open/floor/plating,
-/area/station/cargo/sorting)
"vDB" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -63830,23 +64033,12 @@
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron,
/area/station/security/lockers)
-"vDS" = (
-/obj/structure/closet/secure_closet/engineering_personal,
-/obj/item/clothing/suit/hooded/wintercoat/engineering,
-/obj/structure/cable,
-/turf/open/floor/iron/small,
-/area/station/engineering/break_room)
"vDV" = (
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/cmo)
"vDX" = (
/turf/closed/wall,
/area/station/maintenance/starboard/lesser)
-"vDY" = (
-/turf/open/floor/iron/stairs{
- dir = 8
- },
-/area/station/cargo/storage)
"vEa" = (
/obj/machinery/griddle,
/turf/open/floor/iron/kitchen/small,
@@ -64057,12 +64249,6 @@
/obj/structure/extinguisher_cabinet/directional/south,
/turf/open/floor/iron/dark/small,
/area/station/medical/morgue)
-"vHm" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wood,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/smooth,
-/area/station/command/heads_quarters/qm)
"vHu" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/closet/secure_closet/security/sec,
@@ -64095,15 +64281,6 @@
/obj/machinery/light/cold/directional/east,
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"vHU" = (
-/obj/machinery/door/airlock/engineering{
- name = "Engineering Office"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment,
-/turf/open/floor/iron/smooth_half{
- dir = 8
- },
-/area/station/maintenance/department/engine/atmos)
"vHV" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -64122,15 +64299,6 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmos/office)
-"vIb" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/landmark/navigate_destination/chapel,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"vId" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -64214,6 +64382,13 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"vJE" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Public Shrine"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/textured_half,
+/area/station/hallway/primary/port)
"vJG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/brown/opposingcorners,
@@ -64672,6 +64847,10 @@
/obj/structure/sign/poster/official/random/directional/east,
/turf/open/floor/eighties/red,
/area/station/hallway/primary/central/fore)
+"vRc" = (
+/obj/effect/turf_decal/loading_area/white,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"vRd" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/dark_red,
@@ -64703,23 +64882,6 @@
/obj/machinery/power/apc/auto_name/directional/west,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
-"vRH" = (
-/obj/structure/table,
-/obj/machinery/light/warm/directional/south,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/obj/effect/spawner/random/food_or_drink/snack/lizard{
- pixel_x = 9;
- pixel_y = 3
- },
-/obj/effect/spawner/random/food_or_drink/refreshing_beverage{
- pixel_x = -5;
- pixel_y = 7
- },
-/obj/structure/sign/poster/official/random/directional/south,
-/turf/open/floor/iron,
-/area/station/cargo/office)
"vSg" = (
/turf/closed/wall/r_wall,
/area/station/hallway/primary/aft)
@@ -64739,6 +64901,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"vSn" = (
+/obj/structure/hedge,
+/obj/machinery/status_display/supply{
+ pixel_y = 32
+ },
+/obj/machinery/light/small/directional/north,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/cargo/storage)
"vSt" = (
/obj/effect/turf_decal/siding/wideplating{
dir = 4
@@ -64801,9 +64974,6 @@
},
/turf/open/floor/iron,
/area/station/commons/storage/art)
-"vTb" = (
-/turf/closed/wall,
-/area/station/security/checkpoint/supply)
"vTf" = (
/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{
dir = 9
@@ -64921,11 +65091,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
-"vUr" = (
-/obj/structure/closet/emcloset,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron/dark/side,
-/area/station/hallway/primary/central/fore)
"vUz" = (
/obj/structure/table_frame,
/obj/effect/decal/cleanable/glass,
@@ -65095,6 +65260,14 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/central/fore)
+"vWy" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/sign/departments/cargo/directional/west,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"vWA" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/firealarm/directional/south,
@@ -65175,6 +65348,15 @@
/obj/machinery/power/apc/auto_name/directional/west,
/turf/open/floor/iron,
/area/station/security/prison/rec)
+"vXv" = (
+/obj/structure/table,
+/obj/item/toy/foamblade,
+/obj/item/analyzer{
+ pixel_y = 8;
+ pixel_x = -9
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/commons/fitness/locker_room)
"vXy" = (
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/iron/white/corner{
@@ -65296,38 +65478,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"vZf" = (
-/obj/structure/table,
-/obj/item/disk/cargo{
- pixel_x = 6
- },
-/obj/item/storage/fancy/cigarettes/cigpack_robust{
- pixel_x = -3;
- pixel_y = 11
- },
-/obj/item/pen{
- pixel_x = -9;
- pixel_y = 0
- },
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
-"vZg" = (
-/obj/structure/railing{
- dir = 1
- },
-/obj/structure/railing,
-/obj/structure/hedge,
-/obj/effect/turf_decal/siding/thinplating{
- dir = 8
- },
-/obj/effect/turf_decal/siding/thinplating_new/end{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/cargo/storage)
"vZm" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron,
@@ -65358,6 +65508,11 @@
},
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
+"vZS" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/lobby)
"vZW" = (
/obj/structure/chair/sofa/bench/right{
dir = 4
@@ -65412,11 +65567,6 @@
/obj/machinery/vending/games,
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"waJ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/portable_atmospherics/canister/air,
-/turf/open/floor/plating,
-/area/station/maintenance/port/greater)
"waN" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 4
@@ -65428,24 +65578,6 @@
/obj/structure/bookcase/random/religion,
/turf/open/floor/wood,
/area/station/service/chapel/office)
-"waT" = (
-/obj/structure/railing{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/conveyor_switch/oneway{
- pixel_x = 4;
- pixel_y = 10;
- id = "mining"
- },
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 6
- },
-/turf/open/floor/iron/smooth,
-/area/station/cargo/miningfoundry)
"waX" = (
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -65490,6 +65622,15 @@
dir = 1
},
/area/station/science/lower)
+"wbt" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/closet/secure_closet/quartermaster,
+/obj/machinery/light_switch/directional/south,
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/turf/open/floor/carpet/red,
+/area/station/command/heads_quarters/qm)
"wbH" = (
/obj/machinery/holopad,
/obj/effect/decal/cleanable/dirt,
@@ -65619,20 +65760,6 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"wdG" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"wdS" = (
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
dir = 4
@@ -65640,12 +65767,6 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/circuit,
/area/station/tcommsat/server)
-"wdV" = (
-/obj/machinery/camera/autoname/directional/west,
-/turf/open/floor/iron/stairs{
- dir = 1
- },
-/area/station/cargo/lobby)
"wdY" = (
/obj/effect/spawner/random/structure/table,
/turf/open/floor/plating,
@@ -65804,6 +65925,13 @@
},
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"whg" = (
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"whl" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
/obj/effect/turf_decal/stripes/line{
@@ -65896,6 +66024,14 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"wie" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/effect/spawner/random/vending/colavend,
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/lobby)
"win" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -65929,14 +66065,6 @@
"wja" = (
/turf/closed/wall/r_wall,
/area/station/commons/toilet/auxiliary)
-"wjj" = (
-/obj/structure/filingcabinet,
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/tile/red/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/supply)
"wjq" = (
/obj/structure/sign/painting/large/library{
dir = 1
@@ -65947,13 +66075,6 @@
/obj/structure/tank_holder/extinguisher,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"wjw" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/smooth_large,
-/area/station/engineering/supermatter/room)
"wjG" = (
/obj/structure/filingcabinet,
/turf/open/floor/iron/dark/small,
@@ -65995,13 +66116,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
-"wkD" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"wkF" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
@@ -66123,6 +66237,15 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/cargo/office)
+"wnf" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/plating/elevatorshaft,
+/area/station/engineering/break_room)
"wnw" = (
/obj/machinery/pdapainter/engineering,
/obj/effect/turf_decal/bot,
@@ -66176,13 +66299,6 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron/dark/small,
/area/station/medical/chemistry)
-"woh" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"woi" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/solars/starboard/fore)
@@ -66253,6 +66369,15 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
+"woY" = (
+/obj/structure/chair/stool/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/turf/open/floor/carpet/orange,
+/area/station/command/heads_quarters/qm)
"wpa" = (
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
@@ -66280,10 +66405,6 @@
"wpO" = (
/turf/closed/wall/r_wall,
/area/station/security/processing)
-"wpP" = (
-/obj/machinery/skill_station,
-/turf/open/floor/wood/parquet,
-/area/station/service/library)
"wqb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -66297,17 +66418,18 @@
/obj/effect/mapping_helpers/requests_console/ore_update,
/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
-"wqd" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 8
- },
-/obj/structure/extinguisher_cabinet/directional/west,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"wqj" = (
/turf/closed/wall,
/area/station/commons/toilet/restrooms)
+"wqx" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"wqz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible,
/turf/open/floor/engine,
@@ -66413,15 +66535,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/carpet/lone,
/area/station/service/abandoned_gambling_den)
-"wrV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/port/greater)
"wrW" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -66503,6 +66616,14 @@
},
/turf/open/floor/iron/dark/side,
/area/station/science/xenobiology)
+"wtd" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/poddoor/shutters{
+ id = "qm_warehouse_aft";
+ name = "Warehouse Shutters"
+ },
+/turf/open/floor/plating,
+/area/station/cargo/warehouse)
"wte" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 1
@@ -66722,6 +66843,13 @@
/obj/structure/hedge,
/turf/open/floor/iron/grimy,
/area/station/science/cubicle)
+"wvF" = (
+/obj/structure/filingcabinet/filingcabinet,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"wvM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -66734,13 +66862,6 @@
},
/turf/open/floor/engine,
/area/station/engineering/atmospherics_engine)
-"wwc" = (
-/obj/effect/spawner/structure/window,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"wwk" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 8
@@ -66811,10 +66932,6 @@
/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
/turf/open/floor/iron/cafeteria,
/area/station/maintenance/starboard/fore)
-"wxg" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"wxu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/closed/wall/r_wall,
@@ -66824,6 +66941,34 @@
/obj/machinery/light/small/dim/directional/north,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/engine/atmos)
+"wxJ" = (
+/obj/machinery/door/airlock/engineering/glass/critical{
+ heat_proof = 1;
+ name = "Supermatter Chamber"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/engineering/general,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter)
+"wxM" = (
+/obj/machinery/firealarm/directional/east,
+/obj/effect/turf_decal/tile/neutral/opposingcorners{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 4
+ },
+/obj/machinery/computer/order_console/cook{
+ dir = 8
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/iron/small,
+/area/station/hallway/secondary/service)
"wxR" = (
/obj/structure/rack,
/obj/effect/spawner/random/maintenance,
@@ -66910,6 +67055,12 @@
/obj/machinery/light/warm/directional/east,
/turf/open/floor/iron/dark,
/area/station/science/genetics)
+"wyG" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/turf/open/floor/carpet/orange,
+/area/station/command/heads_quarters/qm)
"wyH" = (
/obj/machinery/door/airlock/maintenance{
name = "Maintenance"
@@ -66948,15 +67099,10 @@
"wzv" = (
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"wzB" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
+"wzz" = (
+/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
-/area/station/cargo/lobby)
+/area/station/cargo/sorting)
"wzF" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -67001,6 +67147,16 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"wAh" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/status_display/supply{
+ pixel_x = -2;
+ pixel_y = 32
+ },
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/cargo/storage)
"wAj" = (
/obj/structure/table/wood,
/obj/machinery/computer/records/medical/laptop{
@@ -67053,16 +67209,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/construction)
-"wBj" = (
-/obj/structure/railing{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 4
- },
-/turf/open/floor/iron/smooth,
-/area/station/cargo/miningfoundry)
"wBm" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -67123,15 +67269,6 @@
/obj/machinery/computer/arcade/orion_trail/kobayashi,
/turf/open/floor/wood/tile,
/area/station/maintenance/port/lesser)
-"wCC" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/landmark/navigate_destination/chapel,
-/obj/structure/extinguisher_cabinet/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"wCH" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 9
@@ -67218,6 +67355,15 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
+"wDQ" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/spawner/random/structure/steam_vent,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"wEf" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral{
@@ -67293,20 +67439,6 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
-"wFo" = (
-/obj/structure/table/wood,
-/obj/item/hand_labeler_refill{
- pixel_x = -4;
- pixel_y = 26
- },
-/obj/structure/sign/poster/official/random/directional/south,
-/obj/machinery/fax{
- fax_name = "Quartermaster's Office";
- name = "Quartermaster's Fax Machine";
- pixel_y = 7
- },
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"wFq" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -67454,16 +67586,6 @@
/obj/structure/flora/rock/pile/jungle/style_random,
/turf/open/misc/sandy_dirt,
/area/station/medical/medbay/lobby)
-"wIk" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"wIm" = (
/obj/machinery/door/airlock/hatch{
name = "Centcom Dock"
@@ -67665,12 +67787,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"wLv" = (
-/obj/machinery/light/floor,
-/obj/structure/flora/bush/flowers_br,
-/obj/structure/flora/bush/flowers_br/style_3,
-/turf/open/floor/grass,
-/area/station/hallway/primary/central/fore)
"wLw" = (
/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{
@@ -67708,14 +67824,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/service/library)
-"wMy" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"wMz" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -67974,15 +68082,6 @@
/obj/effect/landmark/start/depsec/medical,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs/auxiliary)
-"wOK" = (
-/obj/structure/cable,
-/obj/machinery/airalarm/directional/north,
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"wOS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -67992,26 +68091,6 @@
/obj/effect/landmark/navigate_destination/disposals,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
-"wOZ" = (
-/obj/effect/decal/cleanable/molten_object,
-/obj/effect/landmark/event_spawn,
-/obj/structure/table,
-/obj/item/reagent_containers/cup/bottle/welding_fuel{
- pixel_y = -3;
- pixel_x = 13
- },
-/obj/item/stack/sheet/iron/ten{
- pixel_y = -6;
- pixel_x = -2
- },
-/obj/item/hand_labeler{
- pixel_y = -15
- },
-/obj/item/reagent_containers/cup/watering_can{
- pixel_y = 12
- },
-/turf/open/floor/iron/dark,
-/area/station/commons/storage/tools)
"wPd" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/starboard/lesser)
@@ -68067,16 +68146,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/engineering/main)
-"wPO" = (
-/obj/machinery/atmospherics/components/binary/pump/on{
- name = "O2 to Airmix"
- },
-/obj/machinery/light/no_nightlight/directional/north,
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"wPP" = (
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
dir = 1
@@ -68116,14 +68185,6 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood,
/area/station/service/abandoned_gambling_den)
-"wQd" = (
-/obj/structure/railing,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/thinplating_new,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/miningfoundry)
"wQi" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
dir = 4
@@ -68337,25 +68398,6 @@
/obj/effect/spawner/random/techstorage/engineering_all,
/turf/open/floor/iron,
/area/station/engineering/storage/tech)
-"wSQ" = (
-/obj/machinery/navbeacon{
- codes_txt = "delivery;dir=8";
- location = "QM #1"
- },
-/obj/effect/turf_decal/delivery,
-/mob/living/simple_animal/bot/mulebot,
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
-"wST" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/effect/turf_decal/tile/brown/anticorner{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"wSZ" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/hallway/abandoned_command)
@@ -68493,24 +68535,6 @@
},
/turf/open/floor/wood,
/area/station/hallway/primary/central/aft)
-"wUF" = (
-/obj/machinery/door/firedoor,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/status_display/supply{
- pixel_x = 0;
- pixel_y = 32
- },
-/obj/structure/cable,
-/turf/open/floor/iron/small,
-/area/station/cargo/lobby)
-"wUH" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/wood,
-/area/station/service/chapel/office)
"wUS" = (
/obj/structure/window/reinforced/spawner/directional/north,
/obj/effect/turf_decal/stripes/line{
@@ -68529,6 +68553,12 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/science/ordnance/testlab)
+"wVr" = (
+/obj/structure/filingcabinet/chestdrawer,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/west,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/lobby)
"wVI" = (
/obj/machinery/biogenerator,
/obj/machinery/light/small/dim/directional/north,
@@ -68563,17 +68593,6 @@
dir = 1
},
/area/station/hallway/secondary/construction)
-"wWA" = (
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"wWD" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/landmark/start/hangover,
@@ -68712,34 +68731,6 @@
},
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
-"wYX" = (
-/obj/effect/turf_decal/siding/white{
- dir = 9
- },
-/obj/structure/table,
-/obj/structure/railing{
- dir = 9
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/obj/item/radio{
- desc = "An old handheld radio. You could use it, if you really wanted to.";
- icon_state = "radio";
- name = "old radio";
- pixel_x = -4;
- pixel_y = 10
- },
-/obj/item/reagent_containers/cup/glass/coffee{
- pixel_x = 15;
- pixel_y = 8
- },
-/obj/effect/spawner/random/food_or_drink/donuts{
- pixel_x = 8;
- pixel_y = 0
- },
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/cargo/lobby)
"wZa" = (
/obj/docking_port/stationary{
dir = 8;
@@ -68823,12 +68814,6 @@
},
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/exit/departure_lounge)
-"xah" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/maintenance/central/greater)
"xam" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -68965,6 +68950,13 @@
"xck" = (
/turf/closed/wall/r_wall,
/area/station/engineering/atmos/office)
+"xco" = (
+/obj/effect/landmark/event_spawn,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"xcq" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 8
@@ -68987,6 +68979,22 @@
/obj/structure/window/spawner/directional/north,
/turf/open/floor/grass,
/area/station/service/hydroponics)
+"xcA" = (
+/obj/structure/table/reinforced,
+/obj/item/paper_bin{
+ pixel_x = 1;
+ pixel_y = 9
+ },
+/obj/item/pen{
+ pixel_x = 1;
+ pixel_y = 9
+ },
+/obj/item/book/manual/wiki/security_space_law,
+/obj/item/radio/intercom/directional/east,
+/obj/machinery/camera/autoname/directional/south,
+/obj/effect/turf_decal/tile/red/anticorner/contrasted,
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/supply)
"xcF" = (
/turf/open/floor/iron,
/area/station/commons/dorms)
@@ -69021,19 +69029,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
-"xdl" = (
-/obj/machinery/computer/piratepad_control/civilian{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/obj/machinery/camera/autoname/directional/south,
-/obj/machinery/status_display/supply{
- pixel_y = -32
- },
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/lobby)
"xdo" = (
/obj/machinery/firealarm/directional/north,
/obj/item/kirbyplants/random/fullysynthetic,
@@ -69187,6 +69182,18 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/textured_large,
/area/station/science/research)
+"xeZ" = (
+/obj/machinery/light/small/directional/south,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/stairs{
+ dir = 8
+ },
+/area/station/cargo/storage)
"xfa" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -69338,6 +69345,21 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"xgK" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/arrows{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/cargo/sorting)
"xhk" = (
/obj/machinery/door/airlock/public/glass{
name = "Public Shrine"
@@ -69348,6 +69370,15 @@
dir = 8
},
/area/station/hallway/primary/central/fore)
+"xhC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"xhD" = (
/obj/structure/table,
/obj/item/clothing/shoes/ducky_shoes{
@@ -69365,16 +69396,6 @@
/obj/effect/landmark/navigate_destination/lawyer,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
-"xhL" = (
-/obj/machinery/door/airlock/mining{
- name = "Mining Office"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/all/supply,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
"xhM" = (
/obj/structure/table,
/obj/item/book/manual/wiki/tcomms,
@@ -69476,6 +69497,20 @@
dir = 5
},
/area/station/science/lower)
+"xjc" = (
+/obj/machinery/door/airlock/mining/glass{
+ name = "Cargo Office"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/supply/general,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/small,
+/area/station/cargo/office)
"xjg" = (
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
@@ -69567,10 +69602,6 @@
"xkt" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/security/armory)
-"xkA" = (
-/obj/structure/filingcabinet/chestdrawer,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/lobby)
"xkK" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -69919,23 +69950,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"xqr" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 1
- },
-/obj/effect/turf_decal/arrows{
- dir = 1
- },
-/obj/item/radio/intercom/directional/west,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/cargo/sorting)
"xqs" = (
/obj/structure/chair/stool/directional/south,
/turf/open/floor/eighties/red,
@@ -69994,6 +70008,17 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/catwalk_floor/iron_white,
/area/station/science/robotics/augments)
+"xrt" = (
+/obj/structure/chair/sofa/bench/left{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/side,
+/area/station/hallway/primary/central/fore)
"xru" = (
/obj/item/kirbyplants/random/fullysynthetic,
/obj/machinery/airalarm/directional/east,
@@ -70112,12 +70137,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/commons/dorms)
-"xsB" = (
-/obj/structure/cable,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"xsC" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/extinguisher_cabinet/directional/west,
@@ -70175,6 +70194,20 @@
dir = 4
},
/area/station/science/lobby)
+"xsP" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"xsT" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -70273,14 +70306,6 @@
"xul" = (
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
-"xum" = (
-/obj/effect/spawner/structure/window,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating,
-/area/station/cargo/office)
"xur" = (
/turf/closed/wall,
/area/station/security/processing)
@@ -70412,6 +70437,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
+"xvR" = (
+/obj/machinery/firealarm/directional/east,
+/obj/effect/turf_decal/stripes,
+/obj/effect/turf_decal/trimline/brown/line,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/east,
+/obj/structure/sign/poster/official/random/directional/north,
+/turf/open/floor/iron/dark/smooth_half,
+/area/station/cargo/bitrunning/den)
"xvT" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/turret_protected/aisat/maint)
@@ -70454,11 +70490,6 @@
/obj/structure/bed/maint,
/turf/open/floor/light/colour_cycle/dancefloor_b,
/area/station/maintenance/starboard/central)
-"xwn" = (
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
-/obj/machinery/portable_atmospherics/pump,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"xwr" = (
/obj/effect/turf_decal/siding/thinplating_new/light,
/obj/machinery/recharge_station,
@@ -70510,13 +70541,6 @@
/obj/structure/tram,
/turf/open/floor/tram,
/area/station/security/tram)
-"xwO" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/red,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"xwQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/white/line{
@@ -70569,20 +70593,6 @@
/obj/structure/closet/secure_closet/personal,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
-"xxG" = (
-/obj/machinery/door/airlock/grunge{
- name = "Janitorial Closet"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/textured_half{
- dir = 8
- },
-/area/station/service/janitor)
"xxL" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron/checker{
@@ -70594,6 +70604,17 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/command/heads_quarters/hos)
+"xyb" = (
+/obj/structure/window/spawner/directional/west,
+/obj/effect/turf_decal/stripes/end{
+ dir = 1
+ },
+/obj/machinery/disposal/delivery_chute,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/cargo/sorting)
"xyh" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -70753,17 +70774,6 @@
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"xAx" = (
-/obj/machinery/door/airlock/engineering/glass/critical{
- heat_proof = 1;
- name = "Supermatter Chamber"
- },
-/obj/effect/mapping_helpers/airlock/access/any/engineering/general,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter)
"xAA" = (
/obj/effect/turf_decal/tile/green/half/contrasted{
dir = 1
@@ -70786,6 +70796,15 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai_upload)
+"xAO" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/junction/flip{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"xAR" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -70918,6 +70937,21 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"xDl" = (
+/obj/structure/bed,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/bedsheet/qm,
+/obj/item/reagent_containers/cup/glass/bottle/tequila{
+ pixel_x = -5;
+ pixel_y = 2
+ },
+/obj/structure/sign/poster/contraband/random/directional/east,
+/obj/machinery/camera/autoname/directional/east,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"xDs" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/firedoor,
@@ -70927,21 +70961,6 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/starboard)
-"xDx" = (
-/obj/structure/disposalpipe/trunk{
- dir = 2
- },
-/obj/machinery/disposal/delivery_chute{
- name = "Security Deliveries"
- },
-/obj/structure/sign/departments/security/directional/north,
-/obj/effect/turf_decal/tile/red/fourcorners,
-/obj/structure/plasticflaps{
- name = "Security Deliveries"
- },
-/obj/effect/turf_decal/delivery/white,
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/sorting)
"xDS" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -71125,18 +71144,6 @@
},
/turf/open/floor/iron,
/area/station/commons/storage/tools)
-"xGg" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/start/depsec/supply,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/supply)
"xGl" = (
/obj/machinery/door/airlock/external{
name = "External Docking Port"
@@ -71264,6 +71271,13 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/catwalk_floor/iron,
/area/station/science/lobby)
+"xIl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"xIu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/trimline/blue/filled/line{
@@ -71395,6 +71409,16 @@
/obj/machinery/light_switch/directional/north,
/turf/open/floor/iron/cafeteria,
/area/station/science/circuits)
+"xKn" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Tool Supply Corridor"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/cargo/lobby)
"xKq" = (
/obj/machinery/rnd/production/circuit_imprinter/department/science,
/obj/effect/turf_decal/bot,
@@ -71409,6 +71433,12 @@
"xKG" = (
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"xKI" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"xKQ" = (
/obj/effect/turf_decal/tile/dark_red/fourcorners,
/obj/machinery/firealarm/directional/north,
@@ -71460,6 +71490,15 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"xLw" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"xLy" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/decal/cleanable/dirt/dust,
@@ -71544,17 +71583,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"xMt" = (
-/obj/structure/window/spawner/directional/west,
-/obj/effect/turf_decal/stripes/end{
- dir = 1
- },
-/obj/machinery/disposal/delivery_chute,
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/cargo/sorting)
"xMv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -71654,11 +71682,6 @@
/obj/machinery/newscaster/directional/north,
/turf/open/floor/iron,
/area/station/security/prison/rec)
-"xOU" = (
-/obj/machinery/light/small/directional/north,
-/obj/effect/landmark/start/cargo_technician,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/lobby)
"xPd" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -71887,6 +71910,14 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
+"xRC" = (
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/supply/general,
+/obj/machinery/door/airlock{
+ name = "Cargo Maintenance"
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
"xRH" = (
/turf/closed/wall,
/area/station/maintenance/fore/lesser)
@@ -71980,6 +72011,20 @@
},
/turf/open/floor/iron/white/textured_large,
/area/station/medical/medbay/lobby)
+"xSY" = (
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/disposal/delivery_chute{
+ name = "Medical Deliveries"
+ },
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/plasticflaps{
+ name = "Medical Deliveries"
+ },
+/obj/effect/turf_decal/delivery/white,
+/obj/structure/sign/departments/med/directional/north,
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/sorting)
"xSZ" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -72197,15 +72242,6 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/service/janitor)
-"xVW" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/port/greater)
"xVY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -72431,6 +72467,9 @@
},
/turf/open/floor/iron,
/area/station/engineering/gravity_generator)
+"xYo" = (
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"xYu" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -72662,16 +72701,6 @@
"ybO" = (
/turf/closed/wall/r_wall,
/area/station/engineering/atmos)
-"ybY" = (
-/obj/machinery/piratepad/civilian,
-/obj/effect/turf_decal/bot_white,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/cold/dim/directional/south,
-/obj/machinery/airalarm/directional/south,
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/lobby)
"ycb" = (
/obj/effect/turf_decal/weather/dirt{
dir = 6
@@ -72782,15 +72811,6 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron/dark/side,
/area/station/hallway/primary/central/fore)
-"ydA" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 10
- },
-/obj/machinery/vending/wardrobe/curator_wardrobe,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/west,
-/turf/open/floor/iron/grimy,
-/area/station/service/library/private)
"ydL" = (
/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt/dust,
@@ -72802,16 +72822,6 @@
"yeh" = (
/turf/closed/wall,
/area/station/hallway/primary/starboard)
-"yei" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Atmospherics Maintenance"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"yel" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -72941,13 +72951,6 @@
"yfD" = (
/turf/closed/wall,
/area/station/medical/surgery/theatre)
-"yfF" = (
-/obj/machinery/vending/autodrobe,
-/obj/effect/turf_decal/siding/wideplating/dark{
- dir = 8
- },
-/turf/open/floor/iron/small,
-/area/station/commons/fitness/locker_room)
"yfJ" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/obj/effect/decal/cleanable/dirt,
@@ -72968,13 +72971,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
-"yfT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"yfX" = (
/obj/machinery/space_heater,
/obj/effect/decal/cleanable/dirt,
@@ -72998,19 +72994,6 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"ygs" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/effect/turf_decal/siding/wood,
-/obj/machinery/door/airlock/public/glass{
- name = "Chapel Office"
- },
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/textured_half,
-/area/station/service/chapel/office)
"ygu" = (
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
@@ -73051,16 +73034,6 @@
/obj/effect/spawner/random/aimodule/harmless,
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai_upload)
-"yhk" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"yhq" = (
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/neutral{
@@ -73201,12 +73174,6 @@
},
/turf/open/floor/iron,
/area/station/science/robotics/lab)
-"yiV" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/closet/firecloset,
-/turf/open/floor/plating,
-/area/station/maintenance/port/greater)
"yiY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -73237,6 +73204,35 @@
/obj/machinery/newscaster/directional/west,
/turf/open/floor/iron/white/small,
/area/station/science/cubicle)
+"yjy" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/table/wood,
+/obj/item/folder/red{
+ pixel_x = -4;
+ pixel_y = -1
+ },
+/obj/item/folder/blue{
+ pixel_x = 3;
+ pixel_y = -30
+ },
+/obj/effect/spawner/random/entertainment/toy_figure{
+ pixel_x = 4;
+ pixel_y = 11
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/obj/item/pen{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/turf/open/floor/carpet,
+/area/station/maintenance/hallway/abandoned_recreation)
"yjE" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/department/engine)
@@ -79872,7 +79868,7 @@ ybp
qBK
jMp
cor
-wPO
+bDi
wLw
udH
gbh
@@ -80113,7 +80109,7 @@ rDU
hYC
bLp
wGx
-qht
+cdp
nrn
lCT
trX
@@ -80129,7 +80125,7 @@ kNx
tyc
dJn
nrn
-jMQ
+tjg
wmL
civ
gbh
@@ -81915,7 +81911,7 @@ fAD
jWm
ybO
kVB
-dzH
+qrW
rPg
nrn
trY
@@ -82158,7 +82154,7 @@ wWm
mPB
pit
wWm
-pnO
+idB
pCn
teV
dix
@@ -82169,7 +82165,7 @@ ykk
hYC
egC
nlt
-ckR
+tRm
nrn
ktJ
saq
@@ -82411,7 +82407,7 @@ wBo
sRf
wBo
hFO
-oYf
+jPl
mPB
wWm
nlR
@@ -82667,9 +82663,9 @@ wBo
fgX
uFS
wBo
-eKd
+mln
wBo
-aeH
+nzS
dOP
pit
dHx
@@ -82925,7 +82921,7 @@ bTI
jnI
gya
qBM
-ael
+oBO
wcF
eqr
mUe
@@ -82939,7 +82935,7 @@ pjk
pjk
pjk
qfK
-crP
+klA
hLx
klg
lRy
@@ -83966,8 +83962,8 @@ oVm
fjf
sRW
fjf
-itr
-hWa
+cHD
+hhy
wFK
ybO
qOr
@@ -84019,7 +84015,7 @@ lOj
dTW
lwI
lOj
-mSJ
+vSn
kdH
kmo
ouN
@@ -84027,8 +84023,8 @@ rST
ouN
oQr
kdH
-hba
-cYj
+eEG
+rzX
slw
dDd
vuj
@@ -84276,7 +84272,7 @@ bTE
cob
vWA
lOj
-uSQ
+aNE
kdH
nJU
kEA
@@ -84284,8 +84280,8 @@ kQe
ouR
oRr
kdH
-tHv
-sKT
+dfM
+iIG
slw
qtJ
qdu
@@ -84471,7 +84467,7 @@ pWm
pRw
pnl
pxz
-yei
+enI
ybO
ybO
qKA
@@ -84742,7 +84738,7 @@ wmq
vMI
pKW
kiP
-tqn
+dIw
dYv
jZl
feu
@@ -84752,7 +84748,7 @@ bGX
jhj
cGV
tkU
-ocZ
+bst
pqr
tkU
kUN
@@ -84791,15 +84787,15 @@ jvR
jir
lPi
uzJ
-aTm
+eib
knk
ppk
uzJ
ovQ
oSb
-cDd
+edA
uzJ
-wSQ
+ryX
slw
slw
lLi
@@ -84989,7 +84985,7 @@ fjh
wzv
pnl
dpH
-kNv
+sXj
gAy
jZl
bKK
@@ -85045,18 +85041,18 @@ nFo
nFo
nFo
nFo
-mIx
+kxa
lOj
jTA
-jqM
+qYG
pZK
-hrP
+xKI
kQM
-fXY
+kQj
pZK
-hrP
+xKI
mjQ
-beR
+qqB
ahr
nFX
nFX
@@ -85245,9 +85241,9 @@ pWm
uEH
dfd
pnl
-uct
-uct
-uct
+bjt
+bjt
+bjt
jZl
bEG
rCk
@@ -85294,31 +85290,31 @@ slY
gOK
slY
hfc
-ttd
+bEv
iNE
nFo
ach
-gvz
+ueL
ylH
nEl
ejq
tvN
moz
moz
-rei
+vjs
odX
odX
odX
odX
odX
-akl
+rWK
mjV
-mvX
+sVQ
mhk
ihb
ozt
sqz
-hft
+bHw
mhk
iSD
pbw
@@ -85502,9 +85498,9 @@ wzv
yil
wzv
pnl
-uct
-hGa
-uct
+bjt
+lrN
+bjt
jZl
oqq
tmK
@@ -85552,30 +85548,30 @@ gPN
gZk
iNE
kPW
-rvk
+lxE
nFo
tPZ
rPx
cvP
rWP
-oxo
+kMY
jWA
uzJ
-vCK
-jHW
-bpd
-vvB
-bpd
-eka
-qpv
-ftJ
+jtB
+jJw
+fxO
+rPM
+fxO
+qMI
+rfP
+fiE
qby
qby
qby
-vTb
-vTb
+iJH
+iJH
mhk
-hft
+bHw
mhk
pGS
sUN
@@ -85757,12 +85753,12 @@ kNn
yil
xnL
yil
-bXb
+jHN
pnl
pnl
pnl
pnl
-srw
+emz
tXF
qaU
yew
@@ -85808,31 +85804,31 @@ slY
gPN
slY
kwY
-ttd
+bEv
hfc
nFo
hNv
-jbB
-idb
+iJp
+ggn
nyf
ejq
-pvt
+oEL
uzJ
-mfx
-esB
+vzD
+amq
mRD
kEH
mRD
-jjT
-qpv
-ftJ
+gGA
+rfP
+fiE
qby
-gQD
+frY
mLh
-bzx
-nTV
+njv
+rev
mhk
-hft
+bHw
mhk
cXb
sry
@@ -86014,10 +86010,10 @@ rjo
pWm
pWm
pWm
-bXb
-bXb
-bXb
-bXb
+jHN
+jHN
+jHN
+jHN
yil
fTJ
qpp
@@ -86033,7 +86029,7 @@ ttL
glo
dPW
vCp
-sqM
+vgL
kWY
mzx
dcK
@@ -86064,30 +86060,30 @@ mFA
slY
slY
slY
-ttd
+bEv
slY
slY
nFo
nFo
-dNl
-gdd
+xvR
+pIo
nFo
nFo
-lng
-qJe
-gpd
-oiO
-paf
-paf
-paf
-fxc
+boG
+hmR
+jGC
+rtH
+eti
+eti
+eti
+dvP
odX
-xwO
+oyH
lWY
-xGg
+oZZ
mLk
-mDQ
-ijp
+hXM
+pmD
srn
pRc
mhk
@@ -86271,7 +86267,7 @@ mmT
vtJ
acg
pWm
-efn
+eZd
wzv
wzv
wzv
@@ -86320,9 +86316,9 @@ gEc
gIx
sjq
sjq
-kIl
+guq
jCo
-jVV
+tki
nPX
ouT
jjq
@@ -86330,21 +86326,21 @@ jjq
jjq
rST
iUN
-arI
-woh
+pIg
+rLp
moz
-vuN
+iqM
uzJ
uzJ
-ifv
+sjX
uzJ
-qOs
-jue
+mLz
+cNw
qby
-wjj
+nzd
mMt
dVW
-rdr
+xcA
mhk
kwy
mhk
@@ -86530,8 +86526,8 @@ bOa
pWm
bvt
bvt
-nbN
-ggr
+lAM
+fgo
oii
pnl
gmv
@@ -86577,25 +86573,25 @@ slY
hTr
slY
slY
-cGf
-bFI
+qgX
+mmZ
jjq
jiu
-bLr
-nBI
+obk
+tfj
kzI
-iRr
+gus
oGl
iVx
lzp
jFB
-tpF
-msF
+mRQ
+uJI
wuM
pBD
wuM
pBD
-mbS
+uQt
wuM
wuM
wuM
@@ -86622,7 +86618,7 @@ uAk
yea
vmX
vij
-ssj
+oNQ
wyl
fEC
fEC
@@ -86797,14 +86793,14 @@ jDi
jDi
jDi
pnl
-srw
+emz
pnl
pnl
jZl
xck
-cag
+hyS
xck
-bJH
+kMg
xck
cGV
bNq
@@ -86812,9 +86808,9 @@ bNq
ecq
bNq
bNq
-hhr
+pTK
bNq
-gUQ
+uiK
bNq
bNq
bNq
@@ -86834,32 +86830,32 @@ hLD
hTD
oOK
slY
-yfT
+lFb
slY
jjq
jjq
-nht
+dcu
jNc
qSH
-fEt
+mKR
rST
iVI
-bBb
+fma
jHB
-mAu
-fvq
+sRs
+qMM
wuM
-uOA
-vHm
-naB
-tIk
-iLP
+rKn
+bdi
+lsH
+nmE
+dFn
wCI
-wFo
+eJi
mhk
nFY
mhk
-haD
+mCV
mze
iLH
oyz
@@ -87091,27 +87087,27 @@ tjY
siG
nEA
slY
-aBk
-uHK
-kzG
+tBE
+ehu
+wtd
pAU
-mmX
-azk
-fZY
-cdh
+fxc
+nku
+jKl
+jgj
rTA
-fwB
-uZs
+gFi
+xco
lUI
-ncB
-qks
-uEU
-fzM
-pJo
+rJQ
+iKn
+gBs
+ggK
+mek
kSb
-mxv
-oVQ
-rrj
+cjc
+hlP
+hHX
nxJ
mhk
xYJ
@@ -87223,7 +87219,7 @@ aWt
sis
sis
sis
-lhd
+mdp
xjz
blb
dDB
@@ -87348,30 +87344,30 @@ rhm
cis
slY
slY
-yfT
-akk
-kzG
-gsr
+lFb
+qTS
+wtd
+eQI
vrW
-lCJ
-hZR
-lHU
+uUz
+uSM
+sEd
rTA
-qti
+csj
eDy
uzJ
-mAu
+sRs
lzp
pBD
-niE
-swr
-cNL
-aJx
-eqW
-sJJ
+rJB
+cUV
+ksE
+woY
+uUq
+wyG
urF
mhk
-waJ
+cEp
mhk
sNW
mze
@@ -87389,14 +87385,14 @@ cdB
wAW
rpB
jzr
-vIb
-ygs
-wUH
-rnS
+gLS
+tsl
+pMX
+cDQ
buc
-jGx
-hle
-sec
+rFU
+qgZ
+oSB
fEC
kJJ
qVP
@@ -87475,7 +87471,7 @@ eua
izh
xAG
jWd
-lGO
+rEV
cZA
hyX
tBm
@@ -87565,7 +87561,7 @@ kNn
pnl
pnl
pnl
-srw
+emz
pnl
tOc
oCE
@@ -87604,27 +87600,27 @@ slY
slY
mEB
slY
-gmz
+vse
mFA
slY
jjq
jjq
-xhL
+fCK
jjq
ibe
ipP
rST
eeb
-cgT
-vZg
-vDY
-omZ
+fHX
+sAy
+jfP
+xeZ
wuM
-qhA
-fgV
-eQR
+cbq
+eCO
+bIu
lHk
-cvx
+nhk
lKg
efS
mhk
@@ -87653,7 +87649,7 @@ pvC
aLS
wzS
wzS
-nSh
+lXM
fEC
rui
qVP
@@ -87861,21 +87857,21 @@ dDB
dDB
blb
slY
-xsB
+bUq
xwz
xwz
-qCF
-gVb
-jiG
+cyQ
+cuZ
+eNa
xwz
mTl
mTl
rST
-qyQ
-gtU
-lwx
-fGY
-nPL
+wAh
+jry
+rFv
+dwy
+bbV
wuM
wuM
wuM
@@ -87884,9 +87880,9 @@ lHT
vkN
wuM
wuM
-lPm
-aYl
-mZR
+sHW
+rrJ
+uiO
mhk
mze
mhk
@@ -87900,10 +87896,10 @@ lFm
kzV
uaa
eYB
-ciD
+vJE
wXk
glM
-gsj
+jmC
yea
vrf
von
@@ -88118,32 +88114,32 @@ dDB
dDB
blb
slY
-gmz
+vse
xwz
-tVb
-mBt
-ess
-bbR
+cky
+juo
+iDm
+biV
xwz
-mbH
-xqr
-muT
+gPO
+moq
+jro
jnn
jnn
bDN
bDN
-ilL
-wqd
+ebM
+sfL
kFD
kTp
-uin
-buP
-nCE
+itf
+qnU
+wbt
kTp
-pgA
-avc
-iNv
-iJC
+oOm
+jJO
+kik
+uVB
mhk
gLV
mhk
@@ -88156,11 +88152,11 @@ tBk
miF
miF
miF
-bAw
+etJ
wAW
-wCC
+mFd
ckP
-kHR
+amX
yea
yea
vJn
@@ -88375,33 +88371,33 @@ dDB
dDB
blb
slY
-gmz
+vse
xwz
-qRT
-bgW
-wQd
+unG
+qrJ
+iUI
jwU
xwz
-xDx
-csi
-wxg
-oeT
-lLM
-jkn
-odr
-puQ
-osB
+hYQ
+pNa
+wzz
+dXu
+ahI
+lkL
+hGA
+tsk
+nzy
btG
pBD
-jus
-kKF
-poi
+qhU
+rRl
+mCW
wuM
-bbI
-eIB
-cms
-cgc
-bdx
+pZC
+yjy
+jmX
+tri
+qYq
xsD
mhk
xxj
@@ -88414,11 +88410,11 @@ cxz
cZs
cZs
eYB
-ciD
+vJE
wXk
uQK
-mCU
-rRO
+bfS
+fMf
yea
vJA
vKa
@@ -88632,32 +88628,32 @@ dDB
dDB
blb
slY
-gmz
-uic
-fjH
-wBj
-waT
+vse
+and
+nLi
+cNl
+iiR
ePn
uki
-fpr
-eJR
-uzG
-bCM
-jhc
+iek
+xgK
+upM
+jQG
+abv
wcP
-rPI
-jng
-osB
-ixa
+kRb
+rJL
+nzy
+gOS
wuM
-nBn
-fxE
-msZ
+giA
+jFg
+uur
wuM
-ikQ
-nUb
-lQc
-nmw
+pBo
+gEb
+dgy
+lud
mhk
fpN
mhk
@@ -88846,7 +88842,7 @@ kMe
nDJ
lWV
cYt
-wjw
+tHo
gAV
tDu
ccA
@@ -88861,14 +88857,14 @@ oYv
jJg
bsG
wqW
-cQV
+jHS
tdb
tdb
tdb
tdb
qyr
mLZ
-vHU
+naK
lER
hRO
knv
@@ -88889,35 +88885,35 @@ blb
slY
mEB
slY
-tcn
+iZx
xwz
xwz
-kFz
-hEK
-pSt
+kOA
+iUA
+gZR
xwz
-sdJ
-rQJ
-jBn
-lRf
-jUz
-rtg
-ooB
-eYx
-eQj
-fod
+rWR
+iQM
+lvN
+kJu
+fvX
+cOs
+kiW
+xAO
+rmc
+hjS
pBD
-naB
-nWc
-qou
+lsH
+pZt
+mac
wuM
-uVU
-hhp
-kSN
-aXy
+oLE
+lmp
+iAt
+tQn
mhk
mSA
-uMj
+gTj
ani
bKv
jCm
@@ -89147,31 +89143,31 @@ ueX
hNo
wZF
wZF
-iwo
+tuw
slY
slY
-wwc
+fAn
slY
slY
-kcM
-uRB
-fRu
-wdG
-ruK
-fLs
-eVo
-qet
-dmo
-kxG
+xSY
+khw
+xsP
+oxt
+gIr
+jJB
+sBn
+ePr
+eCV
+bjf
wuM
-usi
-cjw
-bFU
+mta
+xDl
+kjb
wuM
-pVk
+dLl
twm
-pVk
-pVk
+dLl
+dLl
mhk
jQv
mhk
@@ -89191,7 +89187,7 @@ beN
oRw
xle
xle
-slZ
+hzr
iIU
wAj
xle
@@ -89351,7 +89347,7 @@ ayK
ayK
ayK
lQU
-ruR
+mOc
lQU
ayK
lQU
@@ -89359,7 +89355,7 @@ lQU
lQU
ayK
lQU
-ruR
+mOc
lQU
ayK
rDV
@@ -89403,22 +89399,22 @@ mEB
gDH
mFA
gKi
-nke
+lOg
ohl
slY
-mLa
-iRd
+gTw
+nPg
gDH
slY
slY
slY
-xMt
-vDg
+xyb
+gJb
lUT
-uBT
+lYe
mTl
kFJ
-oMJ
+uHE
kFJ
wuM
wuM
@@ -89661,23 +89657,23 @@ gEc
mFA
slY
slY
-tFe
-mSu
-vvZ
-qJW
+oOf
+qSF
+rFm
+fQv
wZF
wZF
-qKh
+wDQ
slY
slY
-khK
-xum
-chv
+uiU
+bLG
+diN
xat
-vjL
-eNE
-rOf
-qcJ
+gSA
+nwb
+qkC
+wvF
mhk
qTJ
lYT
@@ -89921,21 +89917,21 @@ slY
slY
slY
slY
-dHr
+bmO
slY
slY
-cGf
+qgX
kAn
slY
-wOK
-yhk
-yhk
-lGM
-gBX
-tfx
-pOc
-pOc
-pyY
+fWj
+hgp
+hgp
+lKf
+cCC
+aBQ
+mFQ
+mFQ
+xRC
nJo
avY
oHk
@@ -89947,7 +89943,7 @@ vMP
eRy
mhk
iSD
-ngn
+bqA
cxz
vUS
miF
@@ -90118,8 +90114,8 @@ uqe
uLW
blb
aKm
-fxp
-nKe
+eXl
+jNV
guh
cBl
fJe
@@ -90172,26 +90168,26 @@ blb
blb
blb
ueX
-wMy
+nmV
slY
aus
voz
sRg
hmb
-npf
+huh
ivm
slY
-nvU
+brO
wZF
-gUf
-viM
-eYX
-eYX
-vpl
-vCo
-eYs
-nQW
-vRH
+dTj
+umL
+uJV
+uJV
+gnO
+gqw
+gEa
+iAL
+spA
mhk
ilo
tYL
@@ -90429,8 +90425,8 @@ dDB
dDB
dDB
slY
-jaW
-ezm
+aBt
+uPf
vOm
tOw
hVk
@@ -90438,17 +90434,17 @@ gpP
iJq
qfV
slY
-aFp
-qzW
+apP
+jHC
slY
-ihD
-juY
-coA
-qdH
-raK
-eYs
-jhE
-vZf
+hjA
+mnU
+nzO
+jln
+jAN
+gEa
+bzW
+sKO
mhk
jQv
sNW
@@ -90690,8 +90686,8 @@ slY
slY
eVc
hbw
-wOZ
-hmj
+qZX
+lWE
arL
sRg
slY
@@ -90700,11 +90696,11 @@ slY
slY
wnd
xat
-kAr
-dIq
+fIq
+jBJ
wnd
-bGv
-mDx
+xjc
+aMI
xat
mhk
jQv
@@ -90905,7 +90901,7 @@ szg
tpW
pUM
kMe
-prd
+knw
fGf
ayK
izf
@@ -90945,24 +90941,24 @@ sRg
cJT
eEq
sRg
-gQG
+iGb
hbw
-aGI
-hmQ
+nLQ
+mpL
pGE
-eUL
-ouk
-ouk
-ouk
-jgA
-jyP
-wdV
-wST
-nRF
-sZy
-qeM
-jVS
-iUu
+uwO
+bRA
+bRA
+bRA
+xKn
+dmO
+pVV
+axP
+ivC
+kgp
+ftI
+hao
+uIG
mhk
ifl
mhk
@@ -91204,25 +91200,25 @@ mGY
hXf
xGf
jLb
-hgd
-mrP
+cOa
+lPv
xrZ
sRg
-kas
-kas
-kas
-kas
-puP
-wYX
-nXK
-qTU
-lam
-pua
-hmR
-ybY
+tlG
+tlG
+tlG
+tlG
+lbe
+qCG
+pbV
+sxQ
+day
+mxh
+vRc
+jBN
mhk
oEn
-yiV
+tOu
mhk
mTN
wTO
@@ -91233,7 +91229,7 @@ oUJ
wCR
oOC
iRE
-tHV
+mXb
kZI
oUb
yhX
@@ -91422,10 +91418,10 @@ gAV
qkq
wRy
urz
-vDS
-ugt
-lVv
-nHq
+dkD
+iEc
+uuA
+oba
exQ
fib
cca
@@ -91465,20 +91461,20 @@ hgn
jEQ
gRL
hcl
-kas
-xkA
-ljK
-dUU
-jyP
-jjV
-dAt
-fuT
-cKl
-pmP
-rZV
-xdl
+tlG
+pRO
+wVr
+puk
+dmO
+kkD
+iGW
+xhC
+ioJ
+xIl
+xYo
+hAO
mhk
-xVW
+uLz
pRc
mhk
wCR
@@ -91668,7 +91664,7 @@ dyI
dyI
ozQ
ozQ
-xAx
+wxJ
brA
brA
dyI
@@ -91682,7 +91678,7 @@ ayK
swK
jTf
nCC
-rDc
+bwW
qQi
sVu
wfn
@@ -91721,24 +91717,24 @@ hgZ
hgZ
kaz
eOk
-qgK
-lvL
-xOU
-iCN
-qKw
-kDP
-gfp
-tIn
-gYh
-abw
-wzB
-pyG
-coo
+mYE
+naB
+oyv
+vZS
+rDs
+dAZ
+eTL
+sKj
+gXB
+rhF
+xLw
+oim
+wie
mhk
-lnV
-wrV
+jab
+rSM
mhk
-tTl
+ksq
wTO
qVR
scY
@@ -91939,7 +91935,7 @@ ayK
nXC
nmi
cED
-nQE
+mjh
rLj
gNt
iIK
@@ -91979,21 +91975,21 @@ qiz
fgt
pHC
qiz
-kas
-uAN
-lHK
-kas
-dUU
-dUU
-kas
-wUF
-fua
-bYW
-kkx
-kas
+tlG
+rWa
+peE
+tlG
+puk
+puk
+tlG
+tJY
+kxu
+cjf
+mGI
+tlG
mhk
rXw
-wrV
+rSM
mhk
wCR
wCR
@@ -92182,7 +92178,7 @@ cBd
cBd
dyI
ozQ
-jvm
+vkR
brA
dyI
oer
@@ -92196,7 +92192,7 @@ ayK
wfn
wfn
osT
-qxF
+wnf
wap
wfn
gKL
@@ -92240,14 +92236,14 @@ xRV
xRV
xRV
xRV
-hvw
-ssw
-mFH
-upo
-dth
-wIk
-wWA
-gJH
+ccO
+mWU
+lnL
+dOH
+rbT
+ppP
+hSn
+hpb
mhk
mhk
jby
@@ -92495,20 +92491,20 @@ nxI
sxZ
qGc
pfw
-kzM
-fTa
+dEp
+vWy
frI
-dWa
-dWa
-qxc
-dWa
-nDK
-wkD
+aJD
+aJD
+wqx
+aJD
+knR
+mDk
frI
-sqq
-kev
+dBn
+nwf
mXZ
-mwc
+ogq
mAR
qWG
fkS
@@ -92756,8 +92752,8 @@ uAo
iIv
uAo
jsG
-gVy
-pKO
+oQP
+mIp
fHN
jpu
pWM
@@ -93011,9 +93007,9 @@ nTa
tlt
eIM
yjZ
-rUX
-rUX
-bQo
+pzk
+pzk
+eII
xSw
kfw
yeD
@@ -93272,7 +93268,7 @@ xZS
xZS
xRV
xRV
-lIP
+eyx
kux
wGz
yaL
@@ -93799,7 +93795,7 @@ cKt
jVM
hIm
azq
-wpP
+api
wMg
wKr
vtr
@@ -94817,7 +94813,7 @@ uVT
vET
ncL
wQB
-vUr
+ebn
jVM
rXy
bFO
@@ -95341,7 +95337,7 @@ ptX
hsH
srg
jVM
-kYT
+nJK
sZo
yfC
lnN
@@ -95594,7 +95590,7 @@ jVM
jVM
jVM
jVM
-dxW
+qtW
jVM
xlU
jRK
@@ -95847,11 +95843,11 @@ kvT
wQB
cZi
jVM
-aJI
-nrX
-ydA
+dgt
+sTN
+nHb
jVM
-xah
+cMH
jVM
lzB
jVM
@@ -96104,11 +96100,11 @@ kyO
wQB
drC
jVM
-pMC
-nxS
-alN
+dqF
+sKh
+iFG
jVM
-xah
+cMH
jVM
uZY
jVM
@@ -96361,11 +96357,11 @@ ncL
wQB
ydz
jVM
-mgd
-kuX
-uiT
-dxW
-xah
+bgl
+sjn
+mrY
+qtW
+cMH
jVM
joR
jVM
@@ -97401,8 +97397,8 @@ wVN
hQs
rdV
bPy
-nVw
-qYr
+okL
+azx
eqI
nHI
cgs
@@ -97658,13 +97654,13 @@ jVM
aLB
ilx
qEO
-oPh
-qDL
+lqK
+wxM
sGN
bzj
-vxA
-lEs
-jUr
+qyE
+qdL
+ptO
uMg
xBd
qXP
@@ -97900,7 +97896,7 @@ opn
jYY
ndJ
rJZ
-hBJ
+egW
xRV
xRV
xRV
@@ -98159,8 +98155,8 @@ dCu
eXR
wQB
rHl
-gLf
-kec
+dMC
+ucO
jVM
jTn
xXe
@@ -98415,7 +98411,7 @@ psc
dCu
rJZ
wQB
-tSY
+xrt
txW
nCX
jVM
@@ -98931,7 +98927,7 @@ rJZ
wQB
eIO
xND
-wLv
+czh
jVM
oZy
jVM
@@ -100750,7 +100746,7 @@ xkV
ecC
cvV
spH
-hZA
+whg
dPp
sFs
fZZ
@@ -101264,7 +101260,7 @@ gyy
xkV
swW
vkh
-iax
+kPh
cSy
bpY
sMt
@@ -102285,7 +102281,7 @@ rZq
ycX
pBu
khY
-dpF
+lmZ
aGq
khY
khY
@@ -102780,7 +102776,7 @@ cCD
gcz
jyM
uoB
-cGA
+eSA
baJ
rji
vAw
@@ -105616,7 +105612,7 @@ sRL
bCP
dqB
pIf
-lZP
+upF
jgF
wqj
rEa
@@ -106128,7 +106124,7 @@ nVa
fuD
xVV
eWP
-lNN
+vXv
lWp
xhD
heN
@@ -107161,7 +107157,7 @@ jvQ
eul
eeJ
egJ
-yfF
+egA
gMq
duT
gtk
@@ -107923,7 +107919,7 @@ rqw
sRL
sRL
sRL
-xxG
+ceD
sRL
sRL
eeJ
@@ -114613,7 +114609,7 @@ xQJ
bfE
rIo
xQJ
-ohN
+jIn
oUC
oPM
sDj
@@ -115386,7 +115382,7 @@ noB
xQJ
avN
oPM
-rYt
+jLt
wBI
sEr
dQQ
@@ -119160,7 +119156,7 @@ dDB
dDB
dDB
dDB
-mzv
+dRz
dDB
dDB
dDB
@@ -121836,7 +121832,7 @@ xok
xok
xok
xok
-tXc
+dTi
tbI
xok
qNO
@@ -122611,7 +122607,7 @@ lkV
iJL
rci
vTv
-dpz
+juU
boY
agI
kQt
@@ -123382,7 +123378,7 @@ nWh
xnR
aLC
wLZ
-xwn
+eKV
cns
vwJ
kQt
@@ -129567,10 +129563,10 @@ uxL
lhl
jxD
ylD
-hqH
+cWC
vzv
brz
-sJf
+egg
ylD
wyj
dYR
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index da57feb2781..4200fe13d15 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -12653,6 +12653,7 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
},
+/obj/machinery/fishing_portal_generator,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/service)
"ddg" = (
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index ce8f714c0e4..6cbcb15e08e 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -44654,14 +44654,7 @@
/turf/open/floor/engine,
/area/station/engineering/atmos/hfr_room)
"mYR" = (
-/obj/structure/table,
-/obj/item/paper_bin,
-/obj/item/pen{
- pixel_x = -5
- },
-/obj/item/hand_labeler{
- pixel_y = -3
- },
+/obj/machinery/fishing_portal_generator,
/turf/open/floor/wood,
/area/station/hallway/secondary/service)
"mZf" = (
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index 64fe3288fba..865e1ea3444 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -8621,7 +8621,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
},
-/obj/item/storage/test_tube_rack/full,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
"dfh" = (
@@ -11724,29 +11723,10 @@
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
"ejD" = (
-/obj/effect/turf_decal/tile/brown/opposingcorners,
-/obj/structure/table,
-/obj/item/stack/wrapping_paper,
-/obj/item/paper_bin/carbon{
- pixel_y = 8;
- pixel_x = 6
- },
-/obj/item/pen/fourcolor{
- pixel_y = 8;
- pixel_x = 6
- },
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/effect/decal/cleanable/wrapping,
-/obj/item/sales_tagger{
- pixel_x = -5;
- pixel_y = 4
- },
-/obj/item/dest_tagger{
- pixel_x = -2;
- pixel_y = 4
- },
/turf/open/floor/iron,
/area/station/cargo/sorting)
"ejF" = (
@@ -12272,9 +12252,10 @@
/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
dir = 8
},
-/obj/machinery/computer/cargo/request{
+/obj/structure/chair{
dir = 1
},
+/obj/effect/landmark/start/assistant,
/turf/open/floor/iron,
/area/station/cargo/lobby)
"esd" = (
@@ -16791,20 +16772,9 @@
/area/station/science/ordnance/storage)
"gav" = (
/obj/structure/disposalpipe/segment,
-/obj/structure/table,
-/obj/machinery/photocopier{
- pixel_y = 9
- },
-/obj/item/paper/fluff{
- pixel_y = 8;
- pixel_x = 4;
- default_raw_text = "Next CT to photocopy their ass is getting thrown under the shuttle. I'm serious here.
- QM";
- name = "note"
- },
/obj/machinery/newscaster/directional/east,
-/obj/item/pen/screwdriver{
- pixel_x = 1;
- pixel_y = 11
+/obj/machinery/modular_computer/preset/cargochat/cargo{
+ dir = 8
},
/turf/open/floor/iron,
/area/station/cargo/sorting)
@@ -24327,15 +24297,13 @@
"iJK" = (
/obj/item/radio/intercom/directional/south,
/obj/effect/decal/cleanable/dirt,
-/obj/structure/reagent_dispensers/plumbed{
- dir = 8
- },
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/machinery/fishing_portal_generator,
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
"iKj" = (
@@ -30340,14 +30308,6 @@
dir = 8
},
/obj/machinery/camera/directional/west,
-/obj/item/dest_tagger{
- pixel_x = -9;
- pixel_y = 12
- },
-/obj/item/hand_labeler_refill{
- pixel_x = -11;
- pixel_y = -3
- },
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -31446,9 +31406,6 @@
/turf/open/floor/iron/dark,
/area/station/command/gateway)
"lcI" = (
-/obj/effect/turf_decal/trimline/red/filled/corner{
- dir = 1
- },
/obj/structure/extinguisher_cabinet/directional/north,
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 4
@@ -38067,9 +38024,6 @@
/turf/open/floor/wood,
/area/station/service/bar/backroom)
"nxI" = (
-/obj/effect/turf_decal/trimline/red/filled/corner{
- dir = 4
- },
/obj/structure/railing{
dir = 4
},
@@ -39507,6 +39461,23 @@
},
/turf/open/floor/engine,
/area/station/science/ordnance/burnchamber)
+"nZW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/paper_bin/carbon{
+ pixel_y = 8;
+ pixel_x = 6
+ },
+/obj/item/pen/fourcolor{
+ pixel_y = 8;
+ pixel_x = 6
+ },
+/obj/item/stack/wrapping_paper,
+/obj/effect/turf_decal/tile/brown/opposingcorners,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"oac" = (
/obj/structure/cable,
/turf/open/floor/iron,
@@ -41858,9 +41829,6 @@
/turf/open/floor/iron/cafeteria,
/area/station/service/kitchen)
"oRx" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 1
- },
/obj/effect/turf_decal/siding/white{
dir = 9
},
@@ -42828,8 +42796,8 @@
},
/obj/machinery/light/small/directional/north,
/obj/structure/disposalpipe/segment,
-/obj/structure/tank_holder/extinguisher,
/obj/structure/sign/clock/directional/north,
+/obj/machinery/photocopier,
/turf/open/floor/iron,
/area/station/cargo/sorting)
"pke" = (
@@ -45828,7 +45796,6 @@
/area/station/construction/storage_wing)
"qme" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/item/storage/test_tube_rack/full,
/turf/open/floor/iron,
/area/station/construction/storage_wing)
"qmf" = (
@@ -49105,10 +49072,6 @@
/obj/effect/turf_decal/trimline/brown/line{
dir = 6
},
-/obj/effect/landmark/start/assistant,
-/obj/structure/chair{
- dir = 1
- },
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron,
/area/station/cargo/lobby)
@@ -49884,8 +49847,12 @@
/obj/machinery/light/directional/north,
/obj/machinery/airalarm/directional/north,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/modular_computer/preset/cargochat/cargo,
/obj/structure/cable,
+/obj/structure/table,
+/obj/machinery/fax{
+ fax_name = "Cargo Office";
+ name = "Cargo Office Fax Machine"
+ },
/turf/open/floor/iron,
/area/station/cargo/sorting)
"rGm" = (
@@ -50312,6 +50279,7 @@
/area/station/ai_monitored/turret_protected/aisat_interior)
"rNA" = (
/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/brown/opposingcorners,
/turf/open/floor/iron,
/area/station/cargo/sorting)
"rNI" = (
@@ -50649,6 +50617,8 @@
"rUd" = (
/obj/machinery/power/apc/auto_name/directional/east,
/obj/structure/cable,
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/effect/turf_decal/trimline/brown/filled/warning,
/turf/open/floor/iron,
/area/station/cargo/sorting)
"rUo" = (
@@ -51382,7 +51352,10 @@
"sgZ" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
-/obj/effect/spawner/structure/window,
+/obj/machinery/computer/cargo/request{
+ dir = 1
+ },
+/obj/structure/window/spawner/directional/south,
/turf/open/floor/plating,
/area/station/cargo/sorting)
"shl" = (
@@ -57887,13 +57860,13 @@
/area/station/security/mechbay)
"uuW" = (
/obj/structure/table,
-/obj/machinery/fax{
- fax_name = "Cargo Office";
- name = "Cargo Office Fax Machine"
- },
/obj/item/papercutter{
- pixel_x = 8;
- pixel_y = 8
+ pixel_x = -1;
+ pixel_y = 5
+ },
+/obj/item/dest_tagger{
+ pixel_x = 9;
+ pixel_y = 4
},
/turf/open/floor/iron,
/area/station/cargo/sorting)
@@ -58082,28 +58055,27 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/structure/table,
/obj/machinery/light/directional/east,
/obj/item/radio/intercom/directional/east,
/obj/structure/disposalpipe/segment{
dir = 9
},
-/obj/item/stamp/granted{
+/obj/item/stamp/denied{
pixel_x = -7;
- pixel_y = 4
+ pixel_y = 10
},
-/obj/item/stamp/denied{
+/obj/item/stamp/granted{
pixel_x = -7;
- pixel_y = 15
+ pixel_y = -1
},
/obj/item/storage/box/lights/mixed{
pixel_x = 5;
- pixel_y = 12
+ pixel_y = 5
},
/obj/item/storage/box/lights/mixed{
pixel_x = 5;
- pixel_y = 24
+ pixel_y = 16
},
/turf/open/floor/iron,
/area/station/cargo/sorting)
@@ -62962,6 +62934,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/effect/turf_decal/tile/brown/opposingcorners,
/turf/open/floor/iron,
/area/station/cargo/sorting)
"wcf" = (
@@ -67906,6 +67879,7 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
},
+/obj/effect/turf_decal/tile/brown/opposingcorners,
/turf/open/floor/iron,
/area/station/cargo/sorting)
"xRR" = (
@@ -89489,7 +89463,7 @@ ryV
mhM
qCx
cap
-wbW
+nZW
wbW
ygk
hld
diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm
index cafc8754cd8..2fc187c626d 100644
--- a/_maps/map_files/NorthStar/north_star.dmm
+++ b/_maps/map_files/NorthStar/north_star.dmm
@@ -86467,6 +86467,7 @@
/area/station/security/brig)
"wms" = (
/obj/machinery/airalarm/directional/east,
+/obj/machinery/fishing_portal_generator,
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
"wmt" = (
diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm
index 9480252ff13..9c97fd61253 100644
--- a/_maps/map_files/tramstation/tramstation.dmm
+++ b/_maps/map_files/tramstation/tramstation.dmm
@@ -14032,6 +14032,7 @@
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 5
},
+/obj/machinery/fishing_portal_generator,
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
"dNB" = (
diff --git a/_maps/map_files/wawastation/wawastation.dmm b/_maps/map_files/wawastation/wawastation.dmm
index 8eca8d06b61..c1d1929d4d2 100644
--- a/_maps/map_files/wawastation/wawastation.dmm
+++ b/_maps/map_files/wawastation/wawastation.dmm
@@ -5209,6 +5209,11 @@
},
/turf/open/floor/iron/white,
/area/station/medical/exam_room)
+"bQY" = (
+/obj/effect/turf_decal/tile/dark_green/opposingcorners,
+/obj/machinery/fishing_portal_generator,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/service)
"bRl" = (
/obj/machinery/suit_storage_unit/captain{
req_access = list("captain")
@@ -13201,8 +13206,8 @@
/turf/open/floor/iron,
/area/station/engineering/main)
"eFP" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4,
-/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
"eGn" = (
@@ -18088,6 +18093,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/engineering/gravity_generator)
+"gvs" = (
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/tile/dark_green/opposingcorners,
+/obj/structure/cable,
+/obj/structure/table,
+/obj/item/aquarium_kit,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/service)
"gvw" = (
/turf/closed/wall,
/area/station/command/heads_quarters/cmo)
@@ -25270,14 +25283,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"jac" = (
-/obj/structure/cable,
-/obj/effect/spawner/random/trash/garbage{
- spawn_scatter_radius = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
"jaf" = (
/obj/structure/table/wood,
/obj/item/flashlight/lamp/green,
@@ -25481,12 +25486,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron,
/area/station/maintenance/department/cargo)
-"jdP" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
"jdW" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners{
dir = 1
@@ -31193,6 +31192,13 @@
/obj/machinery/light/directional/north,
/turf/open/floor/circuit,
/area/station/engineering/storage/tech)
+"kYi" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"kYk" = (
/obj/machinery/door/poddoor/shutters{
id = "secmechbay";
@@ -37544,6 +37550,12 @@
},
/turf/open/floor/iron/white/smooth_large,
/area/station/medical/exam_room)
+"nki" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"nkA" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 1
@@ -37637,11 +37649,6 @@
/obj/structure/marker_beacon/purple,
/turf/open/space/basic,
/area/space/nearstation)
-"nmS" = (
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/random/structure/grille,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
"nmX" = (
/obj/effect/turf_decal/tile/red/anticorner/contrasted,
/obj/structure/disposalpipe/segment,
@@ -39249,6 +39256,11 @@
/obj/item/emergency_bed,
/turf/open/floor/iron/white,
/area/station/maintenance/aft/upper)
+"nUL" = (
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"nUS" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
@@ -41010,6 +41022,10 @@
/obj/machinery/meter,
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter)
+"oEo" = (
+/obj/effect/turf_decal/tile/dark_green/opposingcorners,
+/turf/closed/wall,
+/area/station/hallway/secondary/service)
"oEp" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -62533,6 +62549,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"wan" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/spawner/random/trash/garbage{
+ spawn_scatter_radius = 1
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"war" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/siding/wood{
@@ -63067,7 +63091,6 @@
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
"wlf" = (
-/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
/obj/effect/turf_decal/tile/dark_green/opposingcorners,
/turf/open/floor/iron,
@@ -91818,7 +91841,7 @@ acc
tQF
ewJ
uFW
-jrX
+wan
acc
acc
acc
@@ -92073,9 +92096,9 @@ mbZ
acc
acc
acc
-acc
+wMb
eFP
-jac
+jrX
kuP
kuP
kuP
@@ -92330,9 +92353,9 @@ jrn
acc
nZY
ihH
-acc
-acc
-jrX
+nUL
+eFP
+lIr
lIr
lIr
lIr
@@ -92587,10 +92610,10 @@ qpb
acc
jOD
uFW
-nmS
uFW
-jrX
+nki
lIr
+bQY
lHi
dyX
uWr
@@ -92845,9 +92868,9 @@ mCo
ewJ
uFW
jXL
-uFW
-jdP
+kYi
lIr
+gvs
wlf
fvd
cik
@@ -93103,8 +93126,8 @@ acc
jrX
siG
jrX
-jrX
lIr
+oEo
otA
xlX
bcX
diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm
index 99a47f7c4e5..56b7f8698ff 100644
--- a/code/__DEFINES/DNA.dm
+++ b/code/__DEFINES/DNA.dm
@@ -92,8 +92,8 @@
#define ORGAN_SLOT_ADAMANTINE_RESONATOR "adamantine_resonator"
#define ORGAN_SLOT_APPENDIX "appendix"
#define ORGAN_SLOT_BRAIN "brain"
-#define ORGAN_SLOT_BRAIN_ANTIDROP "brain_antidrop"
-#define ORGAN_SLOT_BRAIN_ANTISTUN "brain_antistun"
+#define ORGAN_SLOT_BRAIN_CEREBELLUM "brain_antidrop"
+#define ORGAN_SLOT_BRAIN_CNS "brain_antistun"
#define ORGAN_SLOT_BREATHING_TUBE "breathing_tube"
#define ORGAN_SLOT_EARS "ears"
#define ORGAN_SLOT_EYES "eye_sight"
@@ -176,8 +176,8 @@ GLOBAL_LIST_INIT(organ_process_order, list(
ORGAN_SLOT_VOICE,
ORGAN_SLOT_ADAMANTINE_RESONATOR,
ORGAN_SLOT_HEART_AID,
- ORGAN_SLOT_BRAIN_ANTIDROP,
- ORGAN_SLOT_BRAIN_ANTISTUN,
+ ORGAN_SLOT_BRAIN_CEREBELLUM,
+ ORGAN_SLOT_BRAIN_CNS,
ORGAN_SLOT_PARASITE_EGG,
ORGAN_SLOT_MONSTER_CORE,
ORGAN_SLOT_XENO_PLASMAVESSEL,
diff --git a/code/__DEFINES/ai/ai_blackboard.dm b/code/__DEFINES/ai/ai_blackboard.dm
index 0c682f7d411..2b25d0cfb31 100644
--- a/code/__DEFINES/ai/ai_blackboard.dm
+++ b/code/__DEFINES/ai/ai_blackboard.dm
@@ -123,6 +123,18 @@
///list of foods this mob likes
#define BB_BASIC_FOODS "BB_basic_foods"
+///key holding any food we've found
+#define BB_TARGET_FOOD "BB_TARGET_FOOD"
+
+///key holding emotes we play after eating
+#define BB_EAT_EMOTES "BB_eat_emotes"
+
+///key holding the next time we eat
+#define BB_NEXT_FOOD_EAT "BB_next_food_eat"
+
+///key holding our eating cooldown
+#define BB_EAT_FOOD_COOLDOWN "BB_eat_food_cooldown"
+
/// Blackboard key for a held item
#define BB_SIMPLE_CARRY_ITEM "BB_SIMPLE_CARRY_ITEM"
@@ -168,5 +180,4 @@
/// For /datum/ai_behavior/find_potential_targets, what if any field are we using currently
#define BB_FIND_TARGETS_FIELD(type) "bb_find_targets_field_[type]"
-///mothroach next meal key!
-#define BB_MOTHROACH_NEXT_EAT "mothroach_next_eat"
+
diff --git a/code/__DEFINES/basic_mobs.dm b/code/__DEFINES/basic_mobs.dm
index 6696da857c8..12ddaa3a68a 100644
--- a/code/__DEFINES/basic_mobs.dm
+++ b/code/__DEFINES/basic_mobs.dm
@@ -24,6 +24,9 @@
/// Above this speed we stop gliding because it looks silly
#define END_GLIDE_SPEED 10
+///hunger cooldown for basic mobs
+#define EAT_FOOD_COOLDOWN 45 SECONDS
+
///mook attack status flags
#define MOOK_ATTACK_NEUTRAL 0
#define MOOK_ATTACK_WARMUP 1
diff --git a/code/__DEFINES/bodyparts.dm b/code/__DEFINES/bodyparts.dm
index 4d957373a55..34a26376e2f 100644
--- a/code/__DEFINES/bodyparts.dm
+++ b/code/__DEFINES/bodyparts.dm
@@ -43,3 +43,8 @@
#define AUGGED_CHEST_EMP_SHAKE_TIME 5 SECONDS
/// When hit by an EMP, the time an augged head will make vision fucky for.
#define AUGGED_HEAD_EMP_GLITCH_DURATION 6 SECONDS
+
+// Color priorities for bodyparts
+#define LIMB_COLOR_HULK 10
+#define LIMB_COLOR_CARP_INFUSION 20
+#define LIMB_COLOR_SYNTH 100 // NOVA EDIT ADDITION - High priority
diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm
index 439d803fb94..fbdb630174f 100644
--- a/code/__DEFINES/combat.dm
+++ b/code/__DEFINES/combat.dm
@@ -239,8 +239,8 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
/// ex_act() with EXPLODE_DEVASTATE severity will gib mobs with less than this much bomb armor
#define EXPLODE_GIB_THRESHOLD 50
-#define EMP_HEAVY 1
#define EMP_LIGHT 2
+#define EMP_HEAVY 1
#define GRENADE_CLUMSY_FUMBLE 1
#define GRENADE_NONCLUMSY_FUMBLE 2
diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm
index 4a558c5fa7e..51240110062 100644
--- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm
+++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm
@@ -150,6 +150,10 @@
///from /mob/say_dead(): (mob/speaker, message)
#define COMSIG_MOB_DEADSAY "mob_deadsay"
#define MOB_DEADSAY_SIGNAL_INTERCEPT (1<<0)
+///from /mob/living/check_cooldown(): ()
+#define COMSIG_MOB_EMOTE_COOLDOWN_CHECK "mob_emote_cd"
+ /// make a wild guess
+ #define COMPONENT_EMOTE_COOLDOWN_BYPASS (1<<0)
///from /mob/living/emote(): ()
#define COMSIG_MOB_EMOTE "mob_emote"
///from base of mob/swap_hand(): (obj/item/currently_held_item)
diff --git a/code/__DEFINES/dcs/signals/signals_object.dm b/code/__DEFINES/dcs/signals/signals_object.dm
index a9cc41b7d8d..53ac323b61c 100644
--- a/code/__DEFINES/dcs/signals/signals_object.dm
+++ b/code/__DEFINES/dcs/signals/signals_object.dm
@@ -15,6 +15,8 @@
/// from /obj/obj_reskin: (mob/user, skin)
#define COMSIG_OBJ_RESKIN "obj_reskin"
+#define COMSIG_LIONHUNTER_ON_HIT "lionhunter_on_hit"
+
// /obj/machinery signals
///from /obj/machinery/atom_break(damage_flag): (damage_flag)
diff --git a/code/__DEFINES/dcs/signals/signals_spell.dm b/code/__DEFINES/dcs/signals/signals_spell.dm
index 08074116be2..ebbdcc4e2be 100644
--- a/code/__DEFINES/dcs/signals/signals_spell.dm
+++ b/code/__DEFINES/dcs/signals/signals_spell.dm
@@ -66,6 +66,10 @@
// Touch spells
/// Sent from /datum/action/cooldown/spell/touch/do_hand_hit: (atom/hit, mob/living/carbon/caster, obj/item/melee/touch_attack/hand)
#define COMSIG_SPELL_TOUCH_HAND_HIT "spell_touch_hand_cast"
+/// Sent from /datum/action/cooldown/spell/touch/cast: (mob/living/carbon/cast_on)
+#define COMSIG_TOUCH_HANDLESS_CAST "spell_touch_handless_cast"
+ /// Return this to prevent the hand spawning/unspawning
+ #define COMPONENT_CAST_HANDLESS (1<<0)
// Jaunt Spells
/// Sent from datum/action/cooldown/spell/jaunt/before_cast, before the mob enters jaunting as a pre-check: (datum/action/cooldown/spell/spell)
diff --git a/code/__DEFINES/robots.dm b/code/__DEFINES/robots.dm
index 6e45c20ce79..469669a74f8 100644
--- a/code/__DEFINES/robots.dm
+++ b/code/__DEFINES/robots.dm
@@ -29,9 +29,6 @@
// Cyborg defines
-/// If an item does this or more throwing damage it will slow a borg down on hit
-#define CYBORG_THROW_SLOWDOWN_THRESHOLD 10
-
/// Special value to reset cyborg's lamp_cooldown
#define BORG_LAMP_CD_RESET -1
/// How many watts per lamp power is consumed while the lamp is on.
diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm
index 1bd3a191f76..ee7a5952444 100644
--- a/code/__DEFINES/sound.dm
+++ b/code/__DEFINES/sound.dm
@@ -252,3 +252,5 @@ GLOBAL_LIST_INIT(announcer_keys, list(
#define SFX_DEFAULT_LIQUID_SLOSH "default_liquid_slosh"
#define SFX_PLATE_ARMOR_RUSTLE "plate_armor_rustle"
#define SFX_PIG_OINK "pig_oink"
+#define SFX_VISOR_UP "visor_up"
+#define SFX_VISOR_DOWN "visor_down"
diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm
index ae2dec14d16..36e3a281e1d 100644
--- a/code/__DEFINES/traits/declarations.dm
+++ b/code/__DEFINES/traits/declarations.dm
@@ -116,6 +116,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_RESISTHEAT "resist_heat"
/// Trait for when you can no longer gain body heat
#define TRAIT_HYPOTHERMIC "body_hypothermic"
+/// This non-living object is valid to be used in dna infusers
+#define TRAIT_VALID_DNA_INFUSION "valid_dna_infusion"
///For when you've gotten a power from a dna vault
#define TRAIT_USED_DNA_VAULT "used_dna_vault"
/// For when you want to be able to touch hot things, but still want fire to be an issue.
diff --git a/code/__DEFINES/traits/sources.dm b/code/__DEFINES/traits/sources.dm
index beb2b98944b..8b3ac10f950 100644
--- a/code/__DEFINES/traits/sources.dm
+++ b/code/__DEFINES/traits/sources.dm
@@ -293,8 +293,6 @@
/// Trait from an organ being inside a bodypart
#define ORGAN_INSIDE_BODY_TRAIT "organ_inside_body"
-/// Trait when something was labelled by the /datum/element/tool_renaming element.
-#define RENAMING_TOOL_LABEL_TRAIT "renaming_tool_label"
/// Trait when a drink was renamed by a shaker
#define SHAKER_LABEL_TRAIT "shaker_trait"
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 92c725bd81b..1740402e627 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -285,6 +285,35 @@
return pick(possible_loc)
+///Checks to see if `atom/source` is behind `atom/target`
+/proc/check_behind(atom/source, atom/target)
+ // Let's see if source is behind target
+ // "Behind" is defined as 3 tiles directly to the back of the target
+ // x . .
+ // x > .
+ // x . .
+
+ // No tactical spinning allowed
+ if(HAS_TRAIT(target, TRAIT_SPINNING))
+ return TRUE
+
+ // We'll take "same tile" as "behind" for ease
+ if(target.loc == source.loc)
+ return TRUE
+
+ // We'll also assume lying down is behind, as mob directions when lying are unclear
+ if(isliving(target))
+ var/mob/living/living_target = target
+ if(living_target.body_position == LYING_DOWN)
+ return TRUE
+
+ // Exceptions aside, let's actually check if they're, yknow, behind
+ var/dir_target_to_source = get_dir(target, source)
+ if(target.dir & REVERSE_DIR(dir_target_to_source))
+ return TRUE
+
+ return FALSE
+
///Disable power in the station APCs
/proc/power_fail(duration_min, duration_max)
for(var/obj/machinery/power/apc/current_apc as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/power/apc))
diff --git a/code/__HELPERS/pronouns.dm b/code/__HELPERS/pronouns.dm
index fe2357d6ce4..28bb4c11662 100644
--- a/code/__HELPERS/pronouns.dm
+++ b/code/__HELPERS/pronouns.dm
@@ -86,7 +86,8 @@
gender = targeted_gender
else
gender = targeted_atom.gender
- var/regex/pronoun_regex = regex("%PRONOUN(_(they|They|their|Their|theirs|Theirs|them|Them|have|are|were|do|theyve|Theyve|theyre|Theyre|s|es))")
+ ///The pronouns are ordered by their length to avoid %PRONOUN_Theyve being translated to "Heve" instead of "He's", for example
+ var/regex/pronoun_regex = regex("%PRONOUN(_(theirs|Theirs|theyve|Theyve|theyre|Theyre|their|Their|they|They|them|Them|have|were|are|do|es|s))")
while(pronoun_regex.Find(target_string))
target_string = pronoun_regex.Replace(target_string, GET_TARGET_PRONOUN(targeted_atom, pronoun_regex.match, gender))
return target_string
diff --git a/code/__byond_version_compat.dm b/code/__byond_version_compat.dm
index 6680e655551..769f3984cf1 100644
--- a/code/__byond_version_compat.dm
+++ b/code/__byond_version_compat.dm
@@ -11,7 +11,9 @@
// Unable to compile this version thanks to mutable appearance changes
#if (DM_VERSION == 515 && DM_BUILD == 1643)
-#error This version of BYOND cannot compile this project. Visit www.byond.com/download/build to download an older version or update (if possible).
+#error This specific version of BYOND (515.1643) cannot compile this project.
+#error If 515.1643 IS NOT the latest version of BYOND, then you should simply update as normal.
+#error But if 515.1643 IS the latest version of BYOND, i.e. you can't update, then you MUST visit www.byond.com/download/build and downgrade to 515.1642.
#endif
// Keep savefile compatibilty at minimum supported level
diff --git a/code/_globalvars/lists/quirks.dm b/code/_globalvars/lists/quirks.dm
index 83c15f6ea9c..3be9266a87c 100644
--- a/code/_globalvars/lists/quirks.dm
+++ b/code/_globalvars/lists/quirks.dm
@@ -100,3 +100,19 @@ GLOBAL_LIST_INIT(paraplegic_choice, list(
"Default" = FALSE,
"Amputee" = TRUE,
))
+
+///chipped Quirk
+GLOBAL_LIST_INIT(quirk_chipped_choice, list(
+ "Basketsoft 3000" = /obj/item/skillchip/basketweaving,
+ "WINE" = /obj/item/skillchip/wine_taster,
+ "Hedge 3" = /obj/item/skillchip/bonsai,
+ "Skillchip adapter" = /obj/item/skillchip/useless_adapter,
+ "N16H7M4R3" = /obj/item/skillchip/light_remover,
+ "3NTR41LS" = /obj/item/skillchip/entrails_reader,
+ "GENUINE ID Appraisal Now!" = /obj/item/skillchip/appraiser,
+ "Le S48R4G3" = /obj/item/skillchip/sabrage,
+ "Integrated Intuitive Thinking and Judging" = /obj/item/skillchip/intj,
+ "F0RC3 4DD1CT10N" = /obj/item/skillchip/drunken_brawler,
+ "\"Space Station 13: The Musical\"" = /obj/item/skillchip/musical,
+ "Mast-Angl-Er skillchip" = /obj/item/skillchip/master_angler,
+))
diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm
index 8c2b86e2cbc..f22f3466770 100644
--- a/code/_globalvars/traits/_traits.dm
+++ b/code/_globalvars/traits/_traits.dm
@@ -43,6 +43,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_CHASM_STOPPER" = TRAIT_CHASM_STOPPER,
"TRAIT_COMBAT_MODE_SKIP_INTERACTION" = TRAIT_COMBAT_MODE_SKIP_INTERACTION,
"TRAIT_DEL_ON_SPACE_DUMP" = TRAIT_DEL_ON_SPACE_DUMP,
+ "TRAIT_VALID_DNA_INFUSION" = TRAIT_VALID_DNA_INFUSION,
"TRAIT_FISH_CASE_COMPATIBILE" = TRAIT_FISH_CASE_COMPATIBILE,
"TRAIT_FROZEN" = TRAIT_FROZEN,
"TRAIT_HAS_LABEL" = TRAIT_HAS_LABEL,
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index d948e1d28da..7653da7f775 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -358,18 +358,6 @@
return FALSE
-/mob/living/silicon/robot/attack_effects(damage_done, hit_zone, armor_block, obj/item/attacking_item, mob/living/attacker)
- if(damage_done > 0 && attacking_item.damtype != STAMINA && stat != DEAD)
- spark_system.start()
- . = TRUE
- return ..() || .
-
-/mob/living/silicon/ai/attack_effects(damage_done, hit_zone, armor_block, obj/item/attacking_item, mob/living/attacker)
- if(damage_done > 0 && attacking_item.damtype != STAMINA && stat != DEAD)
- spark_system.start()
- . = TRUE
- return ..() || .
-
/mob/living/carbon/attack_effects(damage_done, hit_zone, armor_block, obj/item/attacking_item, mob/living/attacker)
var/obj/item/bodypart/hit_bodypart = get_bodypart(hit_zone) || bodyparts[1]
if(!hit_bodypart.can_bleed())
@@ -484,4 +472,3 @@
return " in the [input_area]"
return ""
-
diff --git a/code/controllers/subsystem/map_vote.dm b/code/controllers/subsystem/map_vote.dm
index 881652b472d..d5708cd9d08 100644
--- a/code/controllers/subsystem/map_vote.dm
+++ b/code/controllers/subsystem/map_vote.dm
@@ -79,15 +79,33 @@ SUBSYSTEM_DEF(map_vote)
send_map_vote_notice("No valid maps.")
return
- var/winner = pick_weight(filter_cache_to_valid_maps())
+ var/winner
+ var/winner_amount = 0
+ for(var/map in valid_maps)
+ if(!winner_amount)
+ winner = map
+ winner_amount = map_vote_cache[map]
+ continue
+ if(map_vote_cache[map] <= winner_amount)
+ continue
+ winner = map
+ winner_amount = map_vote_cache[map]
+
+ ASSERT(winner, "No winner found in map vote.")
set_next_map(config.maplist[winner])
- send_map_vote_notice("Map Selected - [span_bold(next_map_config.map_name)]")
+ var/list/messages = list("Map Selected - [span_bold(next_map_config.map_name)]")
+ messages += "Tallies at the time of selection:"
+ messages += tally_printout
// do not reset tallies if only one map is even possible
if(length(valid_maps) > 1)
map_vote_cache[winner] = CONFIG_GET(number/map_vote_minimum_tallies)
write_cache()
update_tally_printout()
+ else
+ messages += "Only one map was possible, tallies were not reset."
+
+ send_map_vote_notice(arglist(messages))
/// Returns a list of all map options that are invalid for the current population.
/datum/controller/subsystem/map_vote/proc/get_valid_map_vote_choices()
diff --git a/code/controllers/subsystem/movement/movement.dm b/code/controllers/subsystem/movement/movement.dm
index d6043d596bb..2b0463db790 100644
--- a/code/controllers/subsystem/movement/movement.dm
+++ b/code/controllers/subsystem/movement/movement.dm
@@ -1,6 +1,6 @@
SUBSYSTEM_DEF(movement)
name = "Movement Loops"
- flags = SS_NO_INIT|SS_BACKGROUND|SS_TICKER
+ flags = SS_NO_INIT|SS_TICKER
wait = 1 //Fire each tick
/*
A breif aside about the bucketing system here
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 72e9652cbbb..3c3cc5ce1ee 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -499,8 +499,8 @@ SUBSYSTEM_DEF(ticker)
qdel(player)
ADD_TRAIT(living, TRAIT_NO_TRANSFORM, SS_TICKER_TRAIT)
if(living.client)
- var/atom/movable/screen/splash/S = new(null, living.client, TRUE)
- S.Fade(TRUE)
+ var/atom/movable/screen/splash/fade_out = new(null, living.client, TRUE)
+ fade_out.Fade(TRUE)
living.client.init_verbs()
livings += living
if(livings.len)
diff --git a/code/datums/ai/basic_mobs/base_basic_controller.dm b/code/datums/ai/basic_mobs/base_basic_controller.dm
index f21d31b0500..7ab15437f7d 100644
--- a/code/datums/ai/basic_mobs/base_basic_controller.dm
+++ b/code/datums/ai/basic_mobs/base_basic_controller.dm
@@ -9,6 +9,7 @@
update_speed(basic_mob)
RegisterSignals(basic_mob, list(POST_BASIC_MOB_UPDATE_VARSPEED, COMSIG_MOB_MOVESPEED_UPDATED), PROC_REF(update_speed))
+ RegisterSignal(basic_mob, COMSIG_MOB_ATE, PROC_REF(on_mob_eat))
return ..() //Run parent at end
@@ -44,3 +45,8 @@
/datum/ai_controller/basic_controller/proc/update_speed(mob/living/basic/basic_mob)
SIGNAL_HANDLER
movement_delay = basic_mob.cached_multiplicative_slowdown
+
+/datum/ai_controller/basic_controller/proc/on_mob_eat()
+ SIGNAL_HANDLER
+ var/food_cooldown = blackboard[BB_EAT_FOOD_COOLDOWN] || EAT_FOOD_COOLDOWN
+ set_blackboard_key(BB_NEXT_FOOD_EAT, world.time + food_cooldown)
diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/interact_with_target.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/interact_with_target.dm
new file mode 100644
index 00000000000..3b0c4245656
--- /dev/null
+++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/interact_with_target.dm
@@ -0,0 +1,27 @@
+///behavior for general interactions with any targets
+/datum/ai_behavior/interact_with_target
+ behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_REQUIRE_REACH
+ ///should we be clearing the target after the fact?
+ var/clear_target = TRUE
+
+/datum/ai_behavior/interact_with_target/setup(datum/ai_controller/controller, target_key)
+ . = ..()
+ var/atom/target = controller.blackboard[target_key]
+ if(QDELETED(target))
+ return FALSE
+ set_movement_target(controller, target)
+
+/datum/ai_behavior/interact_with_target/perform(seconds_per_tick, datum/ai_controller/controller, target_key)
+ var/atom/target = controller.blackboard[target_key]
+ if(QDELETED(target) || !pre_interact(controller, target))
+ return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED
+ controller.ai_interact(target)
+ return AI_BEHAVIOR_SUCCEEDED | AI_BEHAVIOR_DELAY
+
+/datum/ai_behavior/interact_with_target/finish_action(datum/ai_controller/controller, succeeded, target_key)
+ . = ..()
+ if(clear_target || !succeeded)
+ controller.clear_blackboard_key(target_key)
+
+/datum/ai_behavior/interact_with_target/proc/pre_interact(datum/ai_controller/controller, target)
+ return TRUE
diff --git a/code/datums/ai/basic_mobs/basic_subtrees/find_food.dm b/code/datums/ai/basic_mobs/basic_subtrees/find_food.dm
index 9e3cd557b64..f05c357b1a8 100644
--- a/code/datums/ai/basic_mobs/basic_subtrees/find_food.dm
+++ b/code/datums/ai/basic_mobs/basic_subtrees/find_food.dm
@@ -4,11 +4,33 @@
var/datum/ai_behavior/finding_behavior = /datum/ai_behavior/find_and_set/in_list
///key of foods list
var/food_list_key = BB_BASIC_FOODS
+ ///key where we store our food
+ var/found_food_key = BB_TARGET_FOOD
+ ///key holding any emotes we play after eating food
+ var/emotes_blackboard_list = BB_EAT_EMOTES
/datum/ai_planning_subtree/find_food/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick)
- . = ..()
- if(controller.blackboard_key_exists(BB_BASIC_MOB_CURRENT_TARGET))
- // Busy with something
+ if(controller.blackboard[BB_NEXT_FOOD_EAT] > world.time)
+ return
+ if(!controller.blackboard_key_exists(found_food_key))
+ controller.queue_behavior(finding_behavior, found_food_key, controller.blackboard[food_list_key])
return
+ controller.queue_behavior(/datum/ai_behavior/interact_with_target/eat_food, found_food_key, emotes_blackboard_list)
+ return SUBTREE_RETURN_FINISH_PLANNING
+
+/datum/ai_behavior/interact_with_target/eat_food
+ ///default list of actions we take after eating
+ var/list/food_actions = list(
+ "eats up happily!",
+ "chomps with glee!",
+ )
- controller.queue_behavior(finding_behavior, BB_BASIC_MOB_CURRENT_TARGET, controller.blackboard[food_list_key])
+/datum/ai_behavior/interact_with_target/eat_food/perform(seconds_per_tick, datum/ai_controller/controller, target_key, emotes_blackboard_list)
+ . = ..()
+ if(. & AI_BEHAVIOR_FAILED)
+ return
+ var/list/emotes_to_pick = controller.blackboard[emotes_blackboard_list] || food_actions
+ if(!length(emotes_to_pick))
+ return
+ var/mob/living/living_pawn = controller.pawn
+ living_pawn.manual_emote(pick(emotes_to_pick))
diff --git a/code/datums/components/clothing_dirt.dm b/code/datums/components/clothing_dirt.dm
new file mode 100644
index 00000000000..40f0ddb07e2
--- /dev/null
+++ b/code/datums/components/clothing_dirt.dm
@@ -0,0 +1,88 @@
+/// This component applies tint to clothing when its exposed to pepperspray, used in /obj/item/clothing/mask/gas.
+
+/datum/component/clothing_dirt
+ /// Amount of dirt stacks on the clothing
+ var/dirtiness = 0
+
+/datum/component/clothing_dirt/Initialize()
+ if(!isclothing(parent))
+ return COMPONENT_INCOMPATIBLE
+
+/datum/component/clothing_dirt/RegisterWithParent()
+ RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
+ RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip))
+ RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop))
+ RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(on_clean))
+ RegisterSignal(parent, COMSIG_ATOM_EXPOSE_REAGENTS, PROC_REF(on_expose), TRUE)
+
+/datum/component/clothing_dirt/UnregisterFromParent()
+ var/obj/item/clothing/clothing = parent
+ clothing.tint -= dirtiness
+ if(iscarbon(clothing.loc))
+ var/mob/living/carbon/wearer = clothing.loc
+ wearer.update_tint()
+ UnregisterSignal(wearer, COMSIG_ATOM_EXPOSE_REAGENTS)
+ else
+ UnregisterSignal(parent, COMSIG_ATOM_EXPOSE_REAGENTS)
+ UnregisterSignal(parent, list(
+ COMSIG_ATOM_EXAMINE,
+ COMSIG_ITEM_EQUIPPED,
+ COMSIG_MOB_UNEQUIPPED_ITEM,
+ COMSIG_COMPONENT_CLEAN_ACT,
+ ))
+ return ..()
+
+/datum/component/clothing_dirt/proc/on_equip(datum/source, mob/user, slot)
+ SIGNAL_HANDLER
+ var/obj/item/clothing/clothing = parent
+ if (!(slot & clothing.slot_flags))
+ return
+ UnregisterSignal(parent, COMSIG_ATOM_EXPOSE_REAGENTS)
+ RegisterSignal(user, COMSIG_ATOM_EXPOSE_REAGENTS, PROC_REF(on_expose), TRUE)
+
+/datum/component/clothing_dirt/proc/on_drop(datum/source, mob/holder)
+ SIGNAL_HANDLER
+ UnregisterSignal(holder, COMSIG_ATOM_EXPOSE_REAGENTS)
+ RegisterSignal(parent, COMSIG_ATOM_EXPOSE_REAGENTS, PROC_REF(on_expose), TRUE)
+
+/datum/component/clothing_dirt/proc/on_examine(datum/source, mob/user, list/examine_list)
+ SIGNAL_HANDLER
+ if (dirtiness > 0)
+ examine_list += span_warning("It appears to be covered in some oily substance. Won't see much while wearing it until you wash it off.")
+
+/datum/component/clothing_dirt/proc/on_expose(atom/target, list/reagents, datum/reagents/source, methods)
+ SIGNAL_HANDLER
+
+ var/mob/living/carbon/wearer
+ if(iscarbon(target))
+ wearer = target
+ if(is_protected(wearer))
+ return
+
+ var/datum/reagent/consumable/condensedcapsaicin/pepper = locate() in reagents
+ if(isnull(pepper))
+ return
+
+ var/obj/item/clothing/clothing = parent
+ if (methods & (TOUCH | VAPOR))
+ clothing.tint -= dirtiness
+ dirtiness = min(dirtiness + round(reagents[pepper] / 5), 3)
+ clothing.tint += dirtiness
+ if(!isnull(wearer))
+ wearer.update_tint()
+
+/datum/component/clothing_dirt/proc/is_protected(mob/living/carbon/wearer)
+ return wearer.head && (wearer.head.flags_cover & PEPPERPROOF)
+
+/datum/component/clothing_dirt/proc/on_clean(datum/target, clean_types)
+ SIGNAL_HANDLER
+ var/obj/item/clothing/clothing = parent
+ var/mob/living/carbon/wearer
+ if(iscarbon(clothing.loc))
+ wearer = clothing.loc
+
+ if (clean_types & (CLEAN_WASH|CLEAN_SCRUB))
+ clothing.tint -= dirtiness
+ dirtiness = 0
+ if(!isnull(wearer))
+ wearer.update_tint()
diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm
index 0bd31948133..2196a88325a 100644
--- a/code/datums/components/crafting/tailoring.dm
+++ b/code/datums/components/crafting/tailoring.dm
@@ -643,3 +643,13 @@
/obj/item/clothing/head/fedora/beige = 1,
)
category = CAT_CLOTHING
+
+/datum/crafting_recipe/jonkler
+ name = "gamer's wig and mask"
+ result = /obj/item/clothing/mask/gas/jonkler
+ time = 10 SECONDS
+ tool_paths = list(/obj/item/toy/crayon/green)
+ reqs = list(
+ /obj/item/clothing/mask/gas/clown_hat = 1,
+ )
+ category = CAT_CLOTHING
diff --git a/code/datums/components/fish_growth.dm b/code/datums/components/fish_growth.dm
index 7c9aed1048c..7f1e411ed3a 100644
--- a/code/datums/components/fish_growth.dm
+++ b/code/datums/components/fish_growth.dm
@@ -90,12 +90,12 @@
var/message_verb = del_on_grow ? "grows into" : "generates"
location.visible_message(span_notice("[source] [message_verb] \a [result]."), vision_distance = 3)
- if(inherit_name && source.name != initial(source.name))
+ if(inherit_name && HAS_TRAIT(source, TRAIT_WAS_RENAMED))
if(ismob(result))
var/mob/mob = result
mob.fully_replace_character_name(mob.name, source.name)
else
- result.name = source.name
+ result.AddComponent(/datum/component/rename, source.name, result.desc)
SEND_SIGNAL(source, COMSIG_FISH_FINISH_GROWING, result)
diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm
index 08002615ad0..22592a039aa 100644
--- a/code/datums/components/food/edible.dm
+++ b/code/datums/components/food/edible.dm
@@ -98,6 +98,9 @@ Behavior that's still missing from this component that original food items had t
else if(isturf(parent) || isstructure(parent))
RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(TryToEatIt))
+ if(foodtypes & GORE)
+ ADD_TRAIT(parent, TRAIT_VALID_DNA_INFUSION, REF(src))
+
/datum/component/edible/UnregisterFromParent()
UnregisterSignal(parent, list(
COMSIG_ATOM_ATTACK_ANIMAL,
@@ -114,6 +117,9 @@ Behavior that's still missing from this component that original food items had t
qdel(GetComponent(/datum/component/connect_loc_behalf))
+ if(foodtypes & GORE)
+ REMOVE_TRAIT(parent, TRAIT_VALID_DNA_INFUSION, REF(src))
+
/datum/component/edible/InheritComponent(
datum/component/edible/old_comp,
i_am_original,
@@ -138,6 +144,9 @@ Behavior that's still missing from this component that original food items had t
tastes = old_comp.tastes
eatverbs = old_comp.eatverbs
+ if(foodtypes & GORE)
+ ADD_TRAIT(parent, TRAIT_VALID_DNA_INFUSION, REF(src))
+
// only edit if we're OG
if(!i_am_original)
return
diff --git a/code/datums/components/heart_eater.dm b/code/datums/components/heart_eater.dm
index 507090b9452..722c4b1636d 100644
--- a/code/datums/components/heart_eater.dm
+++ b/code/datums/components/heart_eater.dm
@@ -13,9 +13,9 @@
/datum/mutation/human/adaptation/thermal,
/datum/mutation/human/chameleon,
/datum/mutation/human/cryokinesis,
- /datum/mutation/human/cryokinesis/pyrokinesis,
+ /datum/mutation/human/pyrokinesis,
/datum/mutation/human/dwarfism,
- /datum/mutation/human/geladikinesis/ash,
+ /datum/mutation/human/cindikinesis,
/datum/mutation/human/insulated,
/datum/mutation/human/telekinesis,
/datum/mutation/human/telepathy,
diff --git a/code/datums/components/multiple_lives.dm b/code/datums/components/multiple_lives.dm
index 13c3282605b..ce2c4a5053f 100644
--- a/code/datums/components/multiple_lives.dm
+++ b/code/datums/components/multiple_lives.dm
@@ -46,7 +46,7 @@
/datum/component/multiple_lives/proc/on_examine(mob/living/source, mob/user, list/examine_list)
SIGNAL_HANDLER
if(isobserver(user) || source == user)
- examine_list += "[source.p_Theyve()] [lives_left] extra lives left."
+ examine_list += "[source.p_They()] [source.p_have()] [lives_left] extra lives left."
/datum/component/multiple_lives/InheritComponent(datum/component/multiple_lives/new_comp , lives_left)
src.lives_left += new_comp ? new_comp.lives_left : lives_left
diff --git a/code/datums/components/rename.dm b/code/datums/components/rename.dm
index ad98c861dde..31e1629f314 100644
--- a/code/datums/components/rename.dm
+++ b/code/datums/components/rename.dm
@@ -26,6 +26,7 @@
src.custom_name = custom_name
src.custom_desc = custom_desc
apply_rename()
+ ADD_TRAIT(parent, TRAIT_WAS_RENAMED, type)
/**
This proc will fire after the parent's name or desc is changed with a pen, which is trying to apply another rename component.
@@ -62,4 +63,5 @@
/datum/component/rename/Destroy()
revert_rename()
+ REMOVE_TRAIT(parent, TRAIT_WAS_RENAMED, type)
return ..()
diff --git a/code/datums/components/riding/riding.dm b/code/datums/components/riding/riding.dm
index cfdaf605878..e34e763ae83 100644
--- a/code/datums/components/riding/riding.dm
+++ b/code/datums/components/riding/riding.dm
@@ -195,7 +195,7 @@
if(diroffsets.len == 3)
buckled_mob.layer = diroffsets[3]
break dir_loop
- var/list/static/default_vehicle_pixel_offsets = list(TEXT_NORTH = list(0, 0), TEXT_SOUTH = list(0, 0), TEXT_EAST = list(0, 0), TEXT_WEST = list(0, 0))
+ var/static/list/default_vehicle_pixel_offsets = list(TEXT_NORTH = list(0, 0), TEXT_SOUTH = list(0, 0), TEXT_EAST = list(0, 0), TEXT_WEST = list(0, 0))
var/px = default_vehicle_pixel_offsets[AM_dir]
var/py = default_vehicle_pixel_offsets[AM_dir]
if(directional_vehicle_offsets[AM_dir])
diff --git a/code/datums/components/scope.dm b/code/datums/components/scope.dm
index 46388a15e26..626668a48e0 100644
--- a/code/datums/components/scope.dm
+++ b/code/datums/components/scope.dm
@@ -170,8 +170,10 @@
tracker_owner_ckey = user.ckey
if(user.is_holding(parent))
RegisterSignals(user, list(COMSIG_MOB_SWAP_HANDS, COMSIG_QDELETING), PROC_REF(stop_zooming))
+ RegisterSignal(user, COMSIG_ATOM_ENTERING, PROC_REF(on_enter_new_loc))
else // The item is likely worn (eg. mothic cap)
RegisterSignal(user, COMSIG_QDELETING, PROC_REF(stop_zooming))
+ RegisterSignal(user, COMSIG_ATOM_ENTERING, PROC_REF(on_enter_new_loc))
var/static/list/capacity_signals = list(
COMSIG_LIVING_STATUS_KNOCKDOWN,
COMSIG_LIVING_STATUS_PARALYZE,
@@ -182,6 +184,13 @@
ADD_TRAIT(user, TRAIT_USER_SCOPED, REF(src))
return TRUE
+///Stop scoping if the `newloc` we move to is not a turf
+/datum/component/scope/proc/on_enter_new_loc(datum/source, atom/newloc, atom/old_loc, list/atom/old_locs)
+ SIGNAL_HANDLER
+
+ if(!isturf(newloc))
+ stop_zooming(tracker.owner)
+
/datum/component/scope/proc/on_incapacitated(mob/living/source, amount = 0, ignore_canstun = FALSE)
SIGNAL_HANDLER
@@ -207,6 +216,7 @@
COMSIG_LIVING_STATUS_STUN,
COMSIG_MOB_SWAP_HANDS,
COMSIG_QDELETING,
+ COMSIG_ATOM_ENTERING,
))
REMOVE_TRAIT(user, TRAIT_USER_SCOPED, REF(src))
diff --git a/code/datums/components/tether.dm b/code/datums/components/tether.dm
index d5e00ddb398..1e8313fa53b 100644
--- a/code/datums/components/tether.dm
+++ b/code/datums/components/tether.dm
@@ -142,6 +142,8 @@
INVOKE_ASYNC(src, PROC_REF(process_beam_click), source, location, params, user)
/datum/component/tether/proc/process_beam_click(atom/source, atom/location, params, mob/user)
+ if (!location.can_interact(user))
+ return
var/list/modifiers = params2list(params)
if(LAZYACCESS(modifiers, CTRL_CLICK))
location.balloon_alert(user, "cutting the tether...")
diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm
index d64022d22b8..82b12d555ac 100644
--- a/code/datums/components/uplink.dm
+++ b/code/datums/components/uplink.dm
@@ -191,7 +191,8 @@
data["current_progression_scaling"] = SStraitor.current_progression_scaling
data["maximum_potential_objectives"] = uplink_handler.maximum_potential_objectives
- if(uplink_handler.has_objectives)
+
+ if(uplink_handler.primary_objectives)
var/list/primary_objectives = list()
for(var/datum/objective/task as anything in uplink_handler.primary_objectives)
var/list/task_data = list()
@@ -201,7 +202,9 @@
task_data["task_name"] = "DIRECTIVE [uppertext(GLOB.phonetic_alphabet[length(primary_objectives) + 1])]"
task_data["task_text"] = task.explanation_text
primary_objectives += list(task_data)
+ data["primary_objectives"] = primary_objectives
+ if(uplink_handler.has_objectives)
var/list/potential_objectives = list()
for(var/index in 1 to uplink_handler.potential_objectives.len)
var/datum/traitor_objective/objective = uplink_handler.potential_objectives[index]
@@ -216,7 +219,7 @@
objective_data["id"] = index
active_objectives += list(objective_data)
- data["primary_objectives"] = primary_objectives
+
data["potential_objectives"] = potential_objectives
data["active_objectives"] = active_objectives
data["completed_final_objective"] = uplink_handler.final_objective
diff --git a/code/datums/elements/organ_set_bonus.dm b/code/datums/elements/organ_set_bonus.dm
index 1c75bf7de14..082933e409e 100644
--- a/code/datums/elements/organ_set_bonus.dm
+++ b/code/datums/elements/organ_set_bonus.dm
@@ -59,6 +59,8 @@
var/list/bonus_traits = list()
/// Limb overlay to apply upon activation
var/limb_overlay
+ /// Color priority for limb overlay
+ var/color_overlay_priority
/datum/status_effect/organ_set_bonus/proc/set_organs(new_value)
organs = new_value
@@ -87,7 +89,7 @@
var/mob/living/carbon/carbon_owner = owner
for(var/obj/item/bodypart/limb in carbon_owner.bodyparts)
limb.add_bodypart_overlay(new limb_overlay())
- limb.variable_color = COLOR_WHITE
+ limb.add_color_override(COLOR_WHITE, color_overlay_priority)
carbon_owner.update_body()
return TRUE
@@ -105,5 +107,5 @@
var/overlay = locate(limb_overlay) in limb.bodypart_overlays
if(overlay)
limb.remove_bodypart_overlay(overlay)
- limb.variable_color = null
+ limb.remove_color_override(color_overlay_priority)
carbon_owner.update_body()
diff --git a/code/datums/elements/tool_renaming.dm b/code/datums/elements/tool_renaming.dm
index bd87f1d171c..729c5fd6a21 100644
--- a/code/datums/elements/tool_renaming.dm
+++ b/code/datums/elements/tool_renaming.dm
@@ -51,7 +51,6 @@
return
renamed_obj.AddComponent(/datum/component/rename, input, renamed_obj.desc)
to_chat(user, span_notice("You have successfully renamed \the [old_name] to [renamed_obj]."))
- ADD_TRAIT(renamed_obj, TRAIT_WAS_RENAMED, RENAMING_TOOL_LABEL_TRAIT)
renamed_obj.update_appearance(UPDATE_NAME)
if(OPTION_DESCRIPTION)
@@ -64,13 +63,11 @@
return
renamed_obj.AddComponent(/datum/component/rename, renamed_obj.name, input)
to_chat(user, span_notice("You have successfully changed [renamed_obj]'s description."))
- ADD_TRAIT(renamed_obj, TRAIT_WAS_RENAMED, RENAMING_TOOL_LABEL_TRAIT)
renamed_obj.update_appearance(UPDATE_DESC)
if(OPTION_RESET)
qdel(renamed_obj.GetComponent(/datum/component/rename))
to_chat(user, span_notice("You have successfully reset [renamed_obj]'s name and description."))
- REMOVE_TRAIT(renamed_obj, TRAIT_WAS_RENAMED, RENAMING_TOOL_LABEL_TRAIT)
renamed_obj.update_appearance(UPDATE_NAME | UPDATE_DESC)
#undef OPTION_RENAME
diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm
index 011ca29d8cc..6aa32258d3d 100644
--- a/code/datums/emotes.dm
+++ b/code/datums/emotes.dm
@@ -50,7 +50,7 @@
var/stat_allowed = CONSCIOUS
/// Sound to play when emote is called.
var/sound
- /// Used for the honk borg emote.
+ /// Does this emote vary in pitch?
var/vary = FALSE
/// Can only code call this event instead of the player.
var/only_forced_audio = FALSE
@@ -58,8 +58,10 @@
var/cooldown = 0.8 SECONDS
/// Does this message have a message that can be modified by the user?
var/can_message_change = FALSE
- /// How long is the cooldown on the audio of the emote, if it has one?
- var/audio_cooldown = 2 SECONDS
+ /// How long is the shared emote cooldown triggered by this emote?
+ var/general_emote_audio_cooldown = 2 SECONDS
+ /// How long is the specific emote cooldown triggered by this emote?
+ var/specific_emote_audio_cooldown = 5 SECONDS
/// Does this emote's sound ignore walls?
var/sound_wall_ignore = FALSE
@@ -100,10 +102,10 @@
user.log_message(msg, LOG_EMOTE)
var/tmp_sound = get_sound(user)
- if(tmp_sound && should_play_sound(user, intentional) && TIMER_COOLDOWN_FINISHED(user, "audible_emote_cooldown"))
- TIMER_COOLDOWN_START(user, "audible_emote_cooldown", audio_cooldown)
+ if(tmp_sound && should_play_sound(user, intentional) && TIMER_COOLDOWN_FINISHED(user, "general_emote_audio_cooldown") && TIMER_COOLDOWN_FINISHED(user, type))
+ TIMER_COOLDOWN_START(user, type, specific_emote_audio_cooldown)
+ TIMER_COOLDOWN_START(user, "general_emote_audio_cooldown", general_emote_audio_cooldown)
//playsound(source = user,soundin = tmp_sound,vol = 50, vary = vary, ignore_walls = sound_wall_ignore) // NOVA EDIT REMOVAL
- // NOVA EDIT ADDITION BEGIN
if(istype(src, /datum/emote/living/lewd))
playsound_if_pref(source = user, soundin = tmp_sound, vol = sound_volume, vary = vary, pref_to_check = /datum/preference/toggle/erp/sounds)
else
@@ -251,11 +253,14 @@
* Returns FALSE if the cooldown is not over, TRUE if the cooldown is over.
*/
/datum/emote/proc/check_cooldown(mob/user, intentional)
+
+ if(SEND_SIGNAL(user, COMSIG_MOB_EMOTE_COOLDOWN_CHECK, src.key, intentional) & COMPONENT_EMOTE_COOLDOWN_BYPASS)
+ intentional = FALSE
+
if(!intentional)
return TRUE
- //NOVA EDIT CHANGE BEGIN - EMOTES - GLOBAL COOLDOWN
- //if(user.emotes_used && user.emotes_used[src] + cooldown > world.time) - NOVA EDIT - ORIGINAL
- if(user.nextsoundemote > world.time)
+
+ if(user.nextsoundemote > world.time) // NOVA EDIT CHANGE - ORIGINAL: if(user.emotes_used && user.emotes_used[src] + cooldown > world.time)
var/datum/emote/default_emote = /datum/emote
if(cooldown > initial(default_emote.cooldown)) // only worry about longer-than-normal emotes
to_chat(user, span_danger("You must wait another [DisplayTimeText(user.nextsoundemote - world.time)] before using that emote."))
diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm
index dd5441476dc..93a8f186da6 100644
--- a/code/datums/mood_events/needs_events.dm
+++ b/code/datums/mood_events/needs_events.dm
@@ -76,6 +76,11 @@
mood_change = 4
timeout = 5 MINUTES
+/datum/mood_event/shower_hater
+ description = "I hate being wet!"
+ mood_change = -2
+ timeout = 3 MINUTES
+
/datum/mood_event/fresh_laundry
description = "There's nothing like the feeling of a freshly laundered jumpsuit."
mood_change = 2
diff --git a/code/datums/mutations/_combined.dm b/code/datums/mutations/_combined.dm
index 5b7b5d42901..399cbec53ed 100644
--- a/code/datums/mutations/_combined.dm
+++ b/code/datums/mutations/_combined.dm
@@ -27,11 +27,11 @@
/datum/generecipe/cindikinesis
required = "/datum/mutation/human/geladikinesis; /datum/mutation/human/fire_breath"
- result = /datum/mutation/human/geladikinesis/ash
+ result = /datum/mutation/human/cindikinesis
/datum/generecipe/pyrokinesis
required = "/datum/mutation/human/cryokinesis; /datum/mutation/human/fire_breath"
- result = /datum/mutation/human/cryokinesis/pyrokinesis
+ result = /datum/mutation/human/pyrokinesis
/datum/generecipe/thermal_adaptation
required = "/datum/mutation/human/adaptation/cold; /datum/mutation/human/adaptation/heat"
diff --git a/code/datums/mutations/cold.dm b/code/datums/mutations/cold.dm
index fd060bc8ca5..7916b413723 100644
--- a/code/datums/mutations/cold.dm
+++ b/code/datums/mutations/cold.dm
@@ -37,6 +37,7 @@
button_icon_state = "icebeam"
base_icon_state = "icebeam"
active_overlay_icon_state = "bg_spell_border_active_blue"
+ cast_range = 9
cooldown_time = 16 SECONDS
spell_requirements = NONE
antimagic_flags = NONE
diff --git a/code/datums/mutations/hot.dm b/code/datums/mutations/hot.dm
index 574bc95d1e4..74fa42e1edd 100644
--- a/code/datums/mutations/hot.dm
+++ b/code/datums/mutations/hot.dm
@@ -1,30 +1,48 @@
-/datum/mutation/human/geladikinesis/ash
+/datum/mutation/human/cindikinesis
name = "Cindikinesis"
desc = "Allows the user to concentrate nearby heat into a pile of ash. Wow. Very interesting."
+ quality = POSITIVE
text_gain_indication = span_notice("Your hand feels warm.")
+ instability = POSITIVE_INSTABILITY_MINOR
+ difficulty = 10
+ synchronizer_coeff = 1
locked = TRUE
- power_path = /datum/action/cooldown/spell/conjure_item/snow/ash
+ power_path = /datum/action/cooldown/spell/conjure_item/ash
-/datum/action/cooldown/spell/conjure_item/snow/ash
+/datum/action/cooldown/spell/conjure_item/ash
name = "Create Ash"
desc = "Concentrates pyrokinetic forces to create ash, useful for basically nothing."
button_icon_state = "ash"
+ cooldown_time = 5 SECONDS
+ spell_requirements = NONE
+
item_type = /obj/effect/decal/cleanable/ash
+ delete_old = FALSE
+ delete_on_failure = FALSE
-/datum/mutation/human/cryokinesis/pyrokinesis
+/datum/mutation/human/pyrokinesis
name = "Pyrokinesis"
desc = "Draws positive energy from the surroundings to heat surrounding temperatures at subject's will."
+ quality = POSITIVE
text_gain_indication = span_notice("Your hand feels hot!")
+ instability = POSITIVE_INSTABILITY_MODERATE
+ difficulty = 12
+ synchronizer_coeff = 1
+ energy_coeff = 1
locked = TRUE
- power_path = /datum/action/cooldown/spell/pointed/projectile/cryo/pyro
+ power_path = /datum/action/cooldown/spell/pointed/projectile/pyro
-/datum/action/cooldown/spell/pointed/projectile/cryo/pyro
+/datum/action/cooldown/spell/pointed/projectile/pyro
name = "Pyrobeam"
desc = "This power fires a heated bolt at a target."
button_icon_state = "firebeam"
base_icon_state = "firebeam"
+ active_overlay_icon_state = "bg_spell_border_active_blue"
+ cast_range = 9
cooldown_time = 30 SECONDS
+ spell_requirements = NONE
+ antimagic_flags = NONE
active_msg = "You focus your pyrokinesis!"
deactive_msg = "You cool down."
diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm
index 17575d6994a..50d14db29dd 100644
--- a/code/datums/mutations/hulk.dm
+++ b/code/datums/mutations/hulk.dm
@@ -32,7 +32,7 @@
if(..())
return
for(var/obj/item/bodypart/part as anything in owner.bodyparts)
- part.variable_color = bodypart_color
+ part.add_color_override(bodypart_color, LIMB_COLOR_HULK)
owner.update_body_parts()
owner.add_mood_event("hulk", /datum/mood_event/hulk)
RegisterSignal(owner, COMSIG_LIVING_EARLY_UNARMED_ATTACK, PROC_REF(on_attack_hand))
@@ -94,7 +94,7 @@
if(..())
return
for(var/obj/item/bodypart/part as anything in owner.bodyparts)
- part.variable_color = null
+ part.remove_color_override(LIMB_COLOR_HULK)
owner.update_body_parts()
owner.clear_mood_event("hulk")
UnregisterSignal(owner, COMSIG_LIVING_EARLY_UNARMED_ATTACK)
diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm
index b9367cfdcdc..f487ac56c13 100644
--- a/code/datums/mutations/speech.dm
+++ b/code/datums/mutations/speech.dm
@@ -79,7 +79,7 @@
// Used to replace the original later
var/og_word = editing_word
// Iterating through each replaceable-string in the .json
- var/list/static/super_wacky_words = strings("heckacious.json", "heckacious")
+ var/static/list/super_wacky_words = strings("heckacious.json", "heckacious")
// If the word doesn't get replaced we might do something with it later
var/word_edited
diff --git a/code/datums/quirks/positive_quirks/chip_connector.dm b/code/datums/quirks/positive_quirks/chip_connector.dm
new file mode 100644
index 00000000000..c12809bbfd2
--- /dev/null
+++ b/code/datums/quirks/positive_quirks/chip_connector.dm
@@ -0,0 +1,28 @@
+/datum/quirk/chip_connector
+ name = "Chip Connector"
+ desc = "You had a device installed that lets you manually add and remove skillchips! Just try not to get near any electromagnetic pulses."
+ icon = FA_ICON_PLUG
+ value = 4
+ gain_text = span_notice("You feel CONNECTED.")
+ lose_text = span_danger("You don't feel so CONNECTED anymore.")
+ medical_record_text = "Patient has a cybernetic implant on their back of their head that lets them install and remove skillchips at will. Gross."
+ mail_goodies = list()
+ var/obj/item/organ/internal/cyberimp/brain/connector/connector
+
+/datum/quirk/chip_connector/New()
+ . = ..()
+ mail_goodies = assoc_to_keys(GLOB.quirk_chipped_choice) + /datum/quirk/chipped::mail_goodies
+
+/datum/quirk/chip_connector/add_unique(client/client_source)
+ . = ..()
+ var/mob/living/carbon/carbon_holder = quirk_holder
+ if(!iscarbon(quirk_holder))
+ return
+ connector = new()
+ connector.Insert(carbon_holder, special = TRUE)
+
+/datum/quirk/chip_connector/post_add()
+ to_chat(quirk_holder, span_boldannounce(desc)) // efficiency is clever laziness
+
+/datum/quirk/chip_connector/remove()
+ qdel(connector)
diff --git a/code/datums/quirks/positive_quirks/chipped.dm b/code/datums/quirks/positive_quirks/chipped.dm
new file mode 100644
index 00000000000..30c226c1300
--- /dev/null
+++ b/code/datums/quirks/positive_quirks/chipped.dm
@@ -0,0 +1,57 @@
+/datum/quirk/chipped
+ name = "Chipped"
+ desc = "You got caught up in the skillchip craze a few years back, and had one of the commercially available chips implanted into yourself."
+ icon = FA_ICON_MICROCHIP
+ value = 2
+ gain_text = span_notice("The chip in your head itches a bit.")
+ lose_text = span_danger("You don't feel so chipped anymore..")
+ medical_record_text = "Patient explained how they got caught up in 'the skillchip chase' recently, and now the chip in they head itches every so often. Dumbass."
+ mail_goodies = list(
+ /obj/item/skillchip/matrix_taunt,
+ /obj/item/skillchip/big_pointer,
+ /obj/item/skillchip/acrobatics,
+ /obj/item/storage/pill_bottle/mannitol/braintumor,
+ )
+ /// Variable that holds the chip, used on removal.
+ var/obj/item/skillchip/installed_chip
+ var/datum/callback/itchy_timer
+
+/datum/quirk_constant_data/chipped
+ associated_typepath = /datum/quirk/chipped
+ customization_options = list(/datum/preference/choiced/chipped)
+
+/datum/quirk/chipped/add_to_holder(mob/living/new_holder, quirk_transfer, client/client_source)
+ var/obj/item/skillchip/chip_pref = GLOB.quirk_chipped_choice[client_source?.prefs?.read_preference(/datum/preference/choiced/chipped)]
+
+ if(!chip_pref)
+ return ..()
+
+ gain_text = span_notice("The [chip_pref] in your head itches a bit.")
+ lose_text = span_notice("Your head stops itching so much.")
+ return ..()
+
+/datum/quirk/chipped/add_unique(client/client_source)
+
+ var/preferred_chip = GLOB.quirk_chipped_choice[client_source?.prefs?.read_preference(/datum/preference/choiced/chipped)]
+ if(isnull(preferred_chip)) //Client is gone or they chose a random chip
+ preferred_chip = GLOB.quirk_chipped_choice[pick(GLOB.quirk_chipped_choice)]
+
+ var/mob/living/carbon/quirk_holder_carbon = quirk_holder
+ if(iscarbon(quirk_holder))
+ installed_chip = new preferred_chip()
+ quirk_holder_carbon.implant_skillchip(installed_chip, force = TRUE)
+ installed_chip.try_activate_skillchip(silent = FALSE, force = TRUE)
+
+ var/obj/item/organ/internal/brain/itchy_brain = quirk_holder.get_organ_by_type(ORGAN_SLOT_BRAIN)
+ itchy_timer = addtimer(CALLBACK(src, PROC_REF(cause_itchy), itchy_brain), rand(5 SECONDS, 10 MINUTES)) // they get The Itch from a poor quality install every so often
+
+/datum/quirk/chipped/remove()
+ qdel(installed_chip)
+ deltimer(itchy_timer)
+ . = ..()
+
+/datum/quirk/chipped/proc/cause_itchy(obj/item/organ/internal/brain/itchy_brain)
+
+ itchy_brain.apply_organ_damage(rand(1, 5), maximum = itchy_brain.maxHealth * 0.3)
+ to_chat(itchy_brain.owner, span_warning("Your [itchy_brain] itches."))
+ itchy_timer = addtimer(CALLBACK(itchy_brain, PROC_REF(cause_itchy)), rand(5 SECONDS, 10 MINUTES)) // it will never end
diff --git a/code/datums/ruins/icemoon.dm b/code/datums/ruins/icemoon.dm
index 1209c7cba0b..559907980e2 100644
--- a/code/datums/ruins/icemoon.dm
+++ b/code/datums/ruins/icemoon.dm
@@ -166,6 +166,12 @@
description = "This is where all of your paychecks went. Signed, the management."
suffix = "icemoon_underground_mailroom.dmm"
+/datum/map_template/ruin/icemoon/underground/biodome
+ name = "Ice-Ruin Syndicate Bio-Dome"
+ id = "biodome"
+ description = "Unchecked experimention gone awry."
+ suffix = "icemoon_underground_syndidome.dmm"
+
/datum/map_template/ruin/icemoon/underground/frozen_comms
name = "Ice-Ruin Frozen Communicatons Outpost"
id = "frozen_comms"
diff --git a/code/datums/station_traits/positive_traits.dm b/code/datums/station_traits/positive_traits.dm
index a963803dd76..8e3c7e55616 100644
--- a/code/datums/station_traits/positive_traits.dm
+++ b/code/datums/station_traits/positive_traits.dm
@@ -272,7 +272,7 @@
/datum/job/clown = /obj/item/organ/internal/cyberimp/brain/anti_stun, //HONK!
/datum/job/cook = /obj/item/organ/internal/cyberimp/chest/nutriment/plus,
/datum/job/coroner = /obj/item/organ/internal/tongue/bone, //hes got a bone to pick with you
- /datum/job/curator = /obj/item/organ/internal/eyes/robotic/glow,
+ /datum/job/curator = /obj/item/organ/internal/cyberimp/brain/connector,
/datum/job/detective = /obj/item/organ/internal/lungs/cybernetic/tier3,
/datum/job/doctor = /obj/item/organ/internal/cyberimp/arm/surgery,
/datum/job/geneticist = /obj/item/organ/internal/fly, //we don't care about implants, we have cancer.
diff --git a/code/datums/status_effects/debuffs/cyborg.dm b/code/datums/status_effects/debuffs/cyborg.dm
index 0f95b494197..30cea1af745 100644
--- a/code/datums/status_effects/debuffs/cyborg.dm
+++ b/code/datums/status_effects/debuffs/cyborg.dm
@@ -1,22 +1,31 @@
-/// Reduce a cyborg's speed when you throw things at it
-/datum/status_effect/borg_throw_slow
- id = "borg_throw_slowdown"
- alert_type = /atom/movable/screen/alert/status_effect/borg_throw_slow
+/// Slows down a cyborg for a short time.
+/datum/status_effect/borg_slow
+ id = "borg_slowdown"
+ alert_type = null
duration = 3 SECONDS
- status_type = STATUS_EFFECT_REPLACE
+ status_type = STATUS_EFFECT_REFRESH
+ remove_on_fullheal = TRUE
+ heal_flag_necessary = HEAL_CC_STATUS
+ /// Amount of slowdown being applied
+ var/slowdown = 1
-/datum/status_effect/borg_throw_slow/on_apply()
- . = ..()
- owner.add_movespeed_modifier(/datum/movespeed_modifier/borg_throw, update = TRUE)
+/datum/status_effect/borg_slow/on_creation(mob/living/new_owner, slowdown = 1)
+ src.slowdown = slowdown
+ return ..()
-/datum/status_effect/borg_throw_slow/on_remove()
- . = ..()
- owner.remove_movespeed_modifier(/datum/movespeed_modifier/borg_throw, update = TRUE)
+/datum/status_effect/borg_slow/on_apply()
+ owner.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/borg_slowdown, multiplicative_slowdown = slowdown)
+ return TRUE
-/atom/movable/screen/alert/status_effect/borg_throw_slow
- name = "Percussive Maintenance"
- desc = "A sudden impact has triggered your collision avoidance routines, reducing movement speed."
- icon_state = "weaken"
+/datum/status_effect/borg_slow/on_remove()
+ owner.remove_movespeed_modifier(/datum/movespeed_modifier/borg_slowdown)
+
+/datum/status_effect/borg_slow/refresh(mob/living/new_owner, slowdown = 1)
+ . = ..()
+ if(src.slowdown <= slowdown)
+ return
+ src.slowdown = slowdown
+ owner.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/borg_slowdown, multiplicative_slowdown = src.slowdown)
-/datum/movespeed_modifier/borg_throw
- multiplicative_slowdown = 0.9
+/datum/movespeed_modifier/borg_slowdown
+ variable = TRUE
diff --git a/code/datums/status_effects/debuffs/temperature_over_time.dm b/code/datums/status_effects/debuffs/temperature_over_time.dm
new file mode 100644
index 00000000000..cb1a73cc2ae
--- /dev/null
+++ b/code/datums/status_effects/debuffs/temperature_over_time.dm
@@ -0,0 +1,88 @@
+/**
+ * Affects temperature over time.
+ * I don't know how this wasn't a thing already.
+
+ * Incidentally: Thermal insulation is actually really bad for this, since it traps the temperature inside.
+ * If you're going to use this in a situation where it'd make sense for insulation to hinder its effects,
+ * you should to check for it manually.
+ */
+
+/datum/status_effect/temperature_over_time
+ id = "temp_ot"
+ alert_type = null // no alert. you do the sprite
+ remove_on_fullheal = TRUE
+ on_remove_on_mob_delete = TRUE
+ tick_interval = 1 SECONDS
+
+ duration = 60 SECONDS
+
+ /// How much to change temperature per second.
+ var/temperature_value = 10
+ /// How much to remove from above variable per second.
+ var/temperature_decay = 1
+ /// Cap of temperature, won't apply the effect above this.
+ var/capped_temperature_hot = BODYTEMP_HEAT_WARNING_2
+ /// Cap of temperature, won't apply the effect below this.
+ var/capped_temperature_cold = BODYTEMP_COLD_WARNING_2
+ /// Effect removed outright at this temperature or above.
+ var/removal_temperature_hot = BODYTEMP_HEAT_WARNING_3
+ /// Effect removed outright at this temperature or below.
+ var/removal_temperature_cold = BODYTEMP_COLD_WARNING_3
+
+/datum/status_effect/temperature_over_time/on_creation(mob/living/new_owner, duration = 10 SECONDS)
+ src.duration = duration
+ return ..()
+
+/datum/status_effect/temperature_over_time/on_apply()
+ . = ..()
+ if((HAS_TRAIT(owner, TRAIT_RESISTHEAT) && temperature_value > 1))
+ qdel(src) // git out
+ else if((HAS_TRAIT(owner, TRAIT_RESISTCOLD) && temperature_value < 1))
+ qdel(src) // git out
+
+/datum/status_effect/temperature_over_time/on_remove()
+ return ..()
+
+/datum/status_effect/temperature_over_time/get_examine_text()
+
+ if(temperature_value > 0)
+ return "[owner.p_They()] [owner.p_are()] sweating bullets!"
+
+ return "[owner.p_They()] [owner.p_are()] shivering!"
+
+/datum/status_effect/temperature_over_time/tick(seconds_between_ticks)
+ if((TRAIT_RESISTHEAT && temperature_value > 1) || (TRAIT_RESISTCOLD && temperature_value < 1))
+ qdel(src) // git out
+ return
+ temperaturetion(seconds_between_ticks)
+
+/datum/status_effect/temperature_over_time/proc/temperaturetion(seconds_per_tick)
+
+ // I feel like there should be an easier way to do this but I am a fool
+ if(capped_temperature_hot && owner.bodytemperature > capped_temperature_hot)
+ return
+ if(capped_temperature_cold && owner.bodytemperature < capped_temperature_cold)
+ return
+
+ owner.adjust_bodytemperature(temperature_value * seconds_per_tick) // note that this has no softcap reduction, unlike fire
+ temperature_value += temperature_decay
+ if(temperature_value == 0)
+ qdel(src)
+
+ if(removal_temperature_hot && owner.bodytemperature > removal_temperature_hot)
+ qdel(src)
+ return
+ if(removal_temperature_cold && owner.bodytemperature < removal_temperature_cold)
+ qdel(src)
+ return
+
+/datum/status_effect/temperature_over_time/chip_overheat
+ id = "temp_ot_chip"
+ temperature_value = 15
+ temperature_decay = -0.5
+ duration = 15 SECONDS
+ capped_temperature_hot = BODYTEMP_HEAT_WARNING_3
+ removal_temperature_cold = BODYTEMP_COLD_WARNING_1 // internal cooling...
+
+ removal_temperature_hot = null
+ capped_temperature_cold = null
diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm
index 8737cacede3..a6607cd7797 100644
--- a/code/datums/status_effects/neutral.dm
+++ b/code/datums/status_effects/neutral.dm
@@ -618,7 +618,7 @@
/atom/movable/screen/alert/status_effect/shower_regen/hater
name = "Washing"
desc = "Waaater... Fuck this WATER!!"
- icon_state = "shower_regen_hater"
+ icon_state = "shower_regen_catgirl"
/datum/status_effect/shower_regen
id = "shower_regen"
@@ -637,10 +637,13 @@
. = ..()
var/water_adaptation = HAS_TRAIT(owner, TRAIT_WATER_ADAPTATION)
var/heal_or_deal = HAS_TRAIT(owner, TRAIT_WATER_HATER) && !water_adaptation ? 1 : -1
+ var/healed = 0
if(water_adaptation) //very mild healing for those with the water adaptation trait (fish infusion)
- owner.adjustOxyLoss(-1 * seconds_between_ticks, updating_health = FALSE, required_biotype = MOB_ORGANIC)
- owner.adjustFireLoss(-0.6 * seconds_between_ticks, updating_health = FALSE, required_bodytype = BODYTYPE_ORGANIC)
- owner.adjustToxLoss(-0.6 * seconds_between_ticks, updating_health = FALSE, required_biotype = MOB_ORGANIC)
- owner.adjustBruteLoss(-0.6 * seconds_between_ticks, updating_health = FALSE, required_bodytype = BODYTYPE_ORGANIC)
+ healed += owner.adjustOxyLoss(-1.5 * seconds_between_ticks, updating_health = FALSE, required_biotype = MOB_ORGANIC)
+ healed += owner.adjustFireLoss(-1 * seconds_between_ticks, updating_health = FALSE, required_bodytype = BODYTYPE_ORGANIC)
+ healed += owner.adjustToxLoss(-1 * seconds_between_ticks, updating_health = FALSE, required_biotype = MOB_ORGANIC)
+ healed += owner.adjustBruteLoss(-1 * seconds_between_ticks, updating_health = FALSE, required_bodytype = BODYTYPE_ORGANIC)
heal_or_deal *= 1.5
- owner.adjustStaminaLoss(stamina_heal_per_tick * heal_or_deal * seconds_between_ticks)
+ healed += owner.adjustStaminaLoss(stamina_heal_per_tick * heal_or_deal * seconds_between_ticks, updating_stamina = FALSE)
+ if(healed)
+ owner.updatehealth()
diff --git a/code/game/area/areas/ruins/icemoon.dm b/code/game/area/areas/ruins/icemoon.dm
index fa87fa832a1..69d1e5abf4d 100644
--- a/code/game/area/areas/ruins/icemoon.dm
+++ b/code/game/area/areas/ruins/icemoon.dm
@@ -54,6 +54,16 @@
/area/ruin/pizzeria/kitchen
name = "\improper Moffuchi's Kitchen"
+
+/area/ruin/syndibiodome
+ name = "\improper Syndicate Biodome"
+ sound_environment = SOUND_AREA_SMALL_ENCLOSED
+ ambience_index = AMBIENCE_DANGER
+ area_flags = NOTELEPORT
+ mood_bonus = -10
+ mood_message = "What the fuck."
+
+
/area/ruin/planetengi
name = "\improper Engineering Outpost"
diff --git a/code/game/machinery/big_manipulator.dm b/code/game/machinery/big_manipulator.dm
index 8d2bde3e145..27c927697fc 100644
--- a/code/game/machinery/big_manipulator.dm
+++ b/code/game/machinery/big_manipulator.dm
@@ -1,3 +1,11 @@
+#define DROP_ITEM_MODE 1
+#define USE_ITEM_MODE 2
+#define THROW_ITEM_MODE 3
+
+#define TAKE_ITEMS 1
+#define TAKE_CLOSETS 2
+#define TAKE_HUMANS 3
+
/// Manipulator Core. Main part of the mechanism that carries out the entire process.
/obj/machinery/big_manipulator
name = "Big Manipulator"
@@ -24,10 +32,36 @@
var/turf/take_turf
/// Turf where we drop items.
var/turf/drop_turf
+ /// How will manipulator manipulate the object? drop it out by default.
+ var/manipulate_mode = DROP_ITEM_MODE
+ /// Priority settings depending on the manipulator mode that are available to this manipulator. Filled during Initialize.
+ var/list/priority_settings_for_drop = list()
+ var/list/priority_settings_for_use = list()
+ /// What priority settings are available to use at the moment.
+ /// We also use this list to sort priorities from ascending to descending.
+ var/list/allowed_priority_settings = list()
/// Obj inside manipulator.
var/datum/weakref/containment_obj
+ /// Obj used as filter
+ var/datum/weakref/filter_obj
/// Other manipulator component.
- var/obj/effect/manipulator_hand
+ var/obj/effect/big_manipulator_hand/manipulator_hand
+ /// Here some ui setting we can on/off:
+ /// If activated: after item was used manipulator will also drop it.
+ var/drop_item_after_use = TRUE
+ /// If acrivated: will select only 1 priority and will not continue to look at the priorities below.
+ var/only_highest_priority = FALSE
+ /// Var for throw item mode: changes the range from which the manipulator throws an object.
+ var/manipulator_throw_range = 1
+ /// Selected type that manipulator will take for take and drop loop.
+ var/atom/selected_type
+ /// Just a lazy number to change selected_type type in array.
+ var/selected_type_by_number = 1
+ /// List where we can set selected type. Taking items by Initialize.
+ var/list/allowed_types_to_pick_up = list(
+ /obj/item,
+ /obj/structure/closet,
+ )
/obj/machinery/big_manipulator/Initialize(mapload)
. = ..()
@@ -35,9 +69,19 @@
create_manipulator_hand()
RegisterSignal(manipulator_hand, COMSIG_QDELETING, PROC_REF(on_hand_qdel))
manipulator_lvl()
+ set_up_priority_settings()
+ selected_type = allowed_types_to_pick_up[selected_type_by_number]
if(on)
press_on(pressed_by = null)
+/// Init priority settings list for all modes.
+/obj/machinery/big_manipulator/proc/set_up_priority_settings()
+ for(var/datum/manipulator_priority/priority_for_drop as anything in subtypesof(/datum/manipulator_priority/for_drop))
+ priority_settings_for_drop += new priority_for_drop
+ for(var/datum/manipulator_priority/priority_for_use as anything in subtypesof(/datum/manipulator_priority/for_use))
+ priority_settings_for_use += new priority_for_use
+ update_priority_list()
+
/obj/machinery/big_manipulator/examine(mob/user)
. = ..()
. += "You can change direction with alternative wrench usage."
@@ -45,10 +89,12 @@
/obj/machinery/big_manipulator/Destroy(force)
. = ..()
qdel(manipulator_hand)
- if(isnull(containment_obj))
- return
- var/obj/obj_resolve = containment_obj?.resolve()
- obj_resolve?.forceMove(get_turf(obj_resolve))
+ if(!isnull(containment_obj))
+ var/obj/containment_resolve = containment_obj?.resolve()
+ containment_resolve?.forceMove(get_turf(containment_resolve))
+ if(!isnull(filter_obj))
+ var/obj/filter_resolve = filter_obj?.resolve()
+ filter_resolve?.forceMove(get_turf(filter_resolve))
/obj/machinery/big_manipulator/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change)
. = ..()
@@ -59,6 +105,15 @@
if(!manipulator_hand)
create_manipulator_hand()
+/obj/machinery/big_manipulator/emag_act(mob/user, obj/item/card/emag/emag_card)
+ . = ..()
+ if(obj_flags & EMAGGED)
+ return FALSE
+ balloon_alert(user, "overloaded functions installed")
+ obj_flags |= EMAGGED
+ allowed_types_to_pick_up += /mob/living
+ return TRUE
+
/obj/machinery/big_manipulator/wrench_act(mob/living/user, obj/item/tool)
. = ..()
default_unfasten_wrench(user, tool, time = 1 SECONDS)
@@ -175,7 +230,9 @@
on = !on
say("Output blocked")
return FALSE
- for(var/obj/item/take_item in take_turf.contents)
+ for(var/take_item in take_turf.contents)
+ if(!check_filter(take_item))
+ continue
try_take_thing(take_turf, take_item)
break
@@ -200,22 +257,121 @@
on = FALSE
say("Not enough energy!")
return
- if(isitem(target))
- start_work(target)
+ if(!check_filter(target))
+ return
+ start_work(target)
/// Second take and drop proc from [take and drop procs loop]:
/// Taking our item and start manipulator hand rotate animation.
/obj/machinery/big_manipulator/proc/start_work(atom/movable/target)
target.forceMove(src)
containment_obj = WEAKREF(target)
+ manipulator_hand.update_claw(containment_obj)
on_work = TRUE
do_rotate_animation(1)
- addtimer(CALLBACK(src, PROC_REF(drop_thing), target), working_speed)
-
-/// Third take and drop proc from [take and drop procs loop]:
-/// Drop our item and start manipulator hand backward animation.
+ check_next_move(target)
+
+/// 2.5 take and drop proc from [take and drop procs loop]:
+/// Choose what we will do with our item by checking the manipulate_mode.
+/obj/machinery/big_manipulator/proc/check_next_move(atom/movable/target)
+ switch(manipulate_mode)
+ if(DROP_ITEM_MODE)
+ addtimer(CALLBACK(src, PROC_REF(drop_thing), target), working_speed)
+ if(USE_ITEM_MODE)
+ addtimer(CALLBACK(src, PROC_REF(use_thing), target), working_speed)
+ if(THROW_ITEM_MODE)
+ addtimer(CALLBACK(src, PROC_REF(throw_thing), target), working_speed)
+
+/// 3.1 take and drop proc from [take and drop procs loop]:
+/// Drop our item.
+/// Checks the priority to drop item not only ground but also in the storage.
/obj/machinery/big_manipulator/proc/drop_thing(atom/movable/target)
- target.forceMove(drop_turf)
+ var/where_we_drop = search_type_by_priority_in_drop_turf(allowed_priority_settings)
+ if(isnull(where_we_drop))
+ addtimer(CALLBACK(src, PROC_REF(drop_thing), target), working_speed)
+ return
+ if((where_we_drop == drop_turf) || !isitem(target))
+ target.forceMove(drop_turf)
+ target.dir = get_dir(get_turf(target), get_turf(src))
+ else
+ target.forceMove(where_we_drop)
+ finish_manipulation()
+
+/// 3.2 take and drop proc from [take and drop procs loop]:
+/// Use our item on random atom in drop turf contents then
+/// Starts manipulator hand backward animation by defualt, but
+/// You can also set the setting in ui so that it does not return to its privious position and continues to use object in its hand.
+/// Checks the priority so that you can configure which object it will select: mob/obj/turf.
+/// Also can use filter to interact only with obj in filter.
+/obj/machinery/big_manipulator/proc/use_thing(atom/movable/target)
+ var/obj/obj_resolve = containment_obj?.resolve()
+ if(isnull(obj_resolve))
+ finish_manipulation()
+ return
+ /// If we forceMoved from manipulator we are free now.
+ if(obj_resolve.loc != src)
+ finish_manipulation()
+ return
+ if(!isitem(target))
+ target.forceMove(drop_turf) /// We use only items
+ target.dir = get_dir(get_turf(target), get_turf(src))
+ finish_manipulation()
+ return
+ var/obj/item/im_item = target
+ var/atom/type_to_use = search_type_by_priority_in_drop_turf(allowed_priority_settings)
+ if(isnull(type_to_use))
+ check_end_of_use(im_item, target, item_was_used = FALSE)
+ return
+ var/mob/living/carbon/human/dummy/living_manipulator_lmfao = create_abstract_living()
+ living_manipulator_lmfao.put_in_active_hand(im_item)
+ if(!type_to_use.attackby(im_item, living_manipulator_lmfao))
+ im_item.melee_attack_chain(living_manipulator_lmfao, type_to_use)
+ do_attack_animation(drop_turf)
+ manipulator_hand.do_attack_animation(drop_turf)
+ if(LAZYLEN(living_manipulator_lmfao.do_afters))
+ RegisterSignal(living_manipulator_lmfao, COMSIG_DO_AFTER_ENDED, PROC_REF(manipulator_finish_do_after))
+ else
+ im_item.forceMove(src)
+ qdel(living_manipulator_lmfao)
+ check_end_of_use(im_item, item_was_used = TRUE)
+
+/// Wait whan manipulator finish do_after and kill em.
+/obj/machinery/big_manipulator/proc/manipulator_finish_do_after(mob/living/carbon/human/dummy/abstract_manipulator)
+ SIGNAL_HANDLER
+
+ var/obj/item/my_item = abstract_manipulator.get_active_held_item()
+ my_item.forceMove(src)
+ qdel(abstract_manipulator)
+
+/// Check what we gonna do next with our item. Drop it or use again.
+/obj/machinery/big_manipulator/proc/check_end_of_use(obj/item/my_item, item_was_used)
+ if(drop_item_after_use && item_was_used)
+ my_item.forceMove(drop_turf)
+ my_item.dir = get_dir(get_turf(my_item), get_turf(src))
+ finish_manipulation()
+ return
+ addtimer(CALLBACK(src, PROC_REF(use_thing), my_item), working_speed)
+
+/// 3.3 take and drop proc from [take and drop procs loop]:
+/// Throw item away!!!
+/obj/machinery/big_manipulator/proc/throw_thing(atom/movable/target)
+ if(!(isitem(target) || isliving(target)))
+ target.forceMove(drop_turf)
+ target.dir = get_dir(get_turf(target), get_turf(src))
+ finish_manipulation() /// We throw only items and living mobs
+ return
+ var/obj/item/im_item = target
+ im_item.forceMove(drop_turf)
+ im_item.throw_at(get_edge_target_turf(get_turf(src), drop_here), manipulator_throw_range - 1, 2)
+ src.do_attack_animation(drop_turf)
+ manipulator_hand.do_attack_animation(drop_turf)
+ finish_manipulation()
+
+/// End of thirds take and drop proc from [take and drop procs loop]:
+/// Starts manipulator hand backward animation.
+/obj/machinery/big_manipulator/proc/finish_manipulation()
+ containment_obj = null
+ manipulator_hand.update_claw(null)
do_rotate_animation(0)
addtimer(CALLBACK(src, PROC_REF(end_work)), working_speed)
@@ -234,6 +390,68 @@
/obj/machinery/big_manipulator/proc/finish_rotate_animation(backward)
animate(manipulator_hand, transform = matrix(180 * backward, MATRIX_ROTATE), working_speed*0.5)
+/obj/machinery/big_manipulator/proc/check_filter(obj/item/what_item)
+ var/filtered_obj = filter_obj?.resolve()
+ if(!istype(what_item, selected_type))
+ return
+ /// We use filter only on items. closets, humans and etc don't need filter check.
+ if(istype(what_item, /obj/item))
+ if((filtered_obj && !istype(what_item, filtered_obj)))
+ return FALSE
+ return TRUE
+
+/// Create dummy to force him use our item and then delete him.
+/obj/machinery/big_manipulator/proc/create_abstract_living()
+ var/mob/living/carbon/human/dummy/abstract_living = new /mob/living/carbon/human/dummy(get_turf(src))
+ abstract_living.alpha = 0
+ abstract_living.mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ ADD_TRAIT(abstract_living, TRAIT_UNDENSE, INNATE_TRAIT)
+ abstract_living.move_resist = INFINITY
+ abstract_living.invisibility = INVISIBILITY_ABSTRACT
+ abstract_living.real_name = abstract_living.name = name
+ abstract_living.mind_initialize()
+ return abstract_living
+
+/// Proc called when we changing item interaction mode.
+/obj/machinery/big_manipulator/proc/change_mode()
+ manipulate_mode++
+ if(manipulate_mode > THROW_ITEM_MODE)
+ manipulate_mode = DROP_ITEM_MODE
+ update_priority_list()
+ is_work_check()
+
+/// Update priority list in ui. Creating new list and sort it by priority number.
+/obj/machinery/big_manipulator/proc/update_priority_list()
+ allowed_priority_settings = list()
+ var/list/priority_mode_list
+ if(manipulate_mode == DROP_ITEM_MODE)
+ priority_mode_list = priority_settings_for_drop.Copy()
+ if(manipulate_mode == USE_ITEM_MODE)
+ priority_mode_list = priority_settings_for_use.Copy()
+ if(isnull(priority_mode_list))
+ return
+ for(var/we_need_increasing in 1 to length(priority_mode_list))
+ for(var/datum/manipulator_priority/what_priority in priority_mode_list)
+ if(what_priority.number != we_need_increasing)
+ continue
+ allowed_priority_settings += what_priority
+
+/// Proc thet return item by type in priority list. Selects item and increasing priority number if don't found req type.
+/obj/machinery/big_manipulator/proc/search_type_by_priority_in_drop_turf(list/priority_list)
+ var/lazy_counter = 1
+ for(var/datum/manipulator_priority/take_type in priority_list)
+ /// If we set only_highest_priority on TRUE we don't go to priority below.
+ if(lazy_counter > 1 && only_highest_priority)
+ return null
+ /// If we need turf we don't check turf.contents and just return drop_turf.
+ if(take_type.what_type == /turf)
+ return drop_turf
+ lazy_counter++
+ for(var/type_in_priority in drop_turf.contents)
+ if(!istype(type_in_priority, take_type.what_type))
+ continue
+ return type_in_priority
+
/// Proc call when we press on/off button
/obj/machinery/big_manipulator/proc/press_on(pressed_by)
if(pressed_by)
@@ -257,7 +475,29 @@
/obj/machinery/big_manipulator/ui_data(mob/user)
var/list/data = list()
+ var/mode
+ switch(manipulate_mode)
+ if(DROP_ITEM_MODE)
+ mode = "Drop"
+ if(USE_ITEM_MODE)
+ mode = "Use"
+ if(THROW_ITEM_MODE)
+ mode = "Throw"
data["active"] = on
+ data["item_as_filter"] = filter_obj?.resolve()
+ data["selected_type"] = selected_type.name
+ data["manipulate_mode"] = mode
+ data["drop_after_use"] = drop_item_after_use
+ data["highest_priority"] = only_highest_priority
+ data["throw_range"] = manipulator_throw_range
+ var/list/priority_list = list()
+ data["settings_list"] = list()
+ for(var/datum/manipulator_priority/allowed_setting as anything in allowed_priority_settings)
+ var/list/priority_data = list()
+ priority_data["name"] = allowed_setting.name
+ priority_data["priority_width"] = allowed_setting.number
+ priority_list += list(priority_data)
+ data["settings_list"] = priority_list
return data
/obj/machinery/big_manipulator/ui_act(action, params, datum/tgui/ui)
@@ -268,6 +508,71 @@
if("on")
press_on(pressed_by = TRUE)
return TRUE
+ if("drop")
+ if(isnull(containment_obj))
+ return
+ var/obj/obj_resolve = containment_obj?.resolve()
+ obj_resolve?.forceMove(get_turf(obj_resolve))
+ finish_manipulation()
+ return TRUE
+ if("change_take_item_type")
+ selected_type_by_number++
+ if(selected_type_by_number > allowed_types_to_pick_up.len)
+ selected_type_by_number = 1
+ selected_type = allowed_types_to_pick_up[selected_type_by_number]
+ is_work_check()
+ return TRUE
+ if("change_mode")
+ change_mode()
+ return TRUE
+ if("add_filter")
+ var/mob/living/living_user = ui.user
+ if(!isliving(living_user))
+ return FALSE
+ var/obj/give_obj_back = filter_obj?.resolve()
+ if(give_obj_back)
+ give_obj_back.forceMove(get_turf(src))
+ filter_obj = null
+ is_work_check()
+ to_chat(living_user, span_warning("Filter removed"))
+ return TRUE
+ var/obj/item/get_active_held_item = living_user.get_active_held_item()
+ if(isnull(get_active_held_item))
+ to_chat(living_user, span_warning("You need item in hand to put it as filter"))
+ return FALSE
+ filter_obj = WEAKREF(get_active_held_item)
+ get_active_held_item.forceMove(src)
+ is_work_check()
+ return TRUE
+ if("drop_use_change")
+ drop_item_after_use = !drop_item_after_use
+ return TRUE
+ if("highest_priority_change")
+ only_highest_priority = !only_highest_priority
+ return TRUE
+ if("change_priority")
+ var/new_priority_number = params["priority"]
+ for(var/datum/manipulator_priority/new_order as anything in allowed_priority_settings)
+ if(new_order.number != new_priority_number)
+ continue
+ new_order.number--
+ check_similarities(new_order.number)
+ break
+ update_priority_list()
+ return TRUE
+ if("change_throw_range")
+ manipulator_throw_range++
+ if(manipulator_throw_range > 7)
+ manipulator_throw_range = 1
+ return TRUE
+
+/// Using on change_priority: looks for a setting with the same number that we set earlier and reduce it.
+/obj/machinery/big_manipulator/proc/check_similarities(number_we_minus)
+ for(var/datum/manipulator_priority/similarities as anything in allowed_priority_settings)
+ if(similarities.number != number_we_minus)
+ continue
+ similarities.number++
+ break
/// Manipulator hand. Effect we animate to show that the manipulator is working and moving something.
/obj/effect/big_manipulator_hand
@@ -276,7 +581,91 @@
icon = 'icons/obj/machines/big_manipulator_parts/big_manipulator_hand.dmi'
icon_state = "hand"
layer = LOW_ITEM_LAYER
+ appearance_flags = KEEP_TOGETHER | LONG_GLIDE | TILE_BOUND | PIXEL_SCALE
anchored = TRUE
greyscale_config = /datum/greyscale_config/manipulator_hand
pixel_x = -32
pixel_y = -32
+ /// We get item from big manipulator and takes its icon to create overlay.
+ var/datum/weakref/item_in_my_claw
+ /// Var to icon that used as overlay on manipulator claw to show what item it grabs.
+ var/mutable_appearance/icon_overlay
+
+/obj/effect/big_manipulator_hand/update_overlays()
+ . = ..()
+ if(isnull(item_in_my_claw))
+ icon_overlay = null
+ return
+ var/atom/movable/item_data = item_in_my_claw.resolve()
+ icon_overlay = mutable_appearance(item_data.icon, item_data.icon_state, item_data.layer, src, item_data.appearance_flags)
+ icon_overlay.color = item_data.color
+ icon_overlay.appearance = item_data.appearance
+ icon_overlay.pixel_x = 32 + calculate_item_offset(is_x = TRUE)
+ icon_overlay.pixel_y = 32 + calculate_item_offset(is_x = FALSE)
+ . += icon_overlay
+
+/// Updates item that is in the claw.
+/obj/effect/big_manipulator_hand/proc/update_claw(clawed_item)
+ item_in_my_claw = clawed_item
+ update_appearance()
+
+/// Calculate x and y coordinates so that the item icon appears in the claw and not somewhere in the corner.
+/obj/effect/big_manipulator_hand/proc/calculate_item_offset(is_x = TRUE)
+ var/offset
+ switch(dir)
+ if(NORTH)
+ offset = is_x ? 0 : 32
+ if(SOUTH)
+ offset = is_x ? 0 : -32
+ if(EAST)
+ offset = is_x ? 32 : 0
+ if(WEST)
+ offset = is_x ? -32 : 0
+ return offset
+
+/// Priorities that manipulator use to choose to work on item with type same with what_type.
+/datum/manipulator_priority
+ /// Name that user will see in ui.
+ var/name
+ /// What type carries this priority.
+ var/what_type
+ /**
+ * Place in the priority queue. The lower the number, the more important the priority.
+ * Doesn’t really matter what number you enter, user can set priority for themselves,
+ * BUT!!!
+ * Don't write the same numbers in the same parent otherwise something may go wrong.
+ */
+ var/number
+
+/datum/manipulator_priority/for_drop/on_floor
+ name = "Drop on Floor"
+ what_type = /turf
+ number = 1
+
+/datum/manipulator_priority/for_drop/in_storage
+ name = "Drop in Storage"
+ what_type = /obj/item/storage
+ number = 2
+
+/datum/manipulator_priority/for_use/on_living
+ name = "Use on Living"
+ what_type = /mob/living
+ number = 1
+
+/datum/manipulator_priority/for_use/on_structure
+ name = "Use on Structure"
+ what_type = /obj/structure
+ number = 2
+
+/datum/manipulator_priority/for_use/on_machinery
+ name = "Use on Machinery"
+ what_type = /obj/machinery
+ number = 3
+
+#undef DROP_ITEM_MODE
+#undef USE_ITEM_MODE
+#undef THROW_ITEM_MODE
+
+#undef TAKE_ITEMS
+#undef TAKE_CLOSETS
+#undef TAKE_HUMANS
diff --git a/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm b/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm
index c8cfa12f9ab..a91a34b46f2 100644
--- a/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm
+++ b/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm
@@ -46,3 +46,9 @@
item_path = /obj/item/stack/spacecash/c1000
desc = "A stack of space cash worth 1000 credits."
cost_per_order = 2000
+
+/datum/orderable_item/consumables/rescue_hook
+ name = "Rescue Fishing Rod"
+ item_path = /obj/item/fishing_rod/rescue
+ desc = "For when your fellow miner has inevitably fallen into a chasm, and it's up to you to save them."
+ cost_per_order = 600
diff --git a/code/game/machinery/dna_infuser/dna_infuser.dm b/code/game/machinery/dna_infuser/dna_infuser.dm
index 961092c635b..ccc24d44f6e 100644
--- a/code/game/machinery/dna_infuser/dna_infuser.dm
+++ b/code/game/machinery/dna_infuser/dna_infuser.dm
@@ -210,7 +210,6 @@
/// Verify that the given infusion source/mob is a dead creature.
/obj/machinery/dna_infuser/proc/is_valid_infusion(atom/movable/target, mob/user)
- var/datum/component/edible/food_comp = IS_EDIBLE(target)
if(infusing_from)
balloon_alert(user, "empty the machine first!")
return FALSE
@@ -219,11 +218,8 @@
if(living_target.stat != DEAD)
balloon_alert(user, "only dead creatures!")
return FALSE
- else if(food_comp)
- if(!(food_comp.foodtypes & GORE))
- balloon_alert(user, "only creatures!")
- return FALSE
- else
+ else if(!HAS_TRAIT(target, TRAIT_VALID_DNA_INFUSION))
+ balloon_alert(user, "only creatures!")
return FALSE
return TRUE
diff --git a/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm b/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm
index 670abc2d87b..e93cffd5143 100644
--- a/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm
+++ b/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm
@@ -69,6 +69,30 @@
infusion_desc = "fluffy"
tier = DNA_MUTANT_TIER_ZERO
+/datum/infuser_entry/lizard
+ name = "Lizard"
+ infuse_mob_name = "lacertilia"
+ desc = "Turns out infusing most humanoids with lizard DNA creates features remarkably similar to those of lizardpeople. What a strange coincidence."
+ threshold_desc = DNA_INFUSION_NO_THRESHOLD
+ qualities = list(
+ "long tails",
+ "decorative horns",
+ "aesthetic snouts",
+ "not much honestly",
+ )
+ input_obj_or_mob = list(
+ /mob/living/basic/lizard,
+ )
+ output_organs = list(
+ /obj/item/organ/external/horns,
+ /obj/item/organ/external/frills,
+ /obj/item/organ/external/snout,
+ /obj/item/organ/external/tail/lizard,
+ /obj/item/organ/internal/tongue/lizard,
+ )
+ infusion_desc = "scaly"
+ tier = DNA_MUTANT_TIER_ZERO
+
/datum/infuser_entry/felinid
name = "Cat"
infuse_mob_name = "feline"
diff --git a/code/game/machinery/dna_infuser/organ_sets/carp_organs.dm b/code/game/machinery/dna_infuser/organ_sets/carp_organs.dm
index c551ce0c4e9..622cafaa7bf 100644
--- a/code/game/machinery/dna_infuser/organ_sets/carp_organs.dm
+++ b/code/game/machinery/dna_infuser/organ_sets/carp_organs.dm
@@ -11,6 +11,7 @@
bonus_deactivate_text = span_notice("Your DNA is once again mostly yours, and so fades your ability to space-swim...")
bonus_traits = list(TRAIT_SPACEWALK)
limb_overlay = /datum/bodypart_overlay/texture/carpskin
+ color_overlay_priority = LIMB_COLOR_CARP_INFUSION
///Carp lungs! You can breathe in space! Oh... you can't breathe on the station, you need low oxygen environments.
/// Inverts behavior of lungs. Bypasses suffocation due to space / lack of gas, but also allows Oxygen to suffocate.
diff --git a/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm b/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm
index 1dc16492fbc..0076d015464 100644
--- a/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm
+++ b/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm
@@ -218,8 +218,8 @@
icon_state = "gills"
safe_oxygen_min = 0 //We don't breathe this
- ///The required partial pressure of water_vapor for not drowing
- var/safe_water_level = 29
+ ///The required partial pressure of water_vapor for not suffocating.
+ var/safe_water_level = parent_type::safe_oxygen_min
/// Bodypart overlay applied to the chest where the lungs are in
var/datum/bodypart_overlay/simple/gills/gills
@@ -235,6 +235,7 @@
gills = new()
AddElement(/datum/element/noticable_organ, "%PRONOUN_Theyve a set of gills on %PRONOUN_their neck.", BODY_ZONE_PRECISE_MOUTH)
AddComponent(/datum/component/bubble_icon_override, "fish", BUBBLE_ICON_PRIORITY_ORGAN)
+ AddComponent(/datum/component/speechmod, replacements = strings("crustacean_replacement.json", "crustacean"))
/obj/item/organ/internal/lungs/fish/Destroy()
QDEL_NULL(gills)
@@ -296,7 +297,6 @@
name = "mutated semi-aquatic lungs"
desc = "DNA from an amphibious or semi-aquatic creature infused on a pair lungs. Enjoy breathing underwater without drowning outside water."
safe_oxygen_min = /obj/item/organ/internal/lungs::safe_oxygen_min
- safe_water_level = 19
has_gills = FALSE
/**
* If false, we don't breathe air since we've got water instead.
diff --git a/code/game/objects/effects/spawners/gibspawner.dm b/code/game/objects/effects/spawners/gibspawner.dm
index d05d5f03925..92343d91d21 100644
--- a/code/game/objects/effects/spawners/gibspawner.dm
+++ b/code/game/objects/effects/spawners/gibspawner.dm
@@ -71,8 +71,6 @@
/obj/effect/gibspawner/generic/animal
gib_mob_type = /mob/living/basic/pet
-
-
/obj/effect/gibspawner/human
gibtypes = list(/obj/effect/decal/cleanable/blood/gibs/up, /obj/effect/decal/cleanable/blood/gibs/down, /obj/effect/decal/cleanable/blood/gibs, /obj/effect/decal/cleanable/blood/gibs, /obj/effect/decal/cleanable/blood/gibs/body, /obj/effect/decal/cleanable/blood/gibs/limb, /obj/effect/decal/cleanable/blood/gibs/core)
gibamounts = list(1, 1, 1, 1, 1, 1, 1)
diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm
index b8153179f02..73ce50bc668 100644
--- a/code/game/objects/items/cards_ids.dm
+++ b/code/game/objects/items/cards_ids.dm
@@ -26,6 +26,9 @@
lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
+ pickup_sound = 'sound/items/handling/id_card/id_card_pickup1.ogg'
+ drop_sound = 'sound/items/handling/id_card/id_card_drop1.ogg'
+ sound_vary = TRUE
/// Cached icon that has been built for this card. Intended to be displayed in chat. Cardboards IDs and actual IDs use it.
var/icon/cached_flat_icon
@@ -1852,6 +1855,8 @@
var/scribbled_trim
///The colors for each of the above variables, for when overlays are updated.
var/details_colors = list(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK)
+ pickup_sound = 'sound/items/handling/materials/cardboard_pick_up.ogg'
+ drop_sound = 'sound/items/handling/materials/cardboard_drop.ogg'
/obj/item/card/cardboard/equipped(mob/user, slot, initial = FALSE)
. = ..()
diff --git a/code/game/objects/items/chainsaw.dm b/code/game/objects/items/chainsaw.dm
index 00ca25985bf..11b04240dd4 100644
--- a/code/game/objects/items/chainsaw.dm
+++ b/code/game/objects/items/chainsaw.dm
@@ -4,12 +4,11 @@
name = "chainsaw"
desc = "A versatile power tool. Useful for limbing trees and delimbing humans."
icon = 'icons/obj/weapons/chainsaw.dmi'
- icon_state = "chainsaw_off"
+ icon_state = "chainsaw"
lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi'
obj_flags = CONDUCTS_ELECTRICITY
force = 13
- var/force_on = 24
w_class = WEIGHT_CLASS_HUGE
throwforce = 13
throw_speed = 2
@@ -23,66 +22,28 @@
actions_types = list(/datum/action/item_action/startchainsaw)
tool_behaviour = TOOL_SAW
toolspeed = 1.5 //Turn it on first you dork
- var/on = FALSE
- ///The looping sound for our chainsaw when running
+ var/force_on = 24
+ /// The looping sound for our chainsaw when running
var/datum/looping_sound/chainsaw/chainsaw_loop
-
-/obj/item/chainsaw/apply_fantasy_bonuses(bonus)
- . = ..()
- force_on = modify_fantasy_variable("force_on", force_on, bonus)
- if(on)
- force = force_on
-
-/obj/item/chainsaw/remove_fantasy_bonuses(bonus)
- force_on = reset_fantasy_variable("force_on", force_on)
- if(on)
- force = force_on
- return ..()
+ /// How long it takes to behead someone with this chainsaw.
+ var/behead_time = 15 SECONDS
/obj/item/chainsaw/Initialize(mapload)
. = ..()
chainsaw_loop = new(src)
apply_components()
+ AddComponent( \
+ /datum/component/transforming, \
+ force_on = force_on, \
+ throwforce_on = force_on, \
+ throw_speed_on = throw_speed, \
+ sharpness_on = SHARP_EDGED, \
+ hitsound_on = 'sound/items/weapons/chainsawhit.ogg', \
+ w_class_on = w_class, \
+ )
-/obj/item/chainsaw/suicide_act(mob/living/carbon/user)
- if(on)
- user.visible_message(span_suicide("[user] begins to tear [user.p_their()] head off with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
- playsound(src, 'sound/items/weapons/chainsawhit.ogg', 100, TRUE)
- var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD)
- if(myhead)
- myhead.dismember()
- else
- user.visible_message(span_suicide("[user] smashes [src] into [user.p_their()] neck, destroying [user.p_their()] esophagus! It looks like [user.p_theyre()] trying to commit suicide!"))
- playsound(src, 'sound/items/weapons/genhit1.ogg', 100, TRUE)
- return BRUTELOSS
-
-/obj/item/chainsaw/attack_self(mob/user)
- on = !on
- to_chat(user, "As you pull the starting cord dangling from [src], [on ? "it begins to whirr." : "the chain stops moving."]")
- force = on ? force_on : initial(force)
- throwforce = on ? force_on : initial(force)
- icon_state = "chainsaw_[on ? "on" : "off"]"
- var/datum/component/butchering/butchering = src.GetComponent(/datum/component/butchering)
- butchering.butchering_enabled = on
-
- if(on)
- hitsound = 'sound/items/weapons/chainsawhit.ogg'
- chainsaw_loop.start()
- else
- hitsound = SFX_SWING_HIT
- chainsaw_loop.stop()
-
- toolspeed = on ? 0.5 : initial(toolspeed) //Turning it on halves the speed
- if(src == user.get_active_held_item()) //update inhands
- user.update_held_items()
- update_item_action_buttons()
+ RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform))
-/**
- * Handles adding components to the chainsaw. Added in Initialize()
- *
- * Applies components to the chainsaw. Added as a separate proc to allow for
- * variance between subtypes
- */
/obj/item/chainsaw/proc/apply_components()
AddComponent(/datum/component/butchering, \
speed = 3 SECONDS, \
@@ -91,15 +52,36 @@
butcher_sound = 'sound/items/weapons/chainsawhit.ogg', \
disabled = TRUE, \
)
- AddComponent(/datum/component/two_handed, require_twohands=TRUE)
+ AddComponent(/datum/component/two_handed, require_twohands = TRUE)
-/obj/item/chainsaw/doomslayer
- name = "THE GREAT COMMUNICATOR"
- desc = span_warning("VRRRRRRR!!!")
- armour_penetration = 100
- force_on = 30
+/obj/item/chainsaw/proc/on_transform(obj/item/source, mob/user, active)
+ SIGNAL_HANDLER
-/obj/item/chainsaw/doomslayer/attack(mob/living/target_mob, mob/living/user, params)
+ to_chat(user, span_notice("As you pull the starting cord dangling from [src], [active ? "it begins to whirr" : "the chain stops moving"]."))
+ var/datum/component/butchering/butchering = GetComponent(/datum/component/butchering)
+ butchering.butchering_enabled = active
+ if (active)
+ chainsaw_loop.start()
+ else
+ chainsaw_loop.stop()
+
+ toolspeed = active ? 0.5 : initial(toolspeed)
+ update_item_action_buttons()
+
+/obj/item/chainsaw/suicide_act(mob/living/carbon/user)
+ if(!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE))
+ user.visible_message(span_suicide("[user] smashes [src] into [user.p_their()] neck, destroying [user.p_their()] esophagus! It looks like [user.p_theyre()] trying to commit suicide!"))
+ playsound(src, 'sound/items/weapons/genhit1.ogg', 100, TRUE)
+ return BRUTELOSS
+
+ user.visible_message(span_suicide("[user] begins to tear [user.p_their()] head off with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
+ playsound(src, 'sound/items/weapons/chainsawhit.ogg', 100, TRUE)
+ var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD)
+ if(myhead)
+ myhead.dismember()
+ return BRUTELOSS
+
+/obj/item/chainsaw/attack(mob/living/target_mob, mob/living/user, params)
if (target_mob.stat != DEAD)
return ..()
@@ -113,7 +95,7 @@
playsound(user, 'sound/items/weapons/slice.ogg', vol = 80, vary = TRUE)
target_mob.balloon_alert(user, "cutting off head...")
- if (!do_after(user, 2 SECONDS, target_mob, extra_checks = CALLBACK(src, PROC_REF(has_same_head), target_mob, head)))
+ if (!do_after(user, behead_time, target_mob, extra_checks = CALLBACK(src, PROC_REF(has_same_head), target_mob, head)))
return TRUE
head.dismember(silent = FALSE)
@@ -121,6 +103,23 @@
return TRUE
+/obj/item/chainsaw/proc/has_same_head(mob/living/target_mob, obj/item/bodypart/head)
+ return target_mob.get_bodypart(BODY_ZONE_HEAD) == head
+
+/**
+ * Handles adding components to the chainsaw. Added in Initialize()
+ *
+ * Applies components to the chainsaw. Added as a separate proc to allow for
+ * variance between subtypes
+ */
+
+/obj/item/chainsaw/doomslayer
+ name = "THE GREAT COMMUNICATOR"
+ desc = span_warning("VRRRRRRR!!!")
+ armour_penetration = 100
+ force_on = 30
+ behead_time = 2 SECONDS
+
/obj/item/chainsaw/doomslayer/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE)
if(attack_type == PROJECTILE_ATTACK)
owner.visible_message(span_danger("Ranged attacks just make [owner] angrier!"))
@@ -128,9 +127,6 @@
return TRUE
return FALSE
-/obj/item/chainsaw/doomslayer/proc/has_same_head(mob/living/target_mob, obj/item/bodypart/head)
- return target_mob.get_bodypart(BODY_ZONE_HEAD) == head
-
/obj/item/chainsaw/mounted_chainsaw
name = "mounted chainsaw"
desc = "A chainsaw that has replaced your arm."
diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm
index 1cc0510393f..c86b86c1b5d 100644
--- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm
@@ -1759,7 +1759,7 @@
build_path = /obj/machinery/power/manufacturing/lathe
req_components = list(
/obj/item/stack/sheet/iron = 5,
- /datum/stock_part/servo = 1,
+ /datum/stock_part/matter_bin = 1,
)
/obj/item/circuitboard/machine/manucrusher
diff --git a/code/game/objects/items/devices/scanners/gas_analyzer.dm b/code/game/objects/items/devices/scanners/gas_analyzer.dm
index d5324b4df0d..9f42643a439 100644
--- a/code/game/objects/items/devices/scanners/gas_analyzer.dm
+++ b/code/game/objects/items/devices/scanners/gas_analyzer.dm
@@ -18,6 +18,8 @@
custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT * 0.3, /datum/material/glass=SMALL_MATERIAL_AMOUNT * 0.2)
grind_results = list(/datum/reagent/mercury = 5, /datum/reagent/iron = 5, /datum/reagent/silicon = 5)
interaction_flags_click = NEED_LITERACY|NEED_LIGHT|ALLOW_RESTING
+ pickup_sound = 'sound/items/handling/gas_analyzer/gas_analyzer_pickup.ogg'
+ drop_sound = 'sound/items/handling/gas_analyzer/gas_analyzer_drop.ogg'
/// Boolean whether this has a CD
var/cooldown = FALSE
/// The time in deciseconds
diff --git a/code/game/objects/items/kirby_plants/kirbyplants.dm b/code/game/objects/items/kirby_plants/kirbyplants.dm
index d493dafece3..bad39eb8b64 100644
--- a/code/game/objects/items/kirby_plants/kirbyplants.dm
+++ b/code/game/objects/items/kirby_plants/kirbyplants.dm
@@ -19,9 +19,7 @@
var/dead = FALSE
///If it's a special named plant, set this to true to prevent dead-name overriding.
var/custom_plant_name = FALSE
- var/list/static/random_plant_states
- /// Maximum icon state number - KEEP THIS UP TO DATE
- var/random_state_cap = 43 // NOVA EDIT ADDITION
+ var/static/list/random_plant_states
/obj/item/kirbyplants/Initialize(mapload)
. = ..()
@@ -67,22 +65,24 @@
/// Cycle basic plant visuals
/obj/item/kirbyplants/proc/change_visual()
- if(!random_plant_states)
- generate_states()
+ if(isnull(random_plant_states))
+ random_plant_states = generate_states()
var/current = random_plant_states.Find(icon_state)
var/next = WRAP(current+1,1,length(random_plant_states))
icon_state = random_plant_states[next]
/obj/item/kirbyplants/proc/generate_states()
- random_plant_states = list()
+ var/list/plant_states = list()
for(var/i in 1 to random_state_cap) //NOVA EDIT CHANGE - ORIGINAL: for(var/i in 1 to 24)
var/number
if(i < 10)
number = "0[i]"
else
number = "[i]"
- random_plant_states += "plant-[number]"
- random_plant_states += list("applebush", "monkeyplant") //NOVA EDIT CHANGE - ORIGINAL:random_plant_states += "applebush"
+ plant_states += "plant-[number]"
+ plant_states += list("applebush", "monkeyplant") //NOVA EDIT CHANGE - ORIGINAL: plant_states += "applebush"
+
+ return plant_states
/obj/item/kirbyplants/random
icon = 'icons/obj/fluff/flora/_flora.dmi'
@@ -90,8 +90,7 @@
/obj/item/kirbyplants/random/Initialize(mapload)
. = ..()
- //icon = 'icons/obj/flora/plants.dmi' // ORIGINAL
- icon = 'modular_nova/modules/aesthetics/plants/plants.dmi' //NOVA EDIT CHANGE
+ icon = 'modular_nova/modules/aesthetics/plants/plants.dmi' //NOVA EDIT CHANGE - ORIGINAL: icon = 'icons/obj/flora/plants.dmi'
randomize_base_icon_state()
//Handles randomizing the icon during initialize()
diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm
index 7c7f998251c..cec45a404ab 100644
--- a/code/game/objects/items/plushes.dm
+++ b/code/game/objects/items/plushes.dm
@@ -544,7 +544,7 @@
greyscale_config = /datum/greyscale_config/plush_spacelizard
// space lizards can't hit people with their tail, it's stuck in their suit
attack_verb_continuous = list("claws", "hisses", "bops")
- attack_verb_simple = list("claw", "hiss", "bops")
+ attack_verb_simple = list("claw", "hiss", "bop")
/obj/item/toy/plush/lizard_plushie/space/green
desc = "An adorable stuffed toy that resembles a very determined spacefaring green lizardperson. To infinity and beyond, little guy. This one fills you with nostalgia and soul."
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index d73c490ca4b..586e1461527 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -230,6 +230,8 @@
icon_state = "medical"
inhand_icon_state = "medical"
worn_icon_state = "medical"
+ drop_sound = 'sound/items/handling/toolbelt_drop.ogg'
+ pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg'
/obj/item/storage/belt/medical/Initialize(mapload)
. = ..()
@@ -497,6 +499,8 @@
icon_state = "soulstonebelt"
inhand_icon_state = "soulstonebelt"
worn_icon_state = "soulstonebelt"
+ drop_sound = 'sound/items/handling/toolbelt_drop.ogg'
+ pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg'
/obj/item/storage/belt/soulstone/Initialize(mapload)
. = ..()
@@ -632,6 +636,8 @@
icon_state = "grenadebeltnew"
inhand_icon_state = "security"
worn_icon_state = "grenadebeltnew"
+ drop_sound = 'sound/items/handling/toolbelt_drop.ogg'
+ pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg'
/obj/item/storage/belt/grenade/Initialize(mapload)
. = ..()
@@ -695,6 +701,8 @@
icon_state = "janibelt"
inhand_icon_state = "janibelt"
worn_icon_state = "janibelt"
+ drop_sound = 'sound/items/handling/toolbelt_drop.ogg'
+ pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg'
/obj/item/storage/belt/janitor/Initialize(mapload)
. = ..()
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index c9270b1f67e..b622a761c42 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -1815,6 +1815,6 @@ GLOBAL_LIST_EMPTY(intento_players)
icon = 'icons/obj/weapons/guns/magic.dmi'
slot_flags = ITEM_SLOT_BACK
attack_verb_continuous = list("smacks", "clubs", "wacks", "vendors")
- attack_verb_simple = list("smack", "club", "wacks", "vendor")
+ attack_verb_simple = list("smack", "club", "wack", "vendor")
w_class = WEIGHT_CLASS_SMALL
resistance_flags = FLAMMABLE
diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm
index 2bed9752f88..caa4b4e740e 100644
--- a/code/game/objects/structures/beds_chairs/chair.dm
+++ b/code/game/objects/structures/beds_chairs/chair.dm
@@ -17,13 +17,13 @@
var/buildstackamount = 1
var/item_chair = /obj/item/chair // if null it can't be picked up
///How much sitting on this chair influences fishing difficulty
- var/fishing_modifier = -3
+ var/fishing_modifier = -5
/obj/structure/chair/Initialize(mapload)
. = ..()
if(prob(0.2))
name = "tactical [name]"
- fishing_modifier -= 4
+ fishing_modifier -= 8
MakeRotate()
if(can_buckle && fishing_modifier)
AddComponent(/datum/component/adjust_fishing_difficulty, fishing_modifier)
@@ -143,7 +143,7 @@
buildstacktype = /obj/item/stack/sheet/mineral/wood
buildstackamount = 3
item_chair = /obj/item/chair/wood
- fishing_modifier = -4
+ fishing_modifier = -6
/obj/structure/chair/wood/narsie_act()
return
@@ -161,7 +161,7 @@
max_integrity = 70
buildstackamount = 2
item_chair = null
- fishing_modifier = -5
+ fishing_modifier = -7
// The mutable appearance used for the overlay over buckled mobs.
var/mutable_appearance/armrest
@@ -237,13 +237,13 @@
desc = "A luxurious chair, the many purple scales reflect the light in a most pleasing manner."
icon_state = "carp_chair"
buildstacktype = /obj/item/stack/sheet/animalhide/carp
- fishing_modifier = -10
+ fishing_modifier = -12
/obj/structure/chair/office
anchored = FALSE
buildstackamount = 5
item_chair = null
- fishing_modifier = -4
+ fishing_modifier = -6
icon_state = "officechair_dark"
/obj/structure/chair/office/Initialize(mapload)
@@ -257,10 +257,7 @@
/obj/structure/chair/office/tactical
name = "tactical swivel chair"
-
-/obj/structure/chair/office/tactical/Initialize(mapload)
- . = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -10)
+ fishing_modifier = -10
/obj/structure/chair/office/light
icon_state = "officechair_white"
@@ -463,7 +460,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0)
buildstacktype = /obj/item/stack/sheet/bronze
buildstackamount = 1
item_chair = null
- fishing_modifier = -12 //the pinnacle of Ratvarian technology.
+ fishing_modifier = -13 //the pinnacle of Ratvarian technology.
/// Total rotations made
var/turns = 0
@@ -503,7 +500,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0)
item_chair = null
obj_flags = parent_type::obj_flags | NO_DEBRIS_AFTER_DECONSTRUCTION
alpha = 0
- fishing_modifier = -20 //it only lives for 25 seconds, so we make them worth it.
+ fishing_modifier = -21 //it only lives for 25 seconds, so we make them worth it.
/obj/structure/chair/mime/wrench_act_secondary(mob/living/user, obj/item/weapon)
return NONE
@@ -525,7 +522,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0)
buildstacktype = /obj/item/stack/sheet/plastic
buildstackamount = 2
item_chair = /obj/item/chair/plastic
- fishing_modifier = -8
+ fishing_modifier = -10
/obj/structure/chair/plastic/post_buckle_mob(mob/living/Mob)
Mob.pixel_y += 2
diff --git a/code/game/objects/structures/beds_chairs/sofa.dm b/code/game/objects/structures/beds_chairs/sofa.dm
index 04bb0b1e25e..caee13863e1 100644
--- a/code/game/objects/structures/beds_chairs/sofa.dm
+++ b/code/game/objects/structures/beds_chairs/sofa.dm
@@ -19,7 +19,7 @@ path/corner/color_name {\
icon = 'icons/obj/chairs_wide.dmi'
buildstackamount = 1
item_chair = null
- fishing_modifier = -4
+ fishing_modifier = -6
var/mutable_appearance/armrest
/obj/structure/chair/sofa/Initialize(mapload)
diff --git a/code/game/objects/structures/crates_lockers/closets/fitness.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm
index 7b4f2d2ee2c..4e43ea2ce10 100644
--- a/code/game/objects/structures/crates_lockers/closets/fitness.dm
+++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm
@@ -50,7 +50,7 @@
new /obj/item/gun/energy/laser/redtag(src)
for(var/i in 1 to 3)
new /obj/item/clothing/suit/redtag(src)
- new /obj/item/clothing/head/helmet/redtaghelm(src)
+ new /obj/item/clothing/head/helmet/taghelm/red(src)
/obj/structure/closet/lasertag/blue
@@ -65,4 +65,4 @@
new /obj/item/gun/energy/laser/bluetag(src)
for(var/i in 1 to 3)
new /obj/item/clothing/suit/bluetag(src)
- new /obj/item/clothing/head/helmet/bluetaghelm(src)
+ new /obj/item/clothing/head/helmet/taghelm/blue(src)
diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm
index 34344415464..718f610957b 100644
--- a/code/game/objects/structures/shower.dm
+++ b/code/game/objects/structures/shower.dm
@@ -266,8 +266,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16))
return
var/mob/living/living_target = target
check_heat(living_target)
- living_target.add_mood_event("shower", /datum/mood_event/nice_shower)
living_target.apply_status_effect(/datum/status_effect/shower_regen)
+ if(!HAS_TRAIT(target, TRAIT_WATER_HATER) || HAS_TRAIT(target, TRAIT_WATER_ADAPTATION))
+ living_target.add_mood_event("shower", /datum/mood_event/nice_shower)
+ else
+ living_target.add_mood_event("shower", /datum/mood_event/shower_hater)
/**
* Toggle whether shower is actually on and outputting water.
diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm
index a30a59e45a2..11f4817b94c 100644
--- a/code/game/objects/structures/traps.dm
+++ b/code/game/objects/structures/traps.dm
@@ -12,7 +12,7 @@
var/charges = INFINITY
var/antimagic_flags = MAGIC_RESISTANCE
- var/list/static/ignore_typecache
+ var/static/list/ignore_typecache
var/list/mob/immune_minds = list()
var/sparks = TRUE
@@ -30,7 +30,7 @@
)
AddElement(/datum/element/connect_loc, loc_connections)
- if(!ignore_typecache)
+ if(isnull(ignore_typecache))
ignore_typecache = typecacheof(list(
/obj/effect,
/mob/dead,
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index d98c510d1af..e27e88db3f4 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -887,6 +887,32 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/tinted/frosted/spaw
rad_insulation = RAD_EXTREME_INSULATION
glass_material_datum = /datum/material/alloy/plastitaniumglass
+/obj/structure/window/reinforced/plasma/plastitanium/indestructible
+ name = "plastitanium window"
+ desc = "A durable looking window made of an alloy of of plasma and titanium."
+ icon = 'icons/obj/smooth_structures/plastitanium_window.dmi'
+ icon_state = "plastitanium_window-0"
+ base_icon_state = "plastitanium_window"
+ max_integrity = 1200
+ wtype = "shuttle"
+ fulltile = TRUE
+ flags_1 = PREVENT_CLICK_UNDER_1
+ obj_flags = CAN_BE_HIT
+ heat_resistance = 1600
+ armor_type = /datum/armor/plasma_plastitanium
+ smoothing_flags = SMOOTH_BITMASK
+ smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM
+ canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM
+ explosion_block = 3
+ damage_deflection = 21 //The same as reinforced plasma windows.3
+ glass_type = /obj/item/stack/sheet/plastitaniumglass
+ glass_amount = 2
+ rad_insulation = RAD_EXTREME_INSULATION
+ glass_material_datum = /datum/material/alloy/plastitaniumglass
+ name = "hardened shuttle window"
+ flags_1 = PREVENT_CLICK_UNDER_1
+ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
+
/datum/armor/plasma_plastitanium
melee = 95
bomb = 50
diff --git a/code/game/sound.dm b/code/game/sound.dm
index f77a2aebf35..23568b72bba 100644
--- a/code/game/sound.dm
+++ b/code/game/sound.dm
@@ -547,17 +547,17 @@
))
if(SFX_CAT_MEOW)
soundin = pick_weight(list(
- 'sound/creatures/cat/cat_meow1.ogg' = 33,
- 'sound/creatures/cat/cat_meow2.ogg' = 33,
- 'sound/creatures/cat/cat_meow3.ogg' = 33,
- 'sound/creatures/cat/oranges_meow1.ogg' = 1,
+ 'sound/mobs/non-humanoids/cat/cat_meow1.ogg' = 33,
+ 'sound/mobs/non-humanoids/cat/cat_meow2.ogg' = 33,
+ 'sound/mobs/non-humanoids/cat/cat_meow3.ogg' = 33,
+ 'sound/mobs/non-humanoids/cat/oranges_meow1.ogg' = 1,
))
if(SFX_CAT_PURR)
soundin = pick(
- 'sound/creatures/cat/cat_purr1.ogg',
- 'sound/creatures/cat/cat_purr2.ogg',
- 'sound/creatures/cat/cat_purr3.ogg',
- 'sound/creatures/cat/cat_purr4.ogg',
+ 'sound/mobs/non-humanoids/cat/cat_purr1.ogg',
+ 'sound/mobs/non-humanoids/cat/cat_purr2.ogg',
+ 'sound/mobs/non-humanoids/cat/cat_purr3.ogg',
+ 'sound/mobs/non-humanoids/cat/cat_purr4.ogg',
)
if(SFX_DEFAULT_LIQUID_SLOSH)
soundin = pick(
@@ -585,4 +585,15 @@
'sound/mobs/non-humanoids/pig/pig1.ogg',
'sound/mobs/non-humanoids/pig/pig2.ogg',
)
+ if(SFX_VISOR_DOWN)
+ soundin = pick(
+ 'sound/items/handling/helmet/visor_down1.ogg',
+ 'sound/items/handling/helmet/visor_down2.ogg',
+ 'sound/items/handling/helmet/visor_down3.ogg',
+ )
+ if(SFX_VISOR_UP)
+ soundin = pick(
+ 'sound/items/handling/helmet/visor_up1.ogg',
+ 'sound/items/handling/helmet/visor_up2.ogg',
+ )
return soundin
diff --git a/code/game/turfs/closed/indestructible.dm b/code/game/turfs/closed/indestructible.dm
index d3621345fad..693661ca872 100644
--- a/code/game/turfs/closed/indestructible.dm
+++ b/code/game/turfs/closed/indestructible.dm
@@ -142,6 +142,12 @@ NOVA EDIT REMOVAL END */
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_SYNDICATE_WALLS
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_SYNDICATE_WALLS
+/turf/closed/indestructible/syndicate/nodiagonal
+ icon = 'icons/turf/walls/plastitanium_wall.dmi'
+ icon_state = "map-shuttle_nd"
+ base_icon_state = "plastitanium_wall"
+ smoothing_flags = SMOOTH_BITMASK
+
/turf/closed/indestructible/riveted/uranium
icon = 'icons/turf/walls/uranium_wall.dmi'
icon_state = "uranium_wall-0"
diff --git a/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm b/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm
index 91107529721..9f6d10677d1 100644
--- a/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm
+++ b/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm
@@ -594,6 +594,10 @@ Congratulations! You are now trained for invasive xenobiology research!"}
icon_state = "alienhelmet"
inhand_icon_state = null
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
/obj/item/clothing/head/helmet/abductor/equipped(mob/living/user, slot)
. = ..()
diff --git a/code/modules/antagonists/clown_ops/clown_weapons.dm b/code/modules/antagonists/clown_ops/clown_weapons.dm
index bd2dfd4b0da..c801d3ce6f6 100644
--- a/code/modules/antagonists/clown_ops/clown_weapons.dm
+++ b/code/modules/antagonists/clown_ops/clown_weapons.dm
@@ -205,20 +205,44 @@
tastes = list("explosives" = 10)
food_reagents = list(/datum/reagent/consumable/nutriment/vitamin = 1)
+/obj/item/food/grown/banana/bombanana/Initialize(mapload)
+ . = ..()
+ RegisterSignal(src, COMSIG_FOOD_CONSUMED, PROC_REF(on_consumed))
+
+/// Log whenever someone eats this with an explicit message since it willspawn a live bomb.
+/obj/item/food/grown/banana/bombanana/proc/on_consumed(datum/source, mob/living/eater, mob/feeder)
+ SIGNAL_HANDLER
+ var/list/concatable = list("[key_name_and_tag(eater)] has eaten a bombanana!")
+ if(feeder != eater)
+ concatable += "This person was fed this by [key_name_and_tag(feeder)]."
+
+ concatable += "As a result of this, a bombanana peel will be spawned at [AREACOORD(src)]."
+
+ var/final_string = jointext(concatable, " ")
+ log_bomber(details = final_string) // sorta wacks out the traditional "log_bomber" format but it gets the point across better
+ return NONE
+
/obj/item/grown/bananapeel/bombanana
- desc = "A peel from a banana. Why is it beeping?"
+ desc = parent_type::desc + " Why is it beeping?"
seed = /obj/item/seeds/banana/bombanana
- var/det_time = 50
+ /// How long we have until we explode.
+ var/det_time = 5 SECONDS
+ /// Ref to the bomb we spawn when we explode.
var/obj/item/grenade/syndieminibomb/bomb
/obj/item/grown/bananapeel/bombanana/Initialize(mapload)
. = ..()
AddComponent(/datum/component/slippery, det_time)
bomb = new /obj/item/grenade/syndieminibomb(src)
+ bomb.name = "bombanana peel"
bomb.det_time = det_time
+
+ var/potential_user = null
if(iscarbon(loc))
to_chat(loc, span_danger("[src] begins to beep."))
- bomb.arm_grenade(loc, null, FALSE)
+ potential_user = loc // just for fingerprint diagnosis in explosion logging, the on_consumed proc will have provided the necessary context already
+
+ bomb.arm_grenade(potential_user, msg = FALSE)
/obj/item/grown/bananapeel/bombanana/Destroy()
. = ..()
diff --git a/code/modules/antagonists/heretic/heretic_knowledge.dm b/code/modules/antagonists/heretic/heretic_knowledge.dm
index 94ecc0f9d77..fcdb1f19458 100644
--- a/code/modules/antagonists/heretic/heretic_knowledge.dm
+++ b/code/modules/antagonists/heretic/heretic_knowledge.dm
@@ -303,7 +303,7 @@
var/datum/status_effect/eldritch/mark_type
/datum/heretic_knowledge/mark/on_gain(mob/user, datum/antagonist/heretic/our_heretic)
- RegisterSignal(user, COMSIG_HERETIC_MANSUS_GRASP_ATTACK, PROC_REF(on_mansus_grasp))
+ RegisterSignals(user, list(COMSIG_HERETIC_MANSUS_GRASP_ATTACK, COMSIG_LIONHUNTER_ON_HIT), PROC_REF(on_mansus_grasp))
RegisterSignal(user, COMSIG_HERETIC_BLADE_ATTACK, PROC_REF(on_eldritch_blade))
/datum/heretic_knowledge/mark/on_lose(mob/user, datum/antagonist/heretic/our_heretic)
@@ -327,6 +327,8 @@
/datum/heretic_knowledge/mark/proc/on_eldritch_blade(mob/living/source, mob/living/target, obj/item/melee/sickly_blade/blade)
SIGNAL_HANDLER
+ if(!isliving(target))
+ return
trigger_mark(source, target)
/**
diff --git a/code/modules/antagonists/heretic/items/heretic_armor.dm b/code/modules/antagonists/heretic/items/heretic_armor.dm
index 8375c3ae443..a07150919aa 100644
--- a/code/modules/antagonists/heretic/items/heretic_armor.dm
+++ b/code/modules/antagonists/heretic/items/heretic_armor.dm
@@ -20,7 +20,7 @@
inhand_icon_state = null
flags_inv = HIDESHOES|HIDEJUMPSUIT
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS
- allowed = list(/obj/item/melee/sickly_blade)
+ allowed = list(/obj/item/melee/sickly_blade, /obj/item/gun/ballistic/rifle/lionhunter)
hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/eldritch
// Slightly better than normal cult robes
armor_type = /datum/armor/cultrobes_eldritch
diff --git a/code/modules/antagonists/heretic/items/heretic_blades.dm b/code/modules/antagonists/heretic/items/heretic_blades.dm
index ab98e1b9e4c..6e0d3d7d186 100644
--- a/code/modules/antagonists/heretic/items/heretic_blades.dm
+++ b/code/modules/antagonists/heretic/items/heretic_blades.dm
@@ -66,13 +66,11 @@
qdel(src)
/obj/item/melee/sickly_blade/afterattack(atom/target, mob/user, click_parameters)
- if(isliving(target))
- SEND_SIGNAL(user, COMSIG_HERETIC_BLADE_ATTACK, target, src)
+ SEND_SIGNAL(user, COMSIG_HERETIC_BLADE_ATTACK, target, src)
/obj/item/melee/sickly_blade/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
- if(isliving(interacting_with))
- SEND_SIGNAL(user, COMSIG_HERETIC_RANGED_BLADE_ATTACK, interacting_with, src)
- return ITEM_INTERACT_BLOCKING
+ SEND_SIGNAL(user, COMSIG_HERETIC_RANGED_BLADE_ATTACK, interacting_with, src)
+ return ITEM_INTERACT_BLOCKING
// Path of Rust's blade
/obj/item/melee/sickly_blade/rust
@@ -135,8 +133,55 @@
desc = "A galliant blade, sundered and torn. \
Furiously, the blade cuts. Silver scars bind it forever to its dark purpose."
icon_state = "dark_blade"
+ base_icon_state = "dark_blade"
inhand_icon_state = "dark_blade"
after_use_message = "The Torn Champion hears your call..."
+ ///If our blade is currently infused with the mansus grasp
+ var/infused = FALSE
+
+/obj/item/melee/sickly_blade/dark/afterattack(atom/target, mob/user, click_parameters)
+ . = ..()
+ if(!infused || target == user || !isliving(target))
+ return
+ var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user)
+ var/mob/living/living_target = target
+ if(!heretic_datum)
+ return
+
+ //Apply our heretic mark
+ var/datum/heretic_knowledge/mark/blade_mark/mark_to_apply = heretic_datum.get_knowledge(/datum/heretic_knowledge/mark/blade_mark)
+ if(!mark_to_apply)
+ return
+ mark_to_apply.create_mark(user, living_target)
+
+ //Remove the infusion from any blades we own (and update their sprite)
+ for(var/obj/item/melee/sickly_blade/dark/to_infuse in user.get_all_contents_type(/obj/item/melee/sickly_blade/dark))
+ to_infuse.infused = FALSE
+ to_infuse.update_appearance(UPDATE_ICON)
+ user.update_held_items()
+
+ if(!check_behind(user, living_target))
+ return
+ // We're officially behind them, apply effects
+ living_target.AdjustParalyzed(1.5 SECONDS)
+ living_target.apply_damage(10, BRUTE, wound_bonus = CANT_WOUND)
+ living_target.balloon_alert(user, "backstab!")
+ playsound(living_target, 'sound/items/weapons/guillotine.ogg', 100, TRUE)
+
+/obj/item/melee/sickly_blade/dark/dropped(mob/user, silent)
+ . = ..()
+ if(infused)
+ infused = FALSE
+ update_appearance(UPDATE_ICON)
+
+/obj/item/melee/sickly_blade/dark/update_icon_state()
+ . = ..()
+ if(infused)
+ icon_state = base_icon_state + "_infused"
+ inhand_icon_state = base_icon_state + "_infused"
+ else
+ icon_state = base_icon_state
+ inhand_icon_state = base_icon_state
// Path of Cosmos's blade
/obj/item/melee/sickly_blade/cosmic
diff --git a/code/modules/antagonists/heretic/items/hunter_rifle.dm b/code/modules/antagonists/heretic/items/hunter_rifle.dm
index cb8636aed2b..92ed0d768b3 100644
--- a/code/modules/antagonists/heretic/items/hunter_rifle.dm
+++ b/code/modules/antagonists/heretic/items/hunter_rifle.dm
@@ -24,6 +24,7 @@
name = "lionhunter rifle internal magazine"
ammo_type = /obj/item/ammo_casing/strilka310/lionhunter
caliber = CALIBER_STRILKA310
+ armour_penetration = 100
max_ammo = 3
multiload = TRUE
@@ -32,7 +33,7 @@
/// Whether we're currently aiming this casing at something
var/currently_aiming = FALSE
/// How many seconds it takes to aim per tile of distance between the target
- var/seconds_per_distance = 0.5 SECONDS
+ var/seconds_per_distance = 0.2 SECONDS
/// The minimum distance required to gain a damage bonus from aiming
var/min_distance = 4
@@ -115,14 +116,13 @@
// BUT, if we're at a decent range and the target's a living mob,
// the projectile's been channel fired. It has full effects and homes in.
if(distance > min_distance && isliving(target) && iscarbon(user))
- loaded_projectile.damage *= 2
loaded_projectile.stamina *= 2
loaded_projectile.knockdown = 0.5 SECONDS
loaded_projectile.stutter = 6 SECONDS
loaded_projectile.projectile_phasing = PASSTABLE | PASSGLASS | PASSGRILLE | PASSCLOSEDTURF | PASSMACHINE | PASSSTRUCTURE | PASSDOORS
loaded_projectile.homing = TRUE
- loaded_projectile.homing_turn_speed = 80
+ loaded_projectile.homing_turn_speed = 150
loaded_projectile.set_homing_target(target)
return ..()
@@ -134,6 +134,46 @@
damage = 30
stamina = 30
projectile_phasing = PASSTABLE | PASSGLASS | PASSGRILLE | PASSCLOSEDTURF | PASSMACHINE | PASSSTRUCTURE | PASSDOORS
+ ///The mob that is currently inside the bullet
+ var/mob/stored_mob
+
+/obj/projectile/bullet/strilka310/lionhunter/fire(angle, atom/direct_target)
+ . = ..()
+ if(!isliving(firer) || !isliving(original))
+ return
+ var/mob/living/living_firer = firer
+ if(IS_HERETIC(living_firer))
+ living_firer.forceMove(src)
+ stored_mob = living_firer
+
+
+/obj/projectile/bullet/strilka310/lionhunter/Exited(atom/movable/gone)
+ if(gone == stored_mob)
+ stored_mob = null
+ return ..()
+
+/obj/projectile/bullet/strilka310/lionhunter/on_range()
+ stored_mob?.forceMove(loc)
+ return ..()
+
+/obj/projectile/bullet/strilka310/lionhunter/on_hit(atom/target, blocked, pierce_hit)
+ stored_mob?.forceMove(loc) //Pretty important to get our mob out of the bullet
+ . = ..()
+ if(!isliving(target))
+ return BULLET_ACT_HIT
+ var/mob/living/victim = target
+ var/mob/firing_mob = firer
+ if(IS_HERETIC_OR_MONSTER(victim) || !IS_HERETIC(firing_mob))
+ return BULLET_ACT_HIT
+
+ SEND_SIGNAL(firer, COMSIG_LIONHUNTER_ON_HIT, victim)
+ return BULLET_ACT_HIT
+
+/obj/projectile/bullet/strilka310/lionhunter/Destroy()
+ if(stored_mob)
+ stack_trace("Lionhunter bullet qdel'd with its firer still inside!")
+ stored_mob.forceMove(loc)
+ return ..()
// Extra ammunition can be made with a heretic ritual.
/obj/item/ammo_box/strilka310/lionhunter
diff --git a/code/modules/antagonists/heretic/items/unfathomable_curio.dm b/code/modules/antagonists/heretic/items/unfathomable_curio.dm
index eff1fa7ea2f..d5f09a1dc27 100644
--- a/code/modules/antagonists/heretic/items/unfathomable_curio.dm
+++ b/code/modules/antagonists/heretic/items/unfathomable_curio.dm
@@ -11,8 +11,8 @@
//Vars used for the shield component
var/heretic_shield_icon = "unfathomable_shield"
var/max_charges = 1
- var/recharge_start_delay = 60 SECONDS
- var/charge_increment_delay = 60 SECONDS
+ var/recharge_start_delay = 30 SECONDS
+ var/charge_increment_delay = 30 SECONDS
var/charge_recovery = 1
/obj/item/storage/belt/unfathomable_curio/Initialize(mapload)
diff --git a/code/modules/antagonists/heretic/knowledge/ash_lore.dm b/code/modules/antagonists/heretic/knowledge/ash_lore.dm
index 111c1b8cbf7..f897aebc3fb 100644
--- a/code/modules/antagonists/heretic/knowledge/ash_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/ash_lore.dm
@@ -165,7 +165,7 @@
research_tree_icon_state = "blade_upgrade_ash"
/datum/heretic_knowledge/blade_upgrade/ash/do_melee_effects(mob/living/source, mob/living/target, obj/item/melee/sickly_blade/blade)
- if(source == target)
+ if(source == target || !isliving(target))
return
target.adjust_fire_stacks(1)
diff --git a/code/modules/antagonists/heretic/knowledge/blade_lore.dm b/code/modules/antagonists/heretic/knowledge/blade_lore.dm
index dc76f242c01..c24ed2c273f 100644
--- a/code/modules/antagonists/heretic/knowledge/blade_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/blade_lore.dm
@@ -32,16 +32,16 @@
/datum/heretic_knowledge/limited_amount/starting/base_blade
name = "The Cutting Edge"
desc = "Opens up the Path of Blades to you. \
- Allows you to transmute a knife with two bars of silver or titanium to create a Sundered Blade. \
- You can create up to five at a time."
+ Allows you to transmute a knife with one bar of silver or titanium to create a Sundered Blade. \
+ You can create up to four at a time."
gain_text = "Our great ancestors forged swords and practiced sparring on the eve of great battles."
next_knowledge = list(/datum/heretic_knowledge/blade_grasp)
required_atoms = list(
/obj/item/knife = 1,
- list(/obj/item/stack/sheet/mineral/silver, /obj/item/stack/sheet/mineral/titanium) = 2,
+ list(/obj/item/stack/sheet/mineral/silver, /obj/item/stack/sheet/mineral/titanium) = 1,
)
result_atoms = list(/obj/item/melee/sickly_blade/dark)
- limit = 5 // It's the blade path, it's a given
+ limit = 4 // It's the blade path, it's a given
route = PATH_BLADE
research_tree_icon_path = 'icons/obj/weapons/khopesh.dmi'
research_tree_icon_state = "dark_blade"
@@ -67,40 +67,16 @@
/datum/heretic_knowledge/blade_grasp/proc/on_mansus_grasp(mob/living/source, mob/living/target)
SIGNAL_HANDLER
- // Let's see if source is behind target
- // "Behind" is defined as 3 tiles directly to the back of the target
- // x . .
- // x > .
- // x . .
-
- var/are_we_behind = FALSE
- // No tactical spinning allowed
- if(HAS_TRAIT(target, TRAIT_SPINNING))
- are_we_behind = TRUE
-
- // We'll take "same tile" as "behind" for ease
- if(target.loc == source.loc)
- are_we_behind = TRUE
-
- // We'll also assume lying down is behind, as mob directions when lying are unclear
- if(target.body_position == LYING_DOWN)
- are_we_behind = TRUE
-
- // Exceptions aside, let's actually check if they're, yknow, behind
- var/dir_target_to_source = get_dir(target, source)
- if(target.dir & REVERSE_DIR(dir_target_to_source))
- are_we_behind = TRUE
-
- if(!are_we_behind)
+ if(!check_behind(source, target))
return
// We're officially behind them, apply effects
target.AdjustParalyzed(1.5 SECONDS)
target.apply_damage(10, BRUTE, wound_bonus = CANT_WOUND)
target.balloon_alert(source, "backstab!")
- playsound(get_turf(target), 'sound/items/weapons/guillotine.ogg', 100, TRUE)
+ playsound(target, 'sound/items/weapons/guillotine.ogg', 100, TRUE)
-/// The cooldown duration between trigers of blade dance
+/// The cooldown duration between triggers of blade dance
#define BLADE_DANCE_COOLDOWN (20 SECONDS)
/datum/heretic_knowledge/blade_dance
@@ -315,10 +291,11 @@
#undef BLOOD_FLOW_PER_SEVEIRTY
/datum/heretic_knowledge/blade_upgrade/blade
- name = "Swift Blades"
+ name = "Empowered Blades"
desc = "Attacking someone with a Sundered Blade in both hands \
will now deliver a blow with both at once, dealing two attacks in rapid succession. \
- The second blow will be slightly weaker."
+ The second blow will be slightly weaker. \
+ You are able to infuse your mansus grasp directly into your blades, and your blades are more effective against structures."
gain_text = "I found him cleaved in twain, halves locked in a duel without end; \
a flurry of blades, neither hitting their mark, for the Champion was indomitable."
next_knowledge = list(/datum/heretic_knowledge/spell/furious_steel)
@@ -330,7 +307,39 @@
/// How much force was the last weapon we offhanded with? If it's different, we need to re-calculate the decrement
var/last_weapon_force = -1
-/datum/heretic_knowledge/blade_upgrade/blade/do_melee_effects(mob/living/source, mob/living/target, obj/item/melee/sickly_blade/blade)
+/datum/heretic_knowledge/blade_upgrade/blade/on_gain(mob/user, datum/antagonist/heretic/our_heretic)
+ . = ..()
+ RegisterSignal(user, COMSIG_TOUCH_HANDLESS_CAST, PROC_REF(on_grasp_cast))
+ RegisterSignal(user, COMSIG_MOB_EQUIPPED_ITEM, PROC_REF(on_blade_equipped))
+ RegisterSignal(user, COMSIG_HERETIC_BLADE_ATTACK, PROC_REF(do_melee_effects))
+
+/datum/heretic_knowledge/blade_upgrade/blade/on_lose(mob/user, datum/antagonist/heretic/our_heretic)
+ . = ..()
+ UnregisterSignal(user, list(COMSIG_TOUCH_HANDLESS_CAST, COMSIG_MOB_EQUIPPED_ITEM, COMSIG_HERETIC_BLADE_ATTACK))
+
+///Tries to infuse our held blade with our mansus grasp
+/datum/heretic_knowledge/blade_upgrade/blade/proc/on_grasp_cast(mob/living/carbon/cast_on)
+ SIGNAL_HANDLER
+
+ var/held_item = cast_on.get_active_held_item()
+ if(!istype(held_item, /obj/item/melee/sickly_blade/dark))
+ return NONE
+ var/obj/item/melee/sickly_blade/dark/held_blade = held_item
+ if(held_blade.infused)
+ return NONE
+ held_blade.infused = TRUE
+ held_blade.update_appearance(UPDATE_ICON)
+
+ //Infuse our off-hand blade just so it's nicer visually
+ var/obj/item/melee/sickly_blade/dark/off_hand_blade = cast_on.get_inactive_held_item()
+ if(istype(off_hand_blade, /obj/item/melee/sickly_blade/dark))
+ off_hand_blade.infused = TRUE
+ off_hand_blade.update_appearance(UPDATE_ICON)
+ cast_on.update_held_items()
+
+ return COMPONENT_CAST_HANDLESS
+
+/datum/heretic_knowledge/blade_upgrade/blade/do_melee_effects(mob/living/source, atom/target, obj/item/melee/sickly_blade/blade)
if(target == source)
return
@@ -345,7 +354,7 @@
// Give it a short delay (for style, also lets people dodge it I guess)
addtimer(CALLBACK(src, PROC_REF(follow_up_attack), source, target, off_hand), 0.25 SECONDS)
-/datum/heretic_knowledge/blade_upgrade/blade/proc/follow_up_attack(mob/living/source, mob/living/target, obj/item/melee/sickly_blade/blade)
+/datum/heretic_knowledge/blade_upgrade/blade/proc/follow_up_attack(mob/living/source, atom/target, obj/item/melee/sickly_blade/blade)
if(QDELETED(source) || QDELETED(target) || QDELETED(blade))
return
// Sanity to ensure that the blade we're delivering an offhand attack with is ACTUALLY our offhand
@@ -372,13 +381,20 @@
// Save the force as our last weapon force
last_weapon_force = blade.force
- // Subtract the decrement
- blade.force -= offand_force_decrement
+ // Subtract the decrement, but only if the target is living
+ if(isliving(target))
+ blade.force -= offand_force_decrement
// Perform the offhand attack
blade.melee_attack_chain(source, target)
// Restore the force.
blade.force = last_weapon_force
+///Modifies our blade demolition modifier so we can take down doors with it
+/datum/heretic_knowledge/blade_upgrade/blade/proc/on_blade_equipped(mob/user, obj/item/equipped, slot)
+ SIGNAL_HANDLER
+ if(istype(equipped, /obj/item/melee/sickly_blade/dark))
+ equipped.demolition_mod = 1.5
+
/datum/heretic_knowledge/spell/furious_steel
name = "Furious Steel"
desc = "Grants you Furious Steel, a targeted spell. Using it will summon three \
diff --git a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm
index f6e364766f6..af92a55f499 100644
--- a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm
@@ -172,7 +172,7 @@
ORGAN_SLOT_LIVER,
ORGAN_SLOT_BRAIN
)
- if(source == target)
+ if(source == target || !isliving(target))
return
if(combo_timer)
deltimer(combo_timer)
diff --git a/code/modules/antagonists/heretic/knowledge/moon_lore.dm b/code/modules/antagonists/heretic/knowledge/moon_lore.dm
index 99ee675c8ec..b23ed148611 100644
--- a/code/modules/antagonists/heretic/knowledge/moon_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/moon_lore.dm
@@ -152,7 +152,7 @@
research_tree_icon_state = "blade_upgrade_moon"
/datum/heretic_knowledge/blade_upgrade/moon/do_melee_effects(mob/living/source, mob/living/target, obj/item/melee/sickly_blade/blade)
- if(source == target)
+ if(source == target || !isliving(target))
return
target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 100)
diff --git a/code/modules/antagonists/heretic/knowledge/rust_lore.dm b/code/modules/antagonists/heretic/knowledge/rust_lore.dm
index c1c1e2a4a04..9d45e8bb55b 100644
--- a/code/modules/antagonists/heretic/knowledge/rust_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/rust_lore.dm
@@ -176,6 +176,8 @@
our_heretic.increase_rust_strength()
/datum/heretic_knowledge/blade_upgrade/rust/do_melee_effects(mob/living/source, mob/living/target, obj/item/melee/sickly_blade/blade)
+ if(source == target || !isliving(target))
+ return
target.adjust_disgust(50)
/datum/heretic_knowledge/spell/area_conversion/on_gain(mob/user, datum/antagonist/heretic/our_heretic)
diff --git a/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm b/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm
index 2bae6ed5402..8a1fe6b5a87 100644
--- a/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm
+++ b/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm
@@ -44,12 +44,12 @@
/datum/heretic_knowledge/rifle
name = "Lionhunter's Rifle"
- desc = "Allows you to transmute any ballistic weapon, such as a pipegun, with hide \
- from any animal, a plank of wood, and a camera to create the Lionhunter's rifle. \
+ desc = "Allows you to transmute a piece of wood, with hide \
+ from any animal,and a camera to create the Lionhunter's rifle. \
The Lionhunter's Rifle is a long ranged ballistic weapon with three shots. \
These shots function as normal, albeit weak high-caliber munitions when fired from \
close range or at inanimate objects. You can aim the rifle at distant foes, \
- causing the shot to deal massively increased damage and hone in on them."
+ causing the shot to mark your victim with your grasp and teleport you directly to them."
gain_text = "I met an old man in an antique shop who wielded a very unusual weapon. \
I could not purchase it at the time, but they showed me how they made it ages ago."
next_knowledge = list(
@@ -58,9 +58,8 @@
/datum/heretic_knowledge/rifle_ammo,
)
required_atoms = list(
- /obj/item/gun/ballistic = 1,
- /obj/item/stack/sheet/animalhide = 1,
/obj/item/stack/sheet/mineral/wood = 1,
+ /obj/item/stack/sheet/animalhide = 1,
/obj/item/camera = 1,
)
result_atoms = list(/obj/item/gun/ballistic/rifle/lionhunter)
@@ -73,12 +72,11 @@
/datum/heretic_knowledge/rifle_ammo
name = "Lionhunter Rifle Ammunition"
desc = "Allows you to transmute 3 ballistic ammo casings (used or unused) of any caliber, \
- including shotgun shot, with any animal hide to create an extra clip of ammunition for the Lionhunter Rifle."
+ including shotgun shells to create an extra clip of ammunition for the Lionhunter Rifle."
gain_text = "The weapon came with three rough iron balls, intended to be used as ammunition. \
They were very effective, for simple iron, but used up quickly. I soon ran out. \
No replacement munitions worked in their stead. It was peculiar in what it wanted."
required_atoms = list(
- /obj/item/stack/sheet/animalhide = 1,
/obj/item/ammo_casing = 3,
)
result_atoms = list(/obj/item/ammo_box/strilka310/lionhunter)
diff --git a/code/modules/antagonists/heretic/knowledge/void_lore.dm b/code/modules/antagonists/heretic/knowledge/void_lore.dm
index 6daa1d6fd42..4eb84326eb6 100644
--- a/code/modules/antagonists/heretic/knowledge/void_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/void_lore.dm
@@ -176,7 +176,7 @@
research_tree_icon_state = "blade_upgrade_void"
/datum/heretic_knowledge/blade_upgrade/void/do_melee_effects(mob/living/source, mob/living/target, obj/item/melee/sickly_blade/blade)
- if(source == target)
+ if(source == target || !isliving(target))
return
target.apply_status_effect(/datum/status_effect/void_chill, 2)
diff --git a/code/modules/antagonists/heretic/magic/realignment.dm b/code/modules/antagonists/heretic/magic/realignment.dm
index 8ad6ce78299..86d2ff78c54 100644
--- a/code/modules/antagonists/heretic/magic/realignment.dm
+++ b/code/modules/antagonists/heretic/magic/realignment.dm
@@ -54,12 +54,14 @@
alert_type = /atom/movable/screen/alert/status_effect/realignment
tick_interval = 0.2 SECONDS
show_duration = TRUE
+ ///Traits to add/remove
+ var/list/realignment_traits = list(TRAIT_BATON_RESISTANCE, TRAIT_PACIFISM)
/datum/status_effect/realignment/get_examine_text()
return span_notice("[owner.p_Theyre()] glowing a soft white.")
/datum/status_effect/realignment/on_apply()
- ADD_TRAIT(owner, TRAIT_PACIFISM, id)
+ owner.add_traits(realignment_traits, id)
owner.add_filter(id, 2, list("type" = "outline", "color" = "#d6e3e7", "size" = 2))
var/filter = owner.get_filter(id)
animate(filter, alpha = 127, time = 1 SECONDS, loop = -1)
@@ -67,12 +69,12 @@
return TRUE
/datum/status_effect/realignment/on_remove()
- REMOVE_TRAIT(owner, TRAIT_PACIFISM, id)
+ owner.remove_traits(realignment_traits, id)
owner.remove_filter(id)
/datum/status_effect/realignment/tick(seconds_between_ticks)
- owner.adjustStaminaLoss(-5)
- owner.AdjustAllImmobility(-0.5 SECONDS)
+ owner.adjustStaminaLoss(-10)
+ owner.AdjustAllImmobility(-1 SECONDS)
/atom/movable/screen/alert/status_effect/realignment
name = "Realignment"
diff --git a/code/modules/antagonists/heretic/status_effects/buffs.dm b/code/modules/antagonists/heretic/status_effects/buffs.dm
index 387301f2c48..d82d145b3ef 100644
--- a/code/modules/antagonists/heretic/status_effects/buffs.dm
+++ b/code/modules/antagonists/heretic/status_effects/buffs.dm
@@ -4,9 +4,10 @@
/datum/status_effect/crucible_soul
id = "Blessing of Crucible Soul"
status_type = STATUS_EFFECT_REFRESH
- duration = 15 SECONDS
+ duration = 40 SECONDS
alert_type = /atom/movable/screen/alert/status_effect/crucible_soul
show_duration = TRUE
+ ///Stores the location where the mob drank the potion, used to teleport the drinker back to the spot after expiration
var/turf/location
/datum/status_effect/crucible_soul/on_apply()
@@ -14,6 +15,8 @@
owner.alpha = 180
owner.pass_flags |= PASSCLOSEDTURF | PASSGLASS | PASSGRILLE | PASSMACHINE | PASSSTRUCTURE | PASSTABLE | PASSMOB | PASSDOORS | PASSVEHICLE
location = get_turf(owner)
+ var/datum/action/cancel_crucible_soul/cancel_button = new(src)
+ cancel_button.Grant(owner)
return TRUE
/datum/status_effect/crucible_soul/on_remove()
@@ -26,11 +29,25 @@
/datum/status_effect/crucible_soul/get_examine_text()
return span_notice("[owner.p_They()] [owner.p_do()]n't seem to be all here.")
+/datum/action/cancel_crucible_soul
+ name = "Recall"
+ desc = "Use to end the blessing early"
+ button_icon = 'icons/obj/antags/eldritch.dmi'
+ button_icon_state = "crucible_soul"
+
+/datum/action/cancel_crucible_soul/Trigger(trigger_flags)
+ . = ..()
+ if(!.)
+ return
+ var/datum/status_effect/active_effect = owner.has_status_effect(/datum/status_effect/crucible_soul)
+ target = active_effect
+ qdel(target)
+
// DUSK AND DAWN
/datum/status_effect/duskndawn
id = "Blessing of Dusk and Dawn"
status_type = STATUS_EFFECT_REFRESH
- duration = 60 SECONDS
+ duration = 90 SECONDS
show_duration = TRUE
alert_type =/atom/movable/screen/alert/status_effect/duskndawn
@@ -58,12 +75,24 @@
/datum/status_effect/marshal/on_remove()
owner.remove_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown)
+ if(!iscarbon(owner))
+ return
+ var/mob/living/carbon/drinker = owner
+ for(var/obj/item/bodypart/potentially_wounded as anything in drinker.bodyparts)
+ for(var/datum/wound/found_wound as anything in potentially_wounded.wounds)
+ found_wound.remove_wound()
+ if(length(drinker.get_missing_limbs()))
+ drinker.regenerate_limbs()
+ to_chat(drinker, span_hypnophrase("The mansus has given you new limbs."))
+ playsound(drinker, 'sound/effects/chemistry/ahaha.ogg', 50, TRUE, -1, extrarange = SILENCED_SOUND_EXTRARANGE, frequency = 0.5)
/datum/status_effect/marshal/tick(seconds_between_ticks)
if(!iscarbon(owner))
return
var/mob/living/carbon/carbie = owner
+ carbie.adjustBruteLoss(-0.5 * seconds_between_ticks, updating_health = FALSE)
+ carbie.adjustFireLoss(-0.5 * seconds_between_ticks, updating_health = FALSE)
for(var/BP in carbie.bodyparts)
var/obj/item/bodypart/part = BP
for(var/W in part.wounds)
@@ -161,7 +190,8 @@
if(QDELETED(src) || QDELETED(owner))
return
- var/obj/effect/floating_blade/blade = new blade_type(get_turf(owner))
+ var/obj/effect/floating_blade/blade
+ blade = new blade_type(get_turf(owner))
blades += blade
blade.orbit(owner, blade_orbit_radius)
RegisterSignal(blade, COMSIG_QDELETING, PROC_REF(remove_blade))
diff --git a/code/modules/antagonists/heretic/structures/carving_knife.dm b/code/modules/antagonists/heretic/structures/carving_knife.dm
index b93b52eb8e8..f3d37b87682 100644
--- a/code/modules/antagonists/heretic/structures/carving_knife.dm
+++ b/code/modules/antagonists/heretic/structures/carving_knife.dm
@@ -163,6 +163,7 @@
name = "elder carving"
desc = "Collection of unknown symbols, they remind you of days long gone..."
icon = 'icons/obj/service/hand_of_god_structures.dmi'
+ max_integrity = 60
/// A tip displayed to heretics who examine the rune carver. Explains what the rune does.
var/carver_tip
/// Reference to trap owner mob
diff --git a/code/modules/antagonists/heretic/structures/mawed_crucible.dm b/code/modules/antagonists/heretic/structures/mawed_crucible.dm
index ea962cbc5a4..5f329cfd7c7 100644
--- a/code/modules/antagonists/heretic/structures/mawed_crucible.dm
+++ b/code/modules/antagonists/heretic/structures/mawed_crucible.dm
@@ -11,15 +11,26 @@
anchored = TRUE
density = TRUE
///How much mass this currently holds
- var/current_mass = 5
+ var/current_mass = 3
///Maximum amount of mass
- var/max_mass = 5
+ var/max_mass = 3
///Check to see if it is currently being used.
var/in_use = FALSE
+ ///Cooldown for the crucible to create mass from the eldritch
+ COOLDOWN_DECLARE(refill_cooldown)
/obj/structure/destructible/eldritch_crucible/Initialize(mapload)
. = ..()
break_message = span_warning("[src] falls apart with a thud!")
+ START_PROCESSING(SSobj, src)
+
+/obj/structure/destructible/eldritch_crucible/process(seconds_per_tick)
+ if(COOLDOWN_TIMELEFT(src, refill_cooldown))
+ return
+ COOLDOWN_START(src, refill_cooldown, 30 SECONDS)
+ current_mass++
+ playsound(src, 'sound/items/eatfood.ogg', 100, TRUE)
+ update_appearance(UPDATE_ICON_STATE)
/obj/structure/destructible/eldritch_crucible/atom_deconstruct(disassembled = TRUE)
// Create a spillage if we were destroyed with leftover mass
@@ -40,6 +51,9 @@
if(!IS_HERETIC_OR_MONSTER(user) && !isobserver(user))
return
+ if(current_mass > 0)
+ . += span_notice("You can refill an eldritch flask with this")
+
if(current_mass < max_mass)
var/to_fill = max_mass - current_mass
. += span_notice("[src] requires [to_fill] more organ[to_fill == 1 ? "":"s"] or bodypart[to_fill == 1 ? "":"s"].")
@@ -99,6 +113,19 @@
set_anchored(!anchored)
balloon_alert(user, "[anchored ? "":"un"]anchored")
return ITEM_INTERACT_SUCCESS
+ if(istype(tool, /obj/item/reagent_containers/cup/beaker/eldritch))
+ if(current_mass < max_mass)
+ balloon_alert(user, "not full enough!")
+ return ITEM_INTERACT_SUCCESS
+ var/obj/item/reagent_containers/cup/beaker/eldritch/to_fill = tool
+ if(to_fill.reagents.total_volume >= to_fill.reagents.maximum_volume)
+ balloon_alert(user, "flask is full!")
+ return ITEM_INTERACT_SUCCESS
+ to_fill.reagents.add_reagent(/datum/reagent/eldritch, 50)
+ do_item_attack_animation(src, used_item = tool)
+ current_mass--
+ balloon_alert(user, "refilled flask")
+ return ITEM_INTERACT_SUCCESS
/obj/structure/destructible/eldritch_crucible/attack_hand(mob/user, list/modifiers)
. = ..()
@@ -273,7 +300,7 @@
desc = "A glass bottle contianing a dull yellow liquid. It seems to fade in and out with regularity."
icon_state = "clarity"
status_effect = /datum/status_effect/duskndawn
- crucible_tip = "Allows you to see through walls and objects. Lasts 60 seconds."
+ crucible_tip = "Allows you to see through walls and objects. Lasts 90 seconds."
/obj/item/eldritch_potion/wounded
name = "brew of the wounded soldier"
diff --git a/code/modules/antagonists/ninja/ninja_clothing.dm b/code/modules/antagonists/ninja/ninja_clothing.dm
index 54ed46c9c3e..4eaf40f9c79 100644
--- a/code/modules/antagonists/ninja/ninja_clothing.dm
+++ b/code/modules/antagonists/ninja/ninja_clothing.dm
@@ -15,7 +15,8 @@
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
flags_inv = HIDEFACIALHAIR | HIDEFACE | HIDESNOUT
flags_cover = MASKCOVERSMOUTH | PEPPERPROOF
- has_fov = FALSE
+ pepper_tint = FALSE
+
/obj/item/clothing/under/syndicate/ninja
name = "ninja suit"
diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm
index 1036abc2495..446825779e2 100644
--- a/code/modules/antagonists/wizard/equipment/artefact.dm
+++ b/code/modules/antagonists/wizard/equipment/artefact.dm
@@ -410,7 +410,7 @@
damtype = BRUTE
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
attack_verb_continuous = list("smacks", "clubs", "wacks")
- attack_verb_simple = list("smack", "club", "wacks")
+ attack_verb_simple = list("smack", "club", "wack")
/// Range cap on where you can summon vendors.
var/max_summon_range = RUNIC_SCEPTER_MAX_RANGE
diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm
index 467ad0e381d..4fcfe158259 100644
--- a/code/modules/atmospherics/machinery/portable/canister.dm
+++ b/code/modules/atmospherics/machinery/portable/canister.dm
@@ -599,14 +599,14 @@
pressure = CAN_MAX_RELEASE_PRESSURE
. = TRUE
else if(pressure == "input")
- pressure = tgui_input_number(usr, "New release pressure", "Canister Pressure", release_pressure, CAN_MAX_RELEASE_PRESSURE, CAN_MIN_RELEASE_PRESSURE)
+ pressure = tgui_input_number(usr, message = "New release pressure", title = "Canister Pressure", default = release_pressure, max_value = CAN_MAX_RELEASE_PRESSURE, min_value = CAN_MIN_RELEASE_PRESSURE, round_value = FALSE)
if(!isnull(pressure))
. = TRUE
else if(text2num(pressure) != null)
pressure = text2num(pressure)
. = TRUE
if(.)
- release_pressure = clamp(round(pressure), CAN_MIN_RELEASE_PRESSURE, CAN_MAX_RELEASE_PRESSURE)
+ release_pressure = clamp(pressure, CAN_MIN_RELEASE_PRESSURE, CAN_MAX_RELEASE_PRESSURE)
investigate_log("was set to [release_pressure] kPa by [key_name(usr)].", INVESTIGATE_ATMOS)
if("valve")
diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm
index cb1a23f82f1..8284b212efc 100644
--- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm
+++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm
@@ -230,7 +230,8 @@
UnregisterSignal(holding, COMSIG_QDELETING)
holding = new_tank
RegisterSignal(holding, COMSIG_QDELETING, PROC_REF(unregister_holding))
- playsound(src, list(insert_sound,remove_sound), sound_vol)
+ playsound(src, insert_sound, sound_vol)
+ playsound(src, remove_sound, sound_vol)
else if(holding)//we remove a tank
investigate_log("had its internal [holding] removed by [key_name(user)].", INVESTIGATE_ATMOS)
to_chat(user, span_notice("You remove [holding] from [src]."))
diff --git a/code/modules/atmospherics/machinery/portable/pump.dm b/code/modules/atmospherics/machinery/portable/pump.dm
index 3efc87e00ac..36d5bf4eb7c 100644
--- a/code/modules/atmospherics/machinery/portable/pump.dm
+++ b/code/modules/atmospherics/machinery/portable/pump.dm
@@ -150,7 +150,7 @@
pressure = text2num(pressure)
. = TRUE
if(.)
- target_pressure = clamp(round(pressure), PUMP_MIN_PRESSURE, PUMP_MAX_PRESSURE)
+ target_pressure = clamp(pressure, PUMP_MIN_PRESSURE, PUMP_MAX_PRESSURE)
investigate_log("was set to [target_pressure] kPa by [key_name(usr)].", INVESTIGATE_ATMOS)
if("eject")
if(holding)
diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm
index a25c47c5d9f..ac60417e783 100644
--- a/code/modules/cargo/packs/costumes_toys.dm
+++ b/code/modules/cargo/packs/costumes_toys.dm
@@ -82,8 +82,8 @@
/obj/item/gun/energy/laser/bluetag = 3,
/obj/item/clothing/suit/redtag = 3,
/obj/item/clothing/suit/bluetag = 3,
- /obj/item/clothing/head/helmet/redtaghelm = 3,
- /obj/item/clothing/head/helmet/bluetaghelm = 3,
+ /obj/item/clothing/head/helmet/taghelm/blue = 3,
+ /obj/item/clothing/head/helmet/taghelm/red = 3,
)
crate_name = "laser tag crate"
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 2e2afe94d0b..011034fd39e 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -109,10 +109,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
load_path(parent.ckey)
if(load_and_save && !fexists(path))
try_savefile_type_migration()
- unlock_content = !!parent.IsByondMember()
- donator_status = !!GLOB.donator_list[parent.ckey] //NOVA EDIT ADD - DONATOR CHECK
- if(unlock_content || donator_status) //NOVA EDIT CHANGE - ADD DONATOR CHECK
- max_save_slots = 50 //NOVA EDIT - ORIGINAL 8
+
+ refresh_membership()
else
CRASH("attempted to create a preferences datum without a client or mock!")
load_savefile()
@@ -633,3 +631,24 @@ GLOBAL_LIST_EMPTY(preferences_datums)
default_randomization[preference_key] = RANDOM_ENABLED
return default_randomization
+
+/datum/preferences/proc/refresh_membership()
+ var/byond_member = parent.IsByondMember()
+ if(isnull(byond_member)) // Connection failure, retry once
+ byond_member = parent.IsByondMember()
+ var/static/admins_warned = FALSE
+ if(!admins_warned)
+ admins_warned = TRUE
+ message_admins("BYOND membership lookup had a connection failure for a user. This is most likely an issue on the BYOND side but if this consistently happens you should bother your server operator to look into it.")
+ if(isnull(byond_member)) // Retrying didn't work, warn the user
+ log_game("BYOND membership lookup for [parent.ckey] failed due to a connection error.")
+ else
+ log_game("BYOND membership lookup for [parent.ckey] failed due to a connection error but succeeded after retry.")
+
+ if(isnull(byond_member))
+ to_chat(parent, span_warning("There's been a connection failure while trying to check the status of your BYOND membership. Reconnecting may fix the issue, or BYOND could be experiencing downtime."))
+
+ unlock_content = !!byond_member
+ donator_status = !!GLOB.donator_list[parent.ckey] // NOVA EDIT ADDITION - DONATOR CHECK
+ if(unlock_content || donator_status) // NOVA EDIT CHANGE - ORIGINAL: if(unlock_content)
+ max_save_slots = 50 //NOVA EDIT - ORIGINAL: max_save_slots = 8
diff --git a/code/modules/client/preferences/chipped.dm b/code/modules/client/preferences/chipped.dm
new file mode 100644
index 00000000000..2ce73dbbb0d
--- /dev/null
+++ b/code/modules/client/preferences/chipped.dm
@@ -0,0 +1,20 @@
+/datum/preference/choiced/chipped
+ category = PREFERENCE_CATEGORY_MANUALLY_RENDERED
+ savefile_key = "chipped"
+ savefile_identifier = PREFERENCE_CHARACTER
+
+/datum/preference/choiced/chipped/create_default_value()
+ return "Random"
+
+/datum/preference/choiced/chipped/init_possible_values()
+ return list("Random") + assoc_to_keys(GLOB.quirk_chipped_choice)
+
+/datum/preference/choiced/chipped/is_accessible(datum/preferences/preferences)
+ . = ..()
+ if (!.)
+ return FALSE
+
+ return /datum/quirk/chipped::name in preferences.all_quirks
+
+/datum/preference/choiced/chipped/apply_to_human(mob/living/carbon/human/target, value)
+ return
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index e24f80e3642..e78ba4ceb24 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -14,6 +14,10 @@
var/visor_flags_cover = NONE //same as above, but for flags_cover
///What to toggle when toggled with adjust_visor()
var/visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT | VISOR_VISIONFLAGS | VISOR_INVISVIEW
+ ///Sound this item makes when its visor is flipped down
+ var/visor_toggle_down_sound = null
+ ///Sound this item makes when its visor is flipped up
+ var/visor_toggle_up_sound = null
var/clothing_flags = NONE
///List of items that can be equipped in the suit storage slot while we're worn.
@@ -533,6 +537,12 @@ BLIND // can't see anything
to_chat(user, span_notice("You push [src] [up ? "out of the way" : "back into place"]."))
+ //play sounds when toggling the visor up or down (if there is any)
+ if(visor_toggle_up_sound && up)
+ playsound(src, visor_toggle_up_sound, 20, TRUE, -1)
+ if(visor_toggle_down_sound && !up)
+ playsound(src, visor_toggle_down_sound, 20, TRUE, -1)
+
update_item_action_buttons()
if(user.is_holding(src))
diff --git a/code/modules/clothing/ears/_ears.dm b/code/modules/clothing/ears/_ears.dm
index bdc294f5366..7520e6e769b 100644
--- a/code/modules/clothing/ears/_ears.dm
+++ b/code/modules/clothing/ears/_ears.dm
@@ -26,4 +26,4 @@
. = ..()
AddElement(/datum/element/earhealing)
AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS))
- AddComponent(/datum/component/adjust_fishing_difficulty, -1)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -2)
diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm
index 85c2702194b..a7a61891fcf 100644
--- a/code/modules/clothing/glasses/_glasses.dm
+++ b/code/modules/clothing/glasses/_glasses.dm
@@ -344,7 +344,6 @@
/obj/item/clothing/glasses/sunglasses/Initialize(mapload)
. = ..()
add_glasses_slapcraft_component()
- AddComponent(/datum/component/adjust_fishing_difficulty, -1)
/obj/item/clothing/glasses/sunglasses/proc/add_glasses_slapcraft_component()
var/static/list/slapcraft_recipe_list = list(/datum/crafting_recipe/hudsunsec, /datum/crafting_recipe/hudsunmed, /datum/crafting_recipe/hudsundiag, /datum/crafting_recipe/scienceglasses)
@@ -520,10 +519,6 @@
flags_cover = GLASSESCOVERSEYES
glass_colour_type = /datum/client_colour/glass_colour/red
-/obj/item/clothing/glasses/thermal/Initialize(mapload)
- . = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -4)
-
/obj/item/clothing/glasses/thermal/emp_act(severity)
. = ..()
if(. & EMP_PROTECT_SELF)
diff --git a/code/modules/clothing/gloves/botany.dm b/code/modules/clothing/gloves/botany.dm
index 144477240b2..ba3d777fb0d 100644
--- a/code/modules/clothing/gloves/botany.dm
+++ b/code/modules/clothing/gloves/botany.dm
@@ -14,7 +14,7 @@
/obj/item/clothing/gloves/botanic_leather/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4)
/datum/armor/gloves_botanic_leather
bio = 50
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index c3b400d7c59..244cecaa646 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -61,7 +61,7 @@
/obj/item/clothing/gloves/color/fingerless/Initialize(mapload)
. = ..()
var/static/list/slapcraft_recipe_list = list(/datum/crafting_recipe/gripperoffbrand)
- AddComponent(/datum/component/adjust_fishing_difficulty, -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4)
AddElement(
/datum/element/slapcrafting,\
diff --git a/code/modules/clothing/gloves/combat.dm b/code/modules/clothing/gloves/combat.dm
index a2574c8d23e..55eeeba723f 100644
--- a/code/modules/clothing/gloves/combat.dm
+++ b/code/modules/clothing/gloves/combat.dm
@@ -27,7 +27,7 @@
/obj/item/clothing/gloves/combat/wizard/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3) //something something wizard casting
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5) //something something wizard casting
/obj/item/clothing/gloves/combat/floortile
name = "floortile camouflage gloves"
@@ -37,4 +37,4 @@
/obj/item/clothing/gloves/combat/floortiletile/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3) //tacticool
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5) //tacticool
diff --git a/code/modules/clothing/gloves/insulated.dm b/code/modules/clothing/gloves/insulated.dm
index d20ae78c6c4..9c451fb8117 100644
--- a/code/modules/clothing/gloves/insulated.dm
+++ b/code/modules/clothing/gloves/insulated.dm
@@ -121,7 +121,7 @@
/obj/item/clothing/gloves/cut/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5)
/obj/item/clothing/gloves/cut/heirloom
desc = "The old gloves your great grandfather stole from Engineering, many moons ago. They've seen some tough times recently."
@@ -141,4 +141,4 @@
/obj/item/clothing/gloves/chief_engineer/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -4)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -6)
diff --git a/code/modules/clothing/gloves/punch_mitts.dm b/code/modules/clothing/gloves/punch_mitts.dm
index 96848731a9c..36d085c289c 100644
--- a/code/modules/clothing/gloves/punch_mitts.dm
+++ b/code/modules/clothing/gloves/punch_mitts.dm
@@ -11,7 +11,7 @@
/obj/item/clothing/gloves/fingerless/punch_mitts/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -4)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -6)
AddComponent(/datum/component/martial_art_giver, /datum/martial_art/boxing/hunter)
/datum/armor/gloves_mitts
diff --git a/code/modules/clothing/gloves/special.dm b/code/modules/clothing/gloves/special.dm
index 98de3145ddc..88274322e71 100644
--- a/code/modules/clothing/gloves/special.dm
+++ b/code/modules/clothing/gloves/special.dm
@@ -60,7 +60,7 @@
/obj/item/clothing/gloves/rapid/Initialize(mapload)
. = ..()
AddComponent(/datum/component/wearertargeting/punchcooldown)
- AddComponent(/datum/component/adjust_fishing_difficulty, -7)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -9)
/obj/item/clothing/gloves/radio
name = "translation gloves"
@@ -78,7 +78,7 @@
/obj/item/clothing/gloves/race/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -7)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -9)
/obj/item/clothing/gloves/captain
desc = "Regal blue gloves, with a nice gold trim, a diamond anti-shock coating, and an integrated thermal barrier. Swanky."
@@ -98,7 +98,7 @@
/obj/item/clothing/gloves/captain/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -4)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -6)
/datum/armor/captain_gloves
bio = 90
@@ -129,7 +129,7 @@
/obj/item/clothing/gloves/latex/nitrile/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -4)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -6)
/obj/item/clothing/gloves/latex/coroner
name = "coroner's gloves"
@@ -185,7 +185,7 @@
/obj/item/clothing/gloves/fishing/Initialize(mapload)
. = ..()
AddComponent(/datum/component/profound_fisher, new /obj/item/fishing_rod/mob_fisher/athletic(src))
- AddComponent(/datum/component/adjust_fishing_difficulty, -3) //on top of the extra that you get from the athletics skill.
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4) //on top of the extra that you get from the athletics skill.
/obj/item/clothing/gloves/fishing/equipped(mob/user, slot)
. = ..()
diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm
index d45fa8d0a90..ce3db5ab654 100644
--- a/code/modules/clothing/gloves/tacklers.dm
+++ b/code/modules/clothing/gloves/tacklers.dm
@@ -23,7 +23,7 @@
/// See: [/datum/component/tackler/var/skill_mod]
var/skill_mod = 1
///How much these gloves affect fishing difficulty
- var/fishing_modifier = -5
+ var/fishing_modifier = -7
/obj/item/clothing/gloves/tackler/Initialize(mapload)
. = ..()
@@ -61,7 +61,7 @@
tackle_speed = 2
min_distance = 2
skill_mod = -2
- fishing_modifier = -8
+ fishing_modifier = -10
/obj/item/clothing/gloves/tackler/combat
name = "gorilla gloves"
@@ -113,11 +113,11 @@
base_knockdown = 1.75 SECONDS
min_distance = 2
skill_mod = -1
- fishing_modifier = -3
+ fishing_modifier = -5
/obj/item/clothing/gloves/tackler/football
name = "football gloves"
desc = "Gloves for football players! Teaches them how to tackle like a pro."
icon_state = "tackle_gloves"
inhand_icon_state = null
- fishing_modifier = -3
+ fishing_modifier = -4
diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm
index 9f7d01506f1..2ac7db70225 100644
--- a/code/modules/clothing/head/collectable.dm
+++ b/code/modules/clothing/head/collectable.dm
@@ -109,7 +109,7 @@
/obj/item/clothing/head/collectable/pirate/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4)
/obj/item/clothing/head/collectable/kitty
name = "collectable kitty ears"
@@ -135,7 +135,7 @@
/obj/item/clothing/head/collectable/wizard/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -1)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -2)
/obj/item/clothing/head/collectable/hardhat
name = "collectable hard hat"
diff --git a/code/modules/clothing/head/fedora.dm b/code/modules/clothing/head/fedora.dm
index 7bf295f7455..0bc555ca6bc 100644
--- a/code/modules/clothing/head/fedora.dm
+++ b/code/modules/clothing/head/fedora.dm
@@ -38,7 +38,7 @@
/obj/item/clothing/head/fedora/carpskin/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -4)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -6)
/obj/item/clothing/head/fedora/beige/press
name = "press fedora"
diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm
index b9b371d498c..b8e6bfa7ada 100644
--- a/code/modules/clothing/head/helmet.dm
+++ b/code/modules/clothing/head/helmet.dm
@@ -33,6 +33,12 @@
/obj/item/clothing/head/helmet/sec
var/flipped_visor = FALSE
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
+ visor_toggle_up_sound = SFX_VISOR_UP
+ visor_toggle_down_sound = SFX_VISOR_DOWN
/obj/item/clothing/head/helmet/sec/Initialize(mapload)
. = ..()
@@ -70,8 +76,10 @@
icon_state = base_icon_state
if (flipped_visor)
flags_cover &= ~HEADCOVERSEYES
+ playsound(src, SFX_VISOR_DOWN, 20, TRUE, -1)
else
flags_cover |= HEADCOVERSEYES
+ playsound(src, SFX_VISOR_UP, 20, TRUE, -1)
update_appearance()
return CLICK_ACTION_SUCCESS
@@ -79,6 +87,10 @@
name = "press helmet"
desc = "A blue helmet used to distinguish non-combatant \"PRESS\" members, like if anyone cares."
icon_state = "helmet_press"
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
/obj/item/clothing/head/helmet/press/worn_overlays(mutable_appearance/standing, isinhands, icon_file)
. = ..()
@@ -92,6 +104,10 @@
inhand_icon_state = "helmet"
armor_type = /datum/armor/helmet_alt
dog_fashion = null
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
/datum/armor/helmet_alt
melee = 15
@@ -118,6 +134,10 @@
clothing_flags = STOPSPRESSUREDAMAGE | STACKABLE_HELMET_EXEMPT
resistance_flags = FIRE_PROOF | ACID_PROOF
dog_fashion = null
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
/datum/armor/helmet_marine
melee = 50
@@ -161,6 +181,10 @@
name = "degrading helmet"
desc = "Standard issue security helmet. Due to degradation the helmet's visor obstructs the users ability to see long distances."
tint = 2
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
/obj/item/clothing/head/helmet/blueshirt
name = "blue helmet"
@@ -168,6 +192,10 @@
icon_state = "blueshift"
inhand_icon_state = "blueshift_helmet"
custom_premium_price = PAYCHECK_COMMAND
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
/obj/item/clothing/head/helmet/toggleable
@@ -200,6 +228,12 @@
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF
visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF
clothing_traits = list(TRAIT_HEAD_INJURY_BLOCKED)
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
+ visor_toggle_up_sound = SFX_VISOR_UP
+ visor_toggle_down_sound = SFX_VISOR_DOWN
/obj/item/clothing/head/helmet/toggleable/riot/Initialize(mapload)
. = ..()
@@ -241,6 +275,12 @@
COOLDOWN_DECLARE(visor_toggle_cooldown)
///Looping sound datum for the siren helmet
var/datum/looping_sound/siren/weewooloop
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
+ visor_toggle_up_sound = SFX_VISOR_UP
+ visor_toggle_down_sound = SFX_VISOR_DOWN
/obj/item/clothing/head/helmet/toggleable/justice/adjust_visor(mob/living/user)
if(!COOLDOWN_FINISHED(src, visor_toggle_cooldown))
@@ -283,6 +323,10 @@
resistance_flags = FIRE_PROOF | ACID_PROOF
dog_fashion = null
clothing_traits = list(TRAIT_HEAD_INJURY_BLOCKED)
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
/obj/item/clothing/head/helmet/swat/Initialize(mapload)
. = ..()
@@ -388,17 +432,17 @@
flags_cover = HEADCOVERSEYES
dog_fashion = null
-/obj/item/clothing/head/helmet/redtaghelm
- name = "red laser tag helmet"
- desc = "They have chosen their own end."
- icon_state = "redtaghelm"
+/obj/item/clothing/head/helmet/taghelm
flags_cover = HEADCOVERSEYES
- inhand_icon_state = "redtag_helmet"
- armor_type = /datum/armor/helmet_redtaghelm
// Offer about the same protection as a hardhat.
+ armor_type = /datum/armor/helmet_taghelm
dog_fashion = null
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
-/datum/armor/helmet_redtaghelm
+/datum/armor/helmet_taghelm
melee = 15
bullet = 10
laser = 20
@@ -406,23 +450,17 @@
bomb = 20
acid = 50
-/obj/item/clothing/head/helmet/bluetaghelm
+/obj/item/clothing/head/helmet/taghelm/red
+ name = "red laser tag helmet"
+ desc = "They have chosen their own end."
+ icon_state = "redtaghelm"
+ inhand_icon_state = "redtag_helmet"
+
+/obj/item/clothing/head/helmet/taghelm/blue
name = "blue laser tag helmet"
desc = "They'll need more men."
icon_state = "bluetaghelm"
- flags_cover = HEADCOVERSEYES
inhand_icon_state = "bluetag_helmet"
- armor_type = /datum/armor/helmet_bluetaghelm
- // Offer about the same protection as a hardhat.
- dog_fashion = null
-
-/datum/armor/helmet_bluetaghelm
- melee = 15
- bullet = 10
- laser = 20
- energy = 10
- bomb = 20
- acid = 50
/obj/item/clothing/head/helmet/knight
name = "medieval helmet"
@@ -491,6 +529,10 @@
icon_state = "rus_helmet"
inhand_icon_state = "rus_helmet"
armor_type = /datum/armor/helmet_rus_helmet
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
/datum/armor/helmet_rus_helmet
melee = 25
@@ -559,6 +601,10 @@
strip_delay = 80
dog_fashion = null
armor_type = /datum/armor/helmet_military
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
/datum/armor/helmet_military
melee = 45
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index 7b67cda761f..a15a59f05ad 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -626,7 +626,7 @@
/obj/item/clothing/head/utility/surgerycap/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2) //FISH DOCTOR?!
+ AddComponent(/datum/component/adjust_fishing_difficulty, -3) //FISH DOCTOR?!
/obj/item/clothing/head/utility/surgerycap/attack_self(mob/user)
. = ..()
@@ -672,7 +672,7 @@
/obj/item/clothing/head/utility/head_mirror/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2) //FISH DOCTOR?!
+ AddComponent(/datum/component/adjust_fishing_difficulty, -3) //FISH DOCTOR?!
/obj/item/clothing/head/utility/head_mirror/examine(mob/user)
. = ..()
diff --git a/code/modules/clothing/head/moth.dm b/code/modules/clothing/head/moth.dm
index abce11336f2..c9ca9e449f0 100644
--- a/code/modules/clothing/head/moth.dm
+++ b/code/modules/clothing/head/moth.dm
@@ -15,7 +15,7 @@
/obj/item/clothing/head/mothcap/original/Initialize(mapload)
. = ..()
AddComponent(/datum/component/scope, range_modifier = 1.2, zoom_method = ZOOM_METHOD_ITEM_ACTION, item_action_type = /datum/action/item_action/hands_free/moth_googles)
- AddComponent(/datum/component/adjust_fishing_difficulty, -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4)
/obj/item/clothing/head/mothcap/original/item_action_slot_check(slot, mob/user, datum/action/action)
return (slot & ITEM_SLOT_HEAD)
diff --git a/code/modules/clothing/head/pirate.dm b/code/modules/clothing/head/pirate.dm
index 6d5d0a67f30..ab1aaba8e37 100644
--- a/code/modules/clothing/head/pirate.dm
+++ b/code/modules/clothing/head/pirate.dm
@@ -7,7 +7,7 @@
/obj/item/clothing/head/costume/pirate/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5)
/obj/item/clothing/head/costume/pirate/equipped(mob/user, slot)
. = ..()
diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm
index 62930574031..a25a8eb3ca9 100644
--- a/code/modules/clothing/head/soft_caps.dm
+++ b/code/modules/clothing/head/soft_caps.dm
@@ -175,7 +175,7 @@
. = ..()
AddComponent(/datum/component/speechmod, replacements = strings("crustacean_replacement.json", "crustacean")) //you asked for this.
AddElement(/datum/element/skill_reward, /datum/skill/fishing)
- AddComponent(/datum/component/adjust_fishing_difficulty, -4)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5)
#define PROPHAT_MOOD "prophat"
diff --git a/code/modules/clothing/masks/animal_masks.dm b/code/modules/clothing/masks/animal_masks.dm
index 5a92c8faf07..fd900810e67 100644
--- a/code/modules/clothing/masks/animal_masks.dm
+++ b/code/modules/clothing/masks/animal_masks.dm
@@ -152,15 +152,15 @@ GLOBAL_LIST_INIT(cursed_animal_masks, list(
/obj/item/clothing/mask/animal/frog/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, cursed ? 2 : -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, cursed ? 4 : -4)
/obj/item/clothing/mask/animal/frog/make_cursed()
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, 2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, 4)
/obj/item/clothing/mask/animal/frog/clear_curse()
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4)
/obj/item/clothing/mask/animal/frog/cursed
cursed = TRUE
@@ -241,15 +241,15 @@ GLOBAL_LIST_INIT(cursed_animal_masks, list(
/obj/item/clothing/mask/animal/small/bear/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, cursed ? 2 : -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, cursed ? 4 : -4)
/obj/item/clothing/mask/animal/small/bear/make_cursed()
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, 2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, 4)
/obj/item/clothing/mask/animal/small/bear/clear_curse()
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4)
/obj/item/clothing/mask/animal/small/bear/cursed
cursed = TRUE
@@ -301,15 +301,15 @@ GLOBAL_LIST_INIT(cursed_animal_masks, list(
/obj/item/clothing/mask/animal/small/tribal/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, cursed ? 4 : -4)
+ AddComponent(/datum/component/adjust_fishing_difficulty, cursed ? 5 : -5)
/obj/item/clothing/mask/animal/small/tribal/make_cursed()
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, 4)
+ AddComponent(/datum/component/adjust_fishing_difficulty, 5)
/obj/item/clothing/mask/animal/small/tribal/clear_curse()
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -4)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5)
/obj/item/clothing/mask/animal/small/tribal/cursed //adminspawn only.
cursed = TRUE
diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm
index 46ad60e58de..b28645da3a5 100644
--- a/code/modules/clothing/masks/boxing.dm
+++ b/code/modules/clothing/masks/boxing.dm
@@ -26,7 +26,7 @@
/obj/item/clothing/mask/floortilebalaclava/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3) //tacticool
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5) //tacticool
/obj/item/clothing/mask/floortilebalaclava/attack_self(mob/user)
adjust_visor(user)
diff --git a/code/modules/clothing/masks/costume.dm b/code/modules/clothing/masks/costume.dm
index ff980442565..37a3fc7ccb5 100644
--- a/code/modules/clothing/masks/costume.dm
+++ b/code/modules/clothing/masks/costume.dm
@@ -52,7 +52,7 @@
. += "Use in-hand to wear as a mask!"
return
else
- . += "Use in-hand to tie it up to wear as a hat!"
+ . += "Use in-hand to wear as a hat!"
/obj/item/clothing/mask/kitsune/attack_self(mob/user)
adjust_visor(user)
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index 92e61f59d30..d8ba970c69c 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -5,6 +5,7 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
"The Madman" = "joker",
"The Rainbow Color" = "rainbow",
"The Jester" = "chaos",
+ "The Dealer" = "cards"
))
/obj/item/clothing/mask/gas
@@ -25,19 +26,21 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
var/list/gas_filters
///Type of filter that spawns on roundstart
var/starting_filter_type = /obj/item/gas_filter
- ///Does the mask have an FOV?
- var/has_fov = TRUE
///Cigarette in the mask
var/obj/item/cigarette/cig
///How much does this mask affect fishing difficulty
var/fishing_modifier = 2
+ ///Applies clothing_dirt component to the pepperproof mask if true
+ var/pepper_tint = TRUE
/datum/armor/mask_gas
bio = 100
/obj/item/clothing/mask/gas/Initialize(mapload)
. = ..()
- init_fov()
+
+ if((flags_cover & PEPPERPROOF) && pepper_tint)
+ AddComponent(/datum/component/clothing_dirt)
if(fishing_modifier)
AddComponent(/datum/component/adjust_fishing_difficulty, fishing_modifier)
@@ -160,11 +163,6 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
has_filter = FALSE
return filtered_breath
-/// Initializes the FoV component for the gas mask
-/obj/item/clothing/mask/gas/proc/init_fov()
- if (has_fov)
- AddComponent(/datum/component/clothing_fov_visor, FOV_90_DEGREES)
-
/**
* Getter for overall filter durability, takes into consideration all filters filter_status
*/
@@ -267,7 +265,6 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
icon_state = "plaguedoctor"
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDESNOUT|HIDEHAIR
inhand_icon_state = "gas_mask"
- has_fov = FALSE
clothing_flags = BLOCK_GAS_SMOKE_EFFECT|MASKINTERNALS
/obj/item/clothing/mask/gas/syndicate
@@ -278,8 +275,8 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
resistance_flags = FIRE_PROOF | ACID_PROOF
strip_delay = 60
w_class = WEIGHT_CLASS_SMALL
- has_fov = FALSE
fishing_modifier = 0
+ pepper_tint = FALSE
/obj/item/clothing/mask/gas/clown_hat
name = "clown wig and mask"
@@ -296,7 +293,6 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
resistance_flags = FLAMMABLE
actions_types = list(/datum/action/item_action/adjust)
dog_fashion = /datum/dog_fashion/head/clown
- has_fov = FALSE
var/list/clownmask_designs = list()
voice_filter = null // performer masks expect to be talked through
fishing_modifier = 0
@@ -311,7 +307,8 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
"The Coquette" = image(icon = src.icon, icon_state = "sexyclown"),
"The Jester" = image(icon = src.icon, icon_state = "chaos"),
"The Madman" = image(icon = src.icon, icon_state = "joker"),
- "The Rainbow Color" = image(icon = src.icon, icon_state = "rainbow")
+ "The Rainbow Color" = image(icon = src.icon, icon_state = "rainbow"),
+ "The Dealer" = image(icon = src.icon, icon_state = "cards"),
)
//AddElement(/datum/element/swabable, CELL_LINE_TABLE_CLOWN, CELL_VIRUS_TABLE_GENERIC, rand(2,3), 0) //NOVA EDIT REMOVAL
@@ -341,9 +338,17 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
righthand_file = 'icons/mob/inhands/clothing/hats_righthand.dmi'
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE
- has_fov = FALSE
fishing_modifier = 0
+/obj/item/clothing/mask/gas/jonkler
+ name = "gamer's wig and mask"
+ desc = "But I am a gamer, and no man; A reproach of men, and despised by the people."
+ clothing_flags = MASKINTERNALS
+ icon_state = "jonkler"
+ inhand_icon_state = null
+ flags_cover = MASKCOVERSEYES
+ resistance_flags = FLAMMABLE
+
/obj/item/clothing/mask/gas/mime
name = "mime mask"
desc = "The traditional mime's mask. It has an eerie facial posture."
@@ -355,7 +360,6 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
resistance_flags = FLAMMABLE
actions_types = list(/datum/action/item_action/adjust)
species_exception = list(/datum/species/golem)
- has_fov = FALSE
fishing_modifier = 0
var/list/mimemask_designs = list()
@@ -414,7 +418,6 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
inhand_icon_state = "owl_mask"
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE
- has_fov = FALSE
fishing_modifier = 0
/obj/item/clothing/mask/gas/sexymime
@@ -426,7 +429,6 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE
species_exception = list(/datum/species/golem)
- has_fov = FALSE
fishing_modifier = 0
/obj/item/clothing/mask/gas/cyborg
@@ -434,7 +436,6 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
desc = "Beep boop."
icon_state = "death"
resistance_flags = FLAMMABLE
- has_fov = FALSE
flags_cover = MASKCOVERSEYES
fishing_modifier = 0
@@ -446,17 +447,15 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
clothing_flags = MASKINTERNALS
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE
- has_fov = FALSE
- fishing_modifier = -1
+ fishing_modifier = -2
/obj/item/clothing/mask/gas/carp
name = "carp mask"
desc = "Gnash gnash."
icon_state = "carp_mask"
inhand_icon_state = null
- has_fov = FALSE
flags_cover = MASKCOVERSEYES
- fishing_modifier = -3
+ fishing_modifier = -4
/obj/item/clothing/mask/gas/tiki_mask
name = "tiki mask"
@@ -465,12 +464,11 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
inhand_icon_state = null
custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT * 1.25)
resistance_flags = FLAMMABLE
- has_fov = FALSE
flags_cover = MASKCOVERSEYES
max_integrity = 100
actions_types = list(/datum/action/item_action/adjust)
dog_fashion = null
- fishing_modifier = -2
+ fishing_modifier = -4
var/list/tikimask_designs = list()
/obj/item/clothing/mask/gas/tiki_mask/Initialize(mapload)
@@ -512,8 +510,7 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
inhand_icon_state = "gas_atmos"
resistance_flags = FIRE_PROOF | ACID_PROOF
flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEYES|HIDEEARS|HIDEHAIR|HIDESNOUT
- has_fov = FALSE
- fishing_modifier = -2
+ fishing_modifier = -4
/obj/item/clothing/mask/gas/prop
name = "prop gas mask"
@@ -523,7 +520,6 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
clothing_flags = NONE
flags_cover = MASKCOVERSMOUTH
resistance_flags = FLAMMABLE
- has_fov = FALSE
fishing_modifier = 0
/obj/item/clothing/mask/gas/atmosprop
@@ -535,7 +531,6 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
clothing_flags = NONE
flags_cover = MASKCOVERSMOUTH
resistance_flags = FLAMMABLE
- has_fov = FALSE
fishing_modifier = 0
/obj/item/clothing/mask/gas/driscoll
diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm
index aee1ac17b1b..182bc3ace76 100644
--- a/code/modules/clothing/masks/hailer.dm
+++ b/code/modules/clothing/masks/hailer.dm
@@ -56,7 +56,6 @@ GLOBAL_LIST_INIT(hailer_phrases, list(
flags_cover = MASKCOVERSMOUTH
visor_flags_cover = MASKCOVERSMOUTH
tint = 0
- has_fov = FALSE
fishing_modifier = 0
unique_death = 'sound/items/sec_hailer/sec_death.ogg'
COOLDOWN_DECLARE(hailer_cooldown)
@@ -88,6 +87,7 @@ GLOBAL_LIST_INIT(hailer_phrases, list(
flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES | PEPPERPROOF
visor_flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES | PEPPERPROOF
fishing_modifier = 2
+ pepper_tint = FALSE
/obj/item/clothing/mask/gas/sechailer/swat/spacepol
name = "spacepol mask"
diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm
index 7e16bd3bdab..a02c7d1debf 100644
--- a/code/modules/clothing/neck/_neck.dm
+++ b/code/modules/clothing/neck/_neck.dm
@@ -215,7 +215,7 @@
/obj/item/clothing/neck/stethoscope/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2) //FISH DOCTOR?!
+ AddComponent(/datum/component/adjust_fishing_difficulty, -3) //FISH DOCTOR?!
/obj/item/clothing/neck/stethoscope/suicide_act(mob/living/carbon/user)
user.visible_message(span_suicide("[user] puts \the [src] to [user.p_their()] chest! It looks like [user.p_they()] won't hear much!"))
diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm
index 422cb34fa09..46bdd0742bb 100644
--- a/code/modules/clothing/outfits/standard.dm
+++ b/code/modules/clothing/outfits/standard.dm
@@ -98,7 +98,7 @@
box = /obj/item/storage/box
ears = /obj/item/radio/headset
gloves = /obj/item/clothing/gloves/color/red
- head = /obj/item/clothing/head/helmet/redtaghelm
+ head = /obj/item/clothing/head/helmet/taghelm/red
shoes = /obj/item/clothing/shoes/sneakers/red
/datum/outfit/traitor_cutout
@@ -141,7 +141,7 @@
suit = /obj/item/clothing/suit/bluetag
suit_store = /obj/item/gun/energy/laser/bluetag
gloves = /obj/item/clothing/gloves/color/blue
- head = /obj/item/clothing/head/helmet/bluetaghelm
+ head = /obj/item/clothing/head/helmet/taghelm/blue
shoes = /obj/item/clothing/shoes/sneakers/blue
/datum/outfit/tunnel_clown
diff --git a/code/modules/clothing/shoes/boots.dm b/code/modules/clothing/shoes/boots.dm
index 68a7b1bb0ae..77e7b2ff369 100644
--- a/code/modules/clothing/shoes/boots.dm
+++ b/code/modules/clothing/shoes/boots.dm
@@ -74,7 +74,7 @@
/obj/item/clothing/shoes/jackboots/floortile/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3) //tacticool
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5) //tacticool
/obj/item/clothing/shoes/winterboots
name = "winter boots"
@@ -181,7 +181,7 @@
/obj/item/clothing/shoes/pirate/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4)
/obj/item/clothing/shoes/pirate/armored
armor_type = /datum/armor/shoes_pirate
diff --git a/code/modules/clothing/shoes/costume.dm b/code/modules/clothing/shoes/costume.dm
index 3c66c0ac0c6..bbc0778e874 100644
--- a/code/modules/clothing/shoes/costume.dm
+++ b/code/modules/clothing/shoes/costume.dm
@@ -129,7 +129,7 @@
create_storage(storage_type = /datum/storage/pockets/shoes)
LoadComponent(/datum/component/squeak, list('sound/effects/quack.ogg' = 1), 50, falloff_exponent = 20)
- AddComponent(/datum/component/adjust_fishing_difficulty, -6) //deploy tactical duckling lure
+ AddComponent(/datum/component/adjust_fishing_difficulty, -7) //deploy tactical duckling lure
/obj/item/clothing/shoes/ducky_shoes/equipped(mob/living/user, slot)
. = ..()
diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm
index a9def021b96..506a4d9d9e4 100644
--- a/code/modules/clothing/spacesuits/_spacesuits.dm
+++ b/code/modules/clothing/spacesuits/_spacesuits.dm
@@ -25,6 +25,10 @@
resistance_flags = NONE
dog_fashion = null
slowdown = 0.5
+ sound_vary = TRUE
+ equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg'
+ pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg'
+ drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg'
///How much this helmet affects fishing difficulty
var/fishing_modifier = 3
diff --git a/code/modules/clothing/suits/costume.dm b/code/modules/clothing/suits/costume.dm
index 8e32e31acd2..fd361c90c08 100644
--- a/code/modules/clothing/suits/costume.dm
+++ b/code/modules/clothing/suits/costume.dm
@@ -264,7 +264,7 @@
/obj/item/clothing/suit/hooded/carp_costume/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4)
/obj/item/clothing/head/hooded/carp_hood
name = "carp hood"
@@ -279,7 +279,7 @@
/obj/item/clothing/head/hooded/carp_hood/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5)
/obj/item/clothing/head/hooded/carp_hood/equipped(mob/living/carbon/human/user, slot)
..()
@@ -403,7 +403,7 @@
/obj/item/clothing/suit/hooded/shark_costume/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4)
/obj/item/clothing/head/hooded/shark_hood
name = "shark hood"
@@ -417,7 +417,7 @@
/obj/item/clothing/head/hooded/shark_hood/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5)
/obj/item/clothing/suit/hooded/shork_costume // Oh God Why
name = "shork costume"
@@ -432,7 +432,7 @@
/obj/item/clothing/suit/hooded/shork_costume/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, 2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, 4)
/obj/item/clothing/head/hooded/shork_hood
name = "shork hood"
@@ -446,7 +446,7 @@
/obj/item/clothing/head/hooded/shork_hood/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, 3)
+ AddComponent(/datum/component/adjust_fishing_difficulty, 5)
/obj/item/clothing/suit/hooded/bloated_human //OH MY GOD WHAT HAVE YOU DONE!?!?!?
name = "bloated human suit"
@@ -615,7 +615,7 @@
/obj/item/clothing/suit/costume/hawaiian/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5)
/obj/item/clothing/suit/costume/football_armor
name = "football protective gear"
diff --git a/code/modules/clothing/suits/ethereal.dm b/code/modules/clothing/suits/ethereal.dm
index 1c86ca34094..031d5ac4c3c 100644
--- a/code/modules/clothing/suits/ethereal.dm
+++ b/code/modules/clothing/suits/ethereal.dm
@@ -14,7 +14,7 @@
/obj/item/clothing/suit/hooded/ethereal_raincoat/Initialize(mapload)
. = ..()
update_icon(UPDATE_OVERLAYS)
- AddComponent(/datum/component/adjust_fishing_difficulty, -3)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5)
/obj/item/clothing/suit/hooded/ethereal_raincoat/worn_overlays(mutable_appearance/standing, isinhands, icon_file)
. = ..()
@@ -33,7 +33,7 @@
/obj/item/clothing/suit/hooded/ethereal_raincoat/trailwarden/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -5)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -7)
/obj/item/clothing/suit/hooded/ethereal_raincoat/trailwarden/equipped(mob/living/user, slot)
. = ..()
@@ -56,4 +56,4 @@
/obj/item/clothing/head/hooded/ethereal_rainhood/trailwarden/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -4)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -6)
diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm
index 50455822963..affe103e307 100644
--- a/code/modules/clothing/suits/jobs.dm
+++ b/code/modules/clothing/suits/jobs.dm
@@ -54,7 +54,7 @@
/obj/item/clothing/suit/apron/overalls/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4)
//Captain
/obj/item/clothing/suit/jacket/capjacket
@@ -356,7 +356,7 @@
/obj/item/clothing/suit/apron/surgical/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2) // FISH DOCTOR?!
+ AddComponent(/datum/component/adjust_fishing_difficulty, -3) // FISH DOCTOR?!
//Curator
/obj/item/clothing/suit/jacket/curator
diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm
index 5453d048b0e..18a5e60d740 100644
--- a/code/modules/clothing/suits/labcoat.dm
+++ b/code/modules/clothing/suits/labcoat.dm
@@ -40,7 +40,7 @@
/obj/item/clothing/suit/toggle/labcoat/cmo/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2) //FISH DOCTOR?!
+ AddComponent(/datum/component/adjust_fishing_difficulty, -3) //FISH DOCTOR?!
/datum/armor/toggle_labcoat
bio = 50
@@ -63,7 +63,7 @@
/obj/item/clothing/suit/toggle/labcoat/paramedic/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2) //FISH DOCTOR?!
+ AddComponent(/datum/component/adjust_fishing_difficulty, -3) //FISH DOCTOR?!
/obj/item/clothing/suit/toggle/labcoat/mad
name = "\proper The Mad's labcoat"
diff --git a/code/modules/clothing/suits/moth.dm b/code/modules/clothing/suits/moth.dm
index 076a0dd0b3c..b9c8ab64fa6 100644
--- a/code/modules/clothing/suits/moth.dm
+++ b/code/modules/clothing/suits/moth.dm
@@ -16,7 +16,7 @@
/obj/item/clothing/suit/mothcoat/original/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5)
create_storage(storage_type = /datum/storage/pockets)
/obj/item/clothing/suit/mothcoat/winter
diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm
index 704182f3642..794ebfbff49 100644
--- a/code/modules/clothing/suits/wiz_robe.dm
+++ b/code/modules/clothing/suits/wiz_robe.dm
@@ -12,7 +12,7 @@
resistance_flags = FIRE_PROOF | ACID_PROOF
dog_fashion = /datum/dog_fashion/head/blue_wizard
///How much this hat affects fishing difficulty
- var/fishing_modifier = -4
+ var/fishing_modifier = -6
/obj/item/clothing/head/wizard/Initialize(mapload)
. = ..()
@@ -54,7 +54,7 @@
armor_type = /datum/armor/none
resistance_flags = FLAMMABLE
dog_fashion = /datum/dog_fashion/head/blue_wizard
- fishing_modifier = -1
+ fishing_modifier = -2
/obj/item/clothing/head/wizard/chanterelle
name = "chanterelle hat"
@@ -122,7 +122,7 @@
clothing_flags = CASTING_CLOTHES
resistance_flags = FIRE_PROOF | ACID_PROOF
///How much this robe affects fishing difficulty
- var/fishing_modifier = -6
+ var/fishing_modifier = -7
/obj/item/clothing/suit/wizrobe/Initialize(mapload)
. = ..()
@@ -194,20 +194,20 @@
inhand_icon_state = "wizrobe"
armor_type = /datum/armor/none
resistance_flags = FLAMMABLE
- fishing_modifier = -2
+ fishing_modifier = -3
/obj/item/clothing/head/wizard/marisa/fake
name = "witch hat"
armor_type = /datum/armor/none
resistance_flags = FLAMMABLE
- fishing_modifier = -1
+ fishing_modifier = -2
/obj/item/clothing/head/wizard/tape/fake
name = "tape hat"
desc = "A hat designed exclusively from duct tape. You can barely see."
armor_type = /datum/armor/none
resistance_flags = FLAMMABLE
- fishing_modifier = -1
+ fishing_modifier = -2
/obj/item/clothing/suit/wizrobe/marisa/fake
name = "witch robe"
@@ -216,14 +216,14 @@
inhand_icon_state = null
armor_type = /datum/armor/none
resistance_flags = FLAMMABLE
- fishing_modifier = -2
+ fishing_modifier = -3
/obj/item/clothing/suit/wizrobe/tape/fake
name = "tape robe"
desc = "An outfit designed exclusively from duct tape. It was hard to put on."
armor_type = /datum/armor/none
resistance_flags = FLAMMABLE
- fishing_modifier = -2
+ fishing_modifier = -3
/obj/item/clothing/suit/wizrobe/paper
name = "papier-mache robe" // no non-latin characters!
@@ -241,7 +241,7 @@
inhand_icon_state = null
armor_type = /datum/armor/robe_durathread
allowed = /obj/item/clothing/suit/apron::allowed
- fishing_modifier = -4
+ fishing_modifier = -6
/datum/armor/robe_durathread
melee = 15
diff --git a/code/modules/clothing/under/jobs/civilian/curator.dm b/code/modules/clothing/under/jobs/civilian/curator.dm
index f08657cee07..44be99b8951 100644
--- a/code/modules/clothing/under/jobs/civilian/curator.dm
+++ b/code/modules/clothing/under/jobs/civilian/curator.dm
@@ -30,7 +30,7 @@
/obj/item/clothing/under/rank/civilian/curator/treasure_hunter/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -3)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5)
/obj/item/clothing/under/rank/civilian/curator/nasa
name = "\improper NASA jumpsuit"
diff --git a/code/modules/clothing/under/jobs/medical.dm b/code/modules/clothing/under/jobs/medical.dm
index 2dea3324082..9937e23929a 100644
--- a/code/modules/clothing/under/jobs/medical.dm
+++ b/code/modules/clothing/under/jobs/medical.dm
@@ -46,7 +46,7 @@
/obj/item/clothing/under/rank/medical/chief_medical_officer/scrubs/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2) //FISH DOCTOR?!
+ AddComponent(/datum/component/adjust_fishing_difficulty, -3) //FISH DOCTOR?!
/obj/item/clothing/under/rank/medical/chief_medical_officer/turtleneck
name = "chief medical officer's turtleneck"
@@ -88,7 +88,7 @@
/obj/item/clothing/under/rank/medical/scrubs/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2) //FISH DOCTOR?!
+ AddComponent(/datum/component/adjust_fishing_difficulty, -3) //FISH DOCTOR?!
/obj/item/clothing/under/rank/medical/scrubs/blue
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue."
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 588dd8efc2a..70d2a5eeadb 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -60,7 +60,7 @@
/obj/item/clothing/under/misc/adminsuit/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -15)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -25)
/datum/armor/clothing_under/adminsuit
melee = 100
diff --git a/code/modules/clothing/under/suits.dm b/code/modules/clothing/under/suits.dm
index 98f41f407ca..07ec1a59c49 100644
--- a/code/modules/clothing/under/suits.dm
+++ b/code/modules/clothing/under/suits.dm
@@ -119,4 +119,4 @@
/obj/item/clothing/under/suit/carpskin/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4)
diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm
index e4653b1c9bd..ac6af3f2f7f 100644
--- a/code/modules/clothing/under/syndicate.dm
+++ b/code/modules/clothing/under/syndicate.dm
@@ -36,7 +36,7 @@
/obj/item/clothing/under/syndicate/bloodred/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2) //extra-tactical
+ AddComponent(/datum/component/adjust_fishing_difficulty, -4) //extra-tactical
/datum/armor/clothing_under/syndicate_bloodred
melee = 10
@@ -125,7 +125,7 @@
/obj/item/clothing/under/syndicate/floortilecamo/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -4) //tacticool
+ AddComponent(/datum/component/adjust_fishing_difficulty, -5) //tacticool
/obj/item/clothing/under/syndicate/soviet
name = "Ratnik 5 tracksuit"
@@ -170,7 +170,7 @@
/obj/item/clothing/under/syndicate/scrubs/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -2) //FISH DOCTOR?!
+ AddComponent(/datum/component/adjust_fishing_difficulty, -3) //FISH DOCTOR?!
/datum/armor/clothing_under/syndicate_scrubs
melee = 10
diff --git a/code/modules/deathmatch/deathmatch_lobby.dm b/code/modules/deathmatch/deathmatch_lobby.dm
index 98465be9b03..a79bd3aa21d 100644
--- a/code/modules/deathmatch/deathmatch_lobby.dm
+++ b/code/modules/deathmatch/deathmatch_lobby.dm
@@ -139,7 +139,7 @@
observer.client?.prefs.safe_transfer_prefs_to(new_player)
new_player.dna.update_dna_identity()
new_player.updateappearance(icon_update = TRUE, mutcolor_update = TRUE, mutations_overlay_update = TRUE)
- new_player.add_traits(list(TRAIT_CANNOT_CRYSTALIZE, TRAIT_PERMANENTLY_MORTAL), INNATE_TRAIT)
+ new_player.add_traits(list(TRAIT_CANNOT_CRYSTALIZE, TRAIT_PERMANENTLY_MORTAL, TRAIT_TEMPORARY_BODY), INNATE_TRAIT)
if(!isnull(observer.mind) && observer.mind?.current)
new_player.AddComponent( \
/datum/component/temporary_body, \
diff --git a/code/modules/experisci/experiment/types/scanning_fish.dm b/code/modules/experisci/experiment/types/scanning_fish.dm
index 3ea4f543687..96832cd8672 100644
--- a/code/modules/experisci/experiment/types/scanning_fish.dm
+++ b/code/modules/experisci/experiment/types/scanning_fish.dm
@@ -13,7 +13,7 @@ GLOBAL_LIST_EMPTY(scanned_fish_by_techweb)
allowed_experimentors = list(/obj/item/experi_scanner, /obj/machinery/destructive_scanner, /obj/item/fishing_rod/tech, /obj/item/fish_analyzer)
traits = EXPERIMENT_TRAIT_TYPECACHE
points_reward = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS )
- required_atoms = list(/obj/item/fish = 4)
+ required_atoms = list(/obj/item/fish = 3)
scan_message = "Scan different species of fish"
///Further experiments added to the techweb when this one is completed.
var/list/next_experiments = list(/datum/experiment/scanning/fish/second)
@@ -79,26 +79,26 @@ GLOBAL_LIST_EMPTY(scanned_fish_by_techweb)
/datum/experiment/scanning/fish/second
name = "Fish Scanning Experiment 2"
- description = "An experiment requiring more fish species to be scanned to unlock the 'Chasm' setting for the fishing portal."
+ description = "An experiment requiring more fish species to be scanned to unlock the 'Ocean' setting for the fishing portal."
points_reward = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS )
- required_atoms = list(/obj/item/fish = 8)
+ required_atoms = list(/obj/item/fish = 7)
next_experiments = list(/datum/experiment/scanning/fish/third)
- fish_source_reward = /datum/fish_source/portal/chasm
+ fish_source_reward = /datum/fish_source/portal/ocean
/datum/experiment/scanning/fish/third
name = "Fish Scanning Experiment 3"
- description = "An experiment requiring even more fish species to be scanned to unlock the 'Ocean' setting for the fishing portal."
+ description = "An experiment requiring even more fish species to be scanned to unlock the 'Chasm' setting for the fishing portal."
points_reward = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS )
- required_atoms = list(/obj/item/fish = 14)
+ required_atoms = list(/obj/item/fish = 11)
next_experiments = list(/datum/experiment/scanning/fish/fourth, /datum/experiment/scanning/fish/holographic)
- fish_source_reward = /datum/fish_source/portal/ocean
+ fish_source_reward = /datum/fish_source/portal/chasm
/datum/experiment/scanning/fish/holographic
name = "Holographic Fish Scanning Experiment"
description = "This one actually requires holographic fish to unlock the 'Randomizer' setting for the fishing portal."
performance_hint = "Load in the 'Beach' template at the Holodeck to fish some holo-fish."
points_reward = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS )
- required_atoms = list(/obj/item/fish/holo = 4)
+ required_atoms = list(/obj/item/fish/holo = 3)
scan_message = "Scan different species of holographic fish"
next_experiments = null
fish_source_reward = /datum/fish_source/portal/random
@@ -111,6 +111,6 @@ GLOBAL_LIST_EMPTY(scanned_fish_by_techweb)
name = "Fish Scanning Experiment 4"
description = "An experiment requiring lotsa fish species to unlock the 'Hyperspace' setting for the fishing portal."
points_reward = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS )
- required_atoms = list(/obj/item/fish = 21)
+ required_atoms = list(/obj/item/fish = 17)
next_experiments = null
fish_source_reward = /datum/fish_source/portal/hyperspace
diff --git a/code/modules/fishing/admin.dm b/code/modules/fishing/admin.dm
index 46212f42128..53aefaf3338 100644
--- a/code/modules/fishing/admin.dm
+++ b/code/modules/fishing/admin.dm
@@ -33,8 +33,14 @@ ADMIN_VERB(fishing_calculator, R_DEBUG, "Fishing Calculator", "A calculator... f
switch(action)
if("recalc")
var/rod_type = text2path(params["rod"])
- var/bait_type = text2path(params["bait"])
+ if(!rod_type)
+ to_chat(user, span_warning("A fishing rod is needed in order to fish."))
+ return
var/hook_type = text2path(params["hook"])
+ if(!hook_type)
+ to_chat(user, span_warning("A fishing hook is needed in order to fish."))
+ return
+ var/bait_type = text2path(params["bait"])
var/line_type = text2path(params["line"])
var/datum/fish_source/spot = GLOB.preset_fish_sources[text2path(params["spot"])]
@@ -45,8 +51,7 @@ ADMIN_VERB(fishing_calculator, R_DEBUG, "Fishing Calculator", "A calculator... f
if(bait_type)
temporary_rod.set_slot(new bait_type(temporary_rod), ROD_SLOT_BAIT)
- if(hook_type)
- temporary_rod.set_slot(new hook_type(temporary_rod), ROD_SLOT_HOOK)
+ temporary_rod.set_slot(new hook_type(temporary_rod), ROD_SLOT_HOOK)
if(line_type)
temporary_rod.set_slot(new line_type(temporary_rod), ROD_SLOT_LINE)
diff --git a/code/modules/fishing/aquarium/aquarium.dm b/code/modules/fishing/aquarium/aquarium.dm
index 56de1a9b10f..ea37c9dc759 100644
--- a/code/modules/fishing/aquarium/aquarium.dm
+++ b/code/modules/fishing/aquarium/aquarium.dm
@@ -356,7 +356,7 @@
fluid_type = params["fluid"]
SEND_SIGNAL(src, COMSIG_AQUARIUM_FLUID_CHANGED, fluid_type)
. = TRUE
- if("reproduction_and_growth")
+ if("allow_breeding")
reproduction_and_growth = !reproduction_and_growth
. = TRUE
if("feeding_interval")
@@ -371,10 +371,10 @@
to_chat(user, span_notice("You take out [item] from [src]."))
if("rename_fish")
var/new_name = sanitize_name(params["chosen_name"])
- if(!new_name)
- return
var/atom/movable/fish = locate(params["fish_reference"]) in contents
- fish.name = new_name
+ if(!fish || !new_name || new_name == fish.name)
+ return
+ fish.AddComponent(/datum/component/rename, new_name, fish.desc)
/obj/structure/aquarium/ui_interact(mob/user, datum/tgui/ui)
. = ..()
diff --git a/code/modules/fishing/aquarium/fish_analyzer.dm b/code/modules/fishing/aquarium/fish_analyzer.dm
index 905d3549128..617d8b600ba 100644
--- a/code/modules/fishing/aquarium/fish_analyzer.dm
+++ b/code/modules/fishing/aquarium/fish_analyzer.dm
@@ -119,12 +119,12 @@
data["fish_list"] += list(list(
"fish_name" = fishie.name,
- "fish_icon" = fishie::icon,
- "fish_icon_state" = fishie::icon_state,
+ "fish_icon" = fishie.icon,
+ "fish_icon_state" = fishie.base_icon_state,
"fish_health" = fishie.status == FISH_DEAD ? 0 : PERCENT(fishie.health/initial(fishie.health)),
"fish_size" = fishie.size,
"fish_weight" = fishie.weight,
- "fish_food" = fishie.food::name,
+ "fish_food" = fishie.food.name,
"fish_food_color" = fishie.food::color,
"fish_min_temp" = fishie.required_temperature_min,
"fish_max_temp" = fishie.required_temperature_max,
diff --git a/code/modules/fishing/fish/_fish.dm b/code/modules/fishing/fish/_fish.dm
index 2a08f566347..4a8efadcbcc 100644
--- a/code/modules/fishing/fish/_fish.dm
+++ b/code/modules/fishing/fish/_fish.dm
@@ -173,6 +173,9 @@
ADD_TRAIT(src, TRAIT_UNCOMPOSTABLE, REF(src)) //Composting a food that is not real food wouldn't work anyway.
START_PROCESSING(SSobj, src)
+ //Adding this because not all fish have the gore foodtype that makes them automatically eligible for dna infusion.
+ ADD_TRAIT(src, TRAIT_VALID_DNA_INFUSION, INNATE_TRAIT)
+
//stops new fish from being able to reproduce right away.
breeding_wait = world.time + (breeding_timeout * NEW_FISH_BREEDING_TIMEOUT_MULT)
last_feeding = world.time - (feeding_frequency * NEW_FISH_LAST_FEEDING_MULT)
diff --git a/code/modules/fishing/fish/types/freshwater.dm b/code/modules/fishing/fish/types/freshwater.dm
index fe0ff437c7d..75d4891b4f0 100644
--- a/code/modules/fishing/fish/types/freshwater.dm
+++ b/code/modules/fishing/fish/types/freshwater.dm
@@ -175,7 +175,7 @@
/obj/item/fish/tadpole/Initialize(mapload, apply_qualities = TRUE)
. = ..()
- AddComponent(/datum/component/fish_growth, /mob/living/basic/frog, rand(2.5, 3 MINUTES))
+ AddComponent(/datum/component/fish_growth, /mob/living/basic/frog, rand(2 MINUTES, 3 MINUTES))
RegisterSignal(src, COMSIG_FISH_BEFORE_GROWING, PROC_REF(growth_checks))
RegisterSignal(src, COMSIG_FISH_FINISH_GROWING, PROC_REF(on_growth))
diff --git a/code/modules/fishing/fish/types/station.dm b/code/modules/fishing/fish/types/station.dm
index e811996d5af..96a7ca7e99f 100644
--- a/code/modules/fishing/fish/types/station.dm
+++ b/code/modules/fishing/fish/types/station.dm
@@ -170,6 +170,10 @@
)
return return_list
+#define FISH_FRITTERISH "fritterish"
+#define FISH_BERNARD "bernard"
+#define FISH_MATTHEW "matthew"
+
/obj/item/fish/fryish/fritterish
name = "fritterish"
desc = "A deliciously extremophile alien fish. This one looks like a taiyaki."
@@ -185,21 +189,45 @@
is_bait = FALSE
next_type = /datum/fish_evolution/nessie
growth_time = 8 MINUTES
+ ///fritterish can have different forms assigned to them on init. These are purely visual.
+ var/variant = FISH_FRITTERISH
/obj/item/fish/fryish/fritterish/Initialize(mapload, apply_qualities = TRUE)
. = ..()
- base_icon_state = icon_state = pick("fritterish", "bernardfish", "matthewfish")
- switch(icon_state)
- if("bernardfish")
+ variant = pick(FISH_FRITTERISH, FISH_BERNARD, FISH_MATTHEW)
+ switch(variant)
+ if(FISH_BERNARD)
name = "bernard-fish"
desc = "A deliciously> extremophile alien fish shaped like a dinosaur. Children love it."
+ base_icon_state = icon_state = "bernardfish"
sprite_width = 4
sprite_height = 6
- if("matthewfish")
- desc = "A deliciously> extremophile alien fish shaped like a pterodactyl. Children love it."
+ if(FISH_MATTHEW)
name = "matthew-fish"
+ desc = "A deliciously> extremophile alien fish shaped like a pterodactyl. Children love it."
+ base_icon_state = icon_state = "matthewfish"
sprite_width = 6
+/obj/item/fish/fryish/fritterish/update_name()
+ switch(variant)
+ if(FISH_BERNARD)
+ name = "bernard-fish"
+ if(FISH_MATTHEW)
+ name = "matthew-fish"
+ return ..()
+
+/obj/item/fish/fryish/fritterish/update_desc()
+ switch(variant)
+ if(FISH_BERNARD)
+ desc = "A deliciously> extremophile alien fish shaped like a dinosaur. Children love it."
+ if(FISH_MATTHEW)
+ desc = "A deliciously> extremophile alien fish shaped like a pterodactyl. Children love it."
+ return ..()
+
+#undef FISH_FRITTERISH
+#undef FISH_BERNARD
+#undef FISH_MATTHEW
+
/obj/item/fish/fryish/nessie
name = "nessie-fish"
desc = "A deliciously extremophile alien fish. This one is so big, you could write legends about it."
diff --git a/code/modules/fishing/fish_catalog.dm b/code/modules/fishing/fish_catalog.dm
index 4f329861ff9..f95358c8763 100644
--- a/code/modules/fishing/fish_catalog.dm
+++ b/code/modules/fishing/fish_catalog.dm
@@ -8,7 +8,7 @@
/obj/item/book/manual/fish_catalog/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/adjust_fishing_difficulty, -4, ITEM_SLOT_HANDS)
+ AddComponent(/datum/component/adjust_fishing_difficulty, -7, ITEM_SLOT_HANDS)
/obj/item/book/manual/fish_catalog/ui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui)
diff --git a/code/modules/fishing/fish_movement.dm b/code/modules/fishing/fish_movement.dm
index b288161b192..952db364d44 100644
--- a/code/modules/fishing/fish_movement.dm
+++ b/code/modules/fishing/fish_movement.dm
@@ -103,7 +103,31 @@
var/acceleration_mult = get_acceleration(seconds_per_tick)
var/target_acceleration = distance * acceleration_mult * seconds_per_tick
+ if(fish_idle_velocity)
+ var/idle_velocity = fish_idle_velocity
+ var/abs_idle_vel = abs(idle_velocity)
+ //Make sure idle velocity doesn't manage to halt fish to a grind and getting them unable to move.
+ //First, check if the directions of the two forces are oppositve
+ if((idle_velocity / abs_idle_vel) != (target_acceleration / abs(target_acceleration)))
+ //Then, calculate the ratio between absolute idle velocity and halved acceleration multiplier.
+ var/halved_ratio = (acceleration_mult * 0.5) / abs_idle_vel
+ /**
+ * If the idle velocity is more than half the acceleration,
+ * proceed to use powers, for diminishing loss of acceleration per additional unit of idle velocity.
+ * This way you never reach 0 acceleration while allowing more extreme values to keep lowering it.
+ */
+ if(halved_ratio < 1)
+ var/power = min(halved_ratio + 0.5, 1)
+ target_acceleration *= 1 - (halved_ratio^power)
+ /**
+ * Otherwise we add the idle velocity (which we know is of opposite sign and
+ * has an absolute value between 0.ε and 0.5) to the target velocity
+ */
+ else
+ target_acceleration += idle_velocity
+
fish_velocity = fish_velocity * FISH_FRICTION_MULT + target_acceleration
+
else if(can_roll && prob(short_chance))
var/distance_from_top = FISHING_MINIGAME_AREA - master.fish_position - master.fish_height
var/distance_from_bottom = master.fish_position
@@ -115,7 +139,7 @@
target_position = clamp(master.fish_position + jump_length, 0, FISHING_MINIGAME_AREA - master.fish_height)
current_velocity_limit = short_jump_velocity_limit
- fish_velocity = clamp(fish_velocity + fish_idle_velocity, -current_velocity_limit, current_velocity_limit)
+ fish_velocity = clamp(fish_velocity, -current_velocity_limit, current_velocity_limit)
set_fish_position(seconds_per_tick)
///Proc that returns the acceleration of the fish during the minigame.
diff --git a/code/modules/fishing/fishing_equipment.dm b/code/modules/fishing/fishing_equipment.dm
index ccad3b47080..cddabd90c06 100644
--- a/code/modules/fishing/fishing_equipment.dm
+++ b/code/modules/fishing/fishing_equipment.dm
@@ -289,7 +289,7 @@
material_flags = NONE
custom_price = PAYCHECK_CREW * 3
///How much holding this affects fishing difficulty
- var/fishing_modifier = -2
+ var/fishing_modifier = -4
/obj/item/storage/toolbox/fishing/Initialize(mapload)
. = ..()
@@ -298,7 +298,7 @@
/obj/item/fishing_rod,
))
atom_storage.exception_hold = exception_cache
- AddComponent(/datum/component/adjust_fishing_difficulty, -2, ITEM_SLOT_HANDS)
+ AddComponent(/datum/component/adjust_fishing_difficulty, fishing_modifier, ITEM_SLOT_HANDS)
/obj/item/storage/toolbox/fishing/PopulateContents()
new /obj/item/bait_can/worm(src)
@@ -326,10 +326,10 @@
/obj/item/storage/toolbox/fishing/master
name = "super fishing toolbox"
- desc = "Contains EVERYTHING (almost) you need for your fishing trip."
+ desc = "Contains (almost) EVERYTHING you need for your fishing trip."
icon_state = "gold"
inhand_icon_state = "toolbox_gold"
- fishing_modifier = -7
+ fishing_modifier = -10
/obj/item/storage/toolbox/fishing/master/PopulateContents()
new /obj/item/fishing_rod/telescopic/master(src)
@@ -339,7 +339,6 @@
new /obj/item/fish_feed(src)
new /obj/item/aquarium_kit(src)
new /obj/item/fish_analyzer(src)
- new /obj/item/experi_scanner(src)
/obj/item/storage/box/fishing_hooks
name = "fishing hook set"
diff --git a/code/modules/fishing/fishing_minigame.dm b/code/modules/fishing/fishing_minigame.dm
index 30ce2b33ad0..646b9816a6e 100644
--- a/code/modules/fishing/fishing_minigame.dm
+++ b/code/modules/fishing/fishing_minigame.dm
@@ -149,7 +149,9 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
if(rod.hook.fishing_hook_traits & FISHING_HOOK_KILL)
special_effects |= FISHING_MINIGAME_RULE_KILL
+ //Finish the minigame faster at higher skill. The value modifiers for fishing are negative values btw.
completion_loss += user.mind?.get_skill_modifier(/datum/skill/fishing, SKILL_VALUE_MODIFIER)/5
+ completion_gain -= user.mind?.get_skill_modifier(/datum/skill/fishing, SKILL_VALUE_MODIFIER)/7.5
/datum/fishing_challenge/Destroy(force)
GLOB.fishing_challenges_by_user -= user
diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm
index 62d0cdf80a2..bfa701d36eb 100644
--- a/code/modules/fishing/fishing_rod.dm
+++ b/code/modules/fishing/fishing_rod.dm
@@ -521,6 +521,11 @@
line = null
show_in_wiki = FALSE
+///From the mining order console, meant to help miners rescue their fallen brethren
+/obj/item/fishing_rod/rescue
+ hook = /obj/item/fishing_hook/rescue
+ show_in_wiki = FALSE
+
/obj/item/fishing_rod/bone
name = "bone fishing rod"
desc = "A humble rod, made with whatever happened to be on hand."
diff --git a/code/modules/fishing/sources/_fish_source.dm b/code/modules/fishing/sources/_fish_source.dm
index c2db0a43fc9..9a02e0b270b 100644
--- a/code/modules/fishing/sources/_fish_source.dm
+++ b/code/modules/fishing/sources/_fish_source.dm
@@ -339,8 +339,8 @@ GLOBAL_LIST_INIT(specific_fish_icons, generate_specific_fish_icons())
if(HAS_TRAIT(fisherman, TRAIT_PROFOUND_FISHER) && !fisherman.client)
final_table -= profound_fisher_blacklist
for(var/result in final_table)
- final_table[result] *= rod.hook?.get_hook_bonus_multiplicative(result)
- final_table[result] += rod.hook?.get_hook_bonus_additive(result)//Decide on order here so it can be multiplicative
+ final_table[result] *= rod.hook.get_hook_bonus_multiplicative(result)
+ final_table[result] += rod.hook.get_hook_bonus_additive(result)//Decide on order here so it can be multiplicative
if(ispath(result, /obj/item/fish))
if(bait)
@@ -408,25 +408,47 @@ GLOBAL_LIST_INIT(specific_fish_icons, generate_specific_fish_icons())
var/list/known_fishes = list()
var/obj/item/fishing_rod/rod = user.get_active_held_item()
- if(!istype(rod))
+ var/list/final_table
+ if(!istype(rod) || !rod.hook)
rod = null
+ else
+ final_table = get_modified_fish_table(rod, user, location)
+ var/total_weight = 0
+ var/list/rodless_weights = list()
+ var/total_rod_weight = 0
+ var/list/rod_weights = list()
for(var/reward in fish_table)
+ var/weight = fish_table[reward]
+ var/final_weight
+ if(rod)
+ total_weight += weight
+ final_weight = final_table[reward]
+ total_rod_weight += final_weight
if(!ispath(reward, /obj/item/fish))
continue
var/obj/item/fish/prototype = reward
- if(initial(prototype.fish_flags) & FISH_FLAG_SHOW_IN_CATALOG)
+ if(!(initial(prototype.fish_flags) & FISH_FLAG_SHOW_IN_CATALOG))
+ continue
+ if(rod)
+ rodless_weights[reward] = weight
+ rod_weights[reward] = final_weight
+ else
+ known_fishes += initial(prototype.name)
+
+ if(rod)
+ for(var/reward in rodless_weights)
+ var/percent_weight = rodless_weights[reward] / total_weight
+ var/percent_rod_weight = rod_weights[reward] / total_rod_weight
+ var/obj/item/fish/prototype = reward
var/init_name = initial(prototype.name)
- if(rod)
- var/init_weight = fish_table[reward]
- var/weight = (rod.bait ? rod.bait.check_bait(prototype) : 1)
- weight = get_fish_trait_catch_mods(weight, reward, rod, user, location)
- if(weight > init_weight)
- init_name = span_bold(init_name)
- if(weight/init_weight >= 3.5)
- init_name = "init_name"
- else if(weight < init_weight)
- init_name = span_small(init_name)
+ var/ratio = percent_weight/percent_rod_weight
+ if(ratio < 0.9)
+ init_name = span_bold(init_name)
+ if(ratio < 0.3)
+ init_name = "[init_name]"
+ else if(ratio > 1.1)
+ init_name = span_small(init_name)
known_fishes += init_name
if(!length(known_fishes))
@@ -436,7 +458,7 @@ GLOBAL_LIST_INIT(specific_fish_icons, generate_specific_fish_icons())
if(rod)
info = span_tooltip("boldened are the fish you're more likely to catch with your current setup. The opposite is true for smaller names", info)
- examine_text += span_info("[info]: [english_list(known_fishes)].")
+ examine_text += examine_block(span_info("[info]: [english_list(known_fishes)]."))
/datum/fish_source/proc/spawn_reward_from_explosion(atom/location, severity)
if(!explosive_malus)
diff --git a/code/modules/jobs/job_types/assistant/gimmick_assistants.dm b/code/modules/jobs/job_types/assistant/gimmick_assistants.dm
index 23fd9616ee3..e86698c8720 100644
--- a/code/modules/jobs/job_types/assistant/gimmick_assistants.dm
+++ b/code/modules/jobs/job_types/assistant/gimmick_assistants.dm
@@ -54,7 +54,7 @@
/datum/outfit/job/assistant/gimmick/skater
name = "Gimmick Assistant - Skater"
- head = /obj/item/clothing/head/helmet/redtaghelm
+ head = /obj/item/clothing/head/helmet/taghelm/red
suit = /obj/item/clothing/suit/redtag
l_hand = /obj/item/melee/skateboard
@@ -65,7 +65,7 @@
/datum/outfit/job/assistant/gimmick/rollerskater
name = "Gimmick Assistant - Rollerskater"
- head = /obj/item/clothing/head/helmet/bluetaghelm
+ head = /obj/item/clothing/head/helmet/taghelm/blue
suit = /obj/item/clothing/suit/bluetag
shoes = /obj/item/clothing/shoes/wheelys/rollerskates
diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm
index 2fd4f3a93a6..80936dce293 100644
--- a/code/modules/jobs/job_types/paramedic.dm
+++ b/code/modules/jobs/job_types/paramedic.dm
@@ -24,7 +24,7 @@
/datum/job_department/medical,
)
- family_heirlooms = list(/obj/item/storage/medkit/ancient/heirloom)
+ family_heirlooms = list(/obj/item/storage/medkit/ancient/heirloom, /obj/item/fishing_hook/rescue)
mail_goodies = list(
/obj/item/reagent_containers/hypospray/medipen = 20,
diff --git a/code/modules/library/bibles.dm b/code/modules/library/bibles.dm
index eda1f18f8e7..52a1b913163 100644
--- a/code/modules/library/bibles.dm
+++ b/code/modules/library/bibles.dm
@@ -340,7 +340,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
hitsound = 'sound/items/weapons/sear.ogg'
damtype = BURN
attack_verb_continuous = list("attacks", "burns", "blesses", "damns", "scorches", "curses", "smites")
- attack_verb_simple = list("attack", "burn", "bless", "damn", "scorch", "curses", "smites")
+ attack_verb_simple = list("attack", "burn", "bless", "damn", "scorch", "curse", "smite")
deity_name = "The Syndicate"
var/uses = 1
var/owner_name
diff --git a/code/modules/library/skill_learning/generic_skillchips/acrobatics.dm b/code/modules/library/skill_learning/generic_skillchips/acrobatics.dm
new file mode 100644
index 00000000000..75705aca97a
--- /dev/null
+++ b/code/modules/library/skill_learning/generic_skillchips/acrobatics.dm
@@ -0,0 +1,171 @@
+/obj/item/skillchip/acrobatics
+ name = "old F058UR7 skillchip"
+ desc = "A formerly cutting-edge skillchip that granted the user an advanced, Olympian-level degree of kinesthesics for flipping, spinning, and absolutely nothing else. \
+ It was pulled off the markets shortly after release due to users damaging the chip's integrity from excessive acrobatics, causing deadly malfunctions. It really puts the 'flop' in 'Fosbury Flop'!"
+ skill_name = "Spinesthetics"
+ skill_description = "Allows you to flip and spin at an illegal and dangerous rate."
+ skill_icon = FA_ICON_WHEELCHAIR_ALT
+ activate_message = span_notice("You suddenly have an extremely advanced and complex sense of how to spin and flip with grace.")
+ deactivate_message = span_notice("Your divine grasp of Spinesthesics disappears entirely.")
+ custom_premium_price = PAYCHECK_CREW * 4
+ /// set integrity to 1 when mapping for !!FUN!!
+ max_integrity = 100
+ /// list of emotes whose cd is overridden by this skillchip. can be edited in mapping or ingame
+ var/list/affected_emotes = list("spin", "flip")
+ var/datum/effect_system/spark_spread/sparks
+ // you can use this without lowering integrity! let's be honest. nobody's doing that
+ var/allowed_usage = 3
+ var/reload_charge = 10 SECONDS
+ // current particle effect used for smoking brain
+ var/obj/effect/abstract/particle_holder/particle_effect
+
+/obj/item/skillchip/acrobatics/on_activate(mob/living/carbon/user, silent = FALSE)
+ . = ..()
+ RegisterSignal(user, COMSIG_MOB_EMOTE_COOLDOWN_CHECK, PROC_REF(whowee))
+
+/obj/item/skillchip/acrobatics/on_deactivate(mob/living/carbon/user, silent)
+ . = ..()
+ UnregisterSignal(user, COMSIG_MOB_EMOTE_COOLDOWN_CHECK)
+
+/obj/item/skillchip/acrobatics/Destroy(force)
+ QDEL_NULL(sparks)
+ QDEL_NULL(particle_effect)
+ return ..()
+
+/obj/item/skillchip/acrobatics/proc/whowee(mob/living/carbon/bozo, emote_key, emote_intentional)
+ SIGNAL_HANDLER
+
+ if(!(emote_key in affected_emotes))
+ return
+
+ if(allowed_usage)
+ allowed_usage--
+ addtimer(CALLBACK(src, PROC_REF(charge)), reload_charge)
+ else
+ take_damage(1, sound_effect = FALSE)
+
+ if(!sparks)
+ sparks = new(src)
+
+ // minimum roll is by default capped at 50, with the min value lowering as integrity is reduced.
+ var/mintegrity = clamp(50 - (100 - get_integrity()), 1, 100)
+ switch(rand(mintegrity, get_integrity())) // 1 to 100 but gets worse every time
+ // CRIT FAIL
+ if(1)
+ bozo.visible_message(span_userdanger("[bozo]'s head suddenly explodes outwards!"))
+
+ explosion(bozo, light_impact_range = 2, adminlog = TRUE, explosion_cause = src)
+ // WITNESS THE GORE
+ for(var/mob/living/splashed in view(2, bozo))
+ if(bozo.has_status_effect(/datum/status_effect/grouped/blindness))
+ to_chat(splashed, span_userdanger("You're splashed with something"))
+ else
+ to_chat(splashed, span_userdanger("You are blinded by a shower of blood!"))
+ splashed.Stun(1 SECONDS)
+ splashed.Knockdown(2 SECONDS)
+ splashed.set_eye_blur_if_lower(15 SECONDS)
+ splashed.adjust_confusion(4 SECONDS)
+
+ // GORE
+ var/obj/item/bodypart/bozopart = bozo.get_bodypart(BODY_ZONE_HEAD)
+ if(bozopart)
+ var/datum/wound/cranial_fissure/crit_wound = new()
+ crit_wound.apply_wound(bozopart)
+ /*
+ var/list/droppage_candidates = bozo.get_organs_for_zone(BODY_ZONE_HEAD, include_children = TRUE)
+ if(droppage_candidates)
+ var/obj/thing_to_drop = pick(droppage_candidates)
+ thing_to_drop.forceMove(bozo.drop_location())
+ */ //WHY DOESNTY IT OWRK
+
+ // does not necessarily kill you directly. instead it causes cranial fissure + something to drop from your head. could be eyes, tongue, ears, brain, even implants
+ new /obj/effect/gibspawner/generic(get_turf(bozo), bozo)
+
+ sparks.set_up(15, cardinals_only = FALSE, location = get_turf(src))
+ sparks.start()
+
+ qdel(src)
+ // last chance to stop
+ if(7 to 9)
+ bozo.visible_message(
+ span_danger("[bozo] seems to short circuit!"),
+ span_userdanger("Your brain short circuits!"),
+ )
+ // if they're susceptible to electrocution, confuse them
+ if(bozo.electrocute_act(15, bozo, 1, SHOCK_NOGLOVES|SHOCK_NOSTUN))
+ bozo.adjust_confusion(15 SECONDS)
+ bozo.set_eye_blur_if_lower(10 SECONDS)
+ // but the rest of the effects will happen either way
+ bozo.adjustOrganLoss(ORGAN_SLOT_BRAIN, 20 - get_integrity())
+
+ sparks.set_up(5, cardinals_only = FALSE, location = get_turf(src))
+ sparks.start()
+
+ // brain Smoking. you should probably stop now
+ if(13 to 15)
+ // if already hot, light 'em up
+ var/particle_path = /particles/smoke/steam/mild
+ if(bozo.has_status_effect(/datum/status_effect/temperature_over_time/chip_overheat))
+ bozo.adjust_fire_stacks(11 - get_integrity())
+ bozo.ignite_mob()
+ bozo.visible_message(
+ span_danger("[bozo]'s head lights up!"),
+ span_userdanger("Your head hurts so much, it feels like it's on fire!"),
+ )
+ ASYNC
+ bozo.emote("scream")
+ if(particle_effect?.type == particle_path)
+ return
+ particle_path = /particles/smoke/steam/bad
+ else
+ bozo.visible_message(
+ span_danger("[bozo]'s head starts smoking!"),
+ span_userdanger("Your brain feels like it's on fire!"),
+ )
+
+ // increase smokiness if already smoking
+ if(particle_effect?.type == /particles/smoke/steam/mild)
+ particle_path = /particles/smoke/steam
+ else
+ particle_path = /particles/smoke/steam/mild
+
+ bozo.adjust_confusion(4 SECONDS)
+ bozo.set_eye_blur_if_lower(3 SECONDS)
+
+ particle_effect = new(bozo, particle_path)
+ // roughly head position.
+ // dont know how to make this not hardcoded
+ particle_effect.set_particle_position(-2, 12, 0)
+ bozo.apply_status_effect(/datum/status_effect/temperature_over_time/chip_overheat, 15 SECONDS)
+ QDEL_IN(particle_effect, 15 SECONDS)
+
+ sparks.set_up(10, cardinals_only = FALSE, location = get_turf(src))
+ sparks.start()
+
+ // hey, something isn't right...
+ if(16 to 50)
+ bozo.visible_message(
+ span_warning("[bozo]'s head sparks."),
+ )
+
+ sparks.set_up(rand(1,2), cardinals_only = TRUE, location = get_turf(src))
+ sparks.start()
+
+ return COMPONENT_EMOTE_COOLDOWN_BYPASS
+
+/obj/item/skillchip/acrobatics/proc/charge()
+ allowed_usage++
+
+/obj/item/skillchip/acrobatics/kiss
+ name = "prototype N. 807 - K1SS skillchip"
+ desc = "An idle experiment when developing skillchips led to this catastrophe. Everyone involved swore to keep it a secret until death, but it looks like someone has let loose this mistake into the world."
+ skill_name = "ERROERERROROROEROEORROER"
+ skill_description = "NULL DESCRIPTION NOT FOUND"
+ skill_icon = FA_ICON_KISS_BEAM
+ activate_message = span_userdanger("This was a mistake.")
+ deactivate_message = span_userdanger("The mistake is over.")
+ custom_premium_price = PAYCHECK_CREW * 500
+ max_integrity = 25
+ affected_emotes = list("kiss")
+ allowed_usage = 1
+ reload_charge = 30 SECONDS
diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm
index 30c239160e5..304b358cf88 100644
--- a/code/modules/lighting/lighting_source.dm
+++ b/code/modules/lighting/lighting_source.dm
@@ -1,3 +1,6 @@
+/// Cached global list of generated lighting sheets. See: datum/light_source/proc/get_sheet()
+GLOBAL_LIST_EMPTY(lighting_sheets)
+
// This is where the fun begins.
// These are the main datums that emit light.
@@ -222,16 +225,15 @@
/// If the requested sheet is multiz, this will be 3 lists deep, first handling z level then x and y
/// otherwise it's just two, x then y
/datum/light_source/proc/get_sheet(multiz = FALSE)
- var/list/static/key_to_sheet = list()
var/range = max(1, light_range);
var/key = "[range]-[visual_offset]-[offset_x]-[offset_y]-[light_dir]-[light_angle]-[light_height]-[multiz]"
- var/list/hand_back = key_to_sheet[key]
+ var/list/hand_back = GLOB.lighting_sheets[key]
if(!hand_back)
if(multiz)
hand_back = generate_sheet_multiz(range, visual_offset, offset_x, offset_y, light_dir, light_angle, light_height)
else
hand_back = generate_sheet(range, visual_offset, offset_x, offset_y, light_dir, light_angle, light_height)
- key_to_sheet[key] = hand_back
+ GLOB.lighting_sheets[key] = hand_back
return hand_back
/// Returns a list of lists that encodes the light falloff of our source
diff --git a/code/modules/manufactorio/_manufacturing.dm b/code/modules/manufactorio/_manufacturing.dm
index db177ac5ae4..5c44d1e8615 100644
--- a/code/modules/manufactorio/_manufacturing.dm
+++ b/code/modules/manufactorio/_manufacturing.dm
@@ -28,7 +28,7 @@
. = ..()
if(may_be_moved)
. += "It receives power via cable, but certain buildings do not need power."
- . += length(contents - circuit) ? "It contains:" : "Its empty."
+ . += length(contents - circuit) ? "It contains:" : "It contains no items."
for(var/atom/movable/thing as anything in contents - circuit)
var/text = thing.name
var/obj/item/stack/possible_stack = thing
@@ -62,6 +62,10 @@
return ITEM_INTERACT_SUCCESS
return ITEM_INTERACT_BLOCKING
+/obj/machinery/power/manufacturing/setDir(newdir)
+ . = ..()
+ update_appearance(UPDATE_OVERLAYS)
+
/obj/machinery/power/manufacturing/crowbar_act(mob/living/user, obj/item/tool)
. = ITEM_INTERACT_BLOCKING
if(default_deconstruction_crowbar(tool))
diff --git a/code/modules/manufactorio/machines/crusher.dm b/code/modules/manufactorio/machines/crusher.dm
index 272cfeee02e..b8cb50bb0bb 100644
--- a/code/modules/manufactorio/machines/crusher.dm
+++ b/code/modules/manufactorio/machines/crusher.dm
@@ -39,7 +39,7 @@
if(gone == withholding)
withholding = null
-/obj/machinery/power/manufacturing/crusher/process(seconds_per_tick) //noot functional
+/obj/machinery/power/manufacturing/crusher/process(seconds_per_tick)
if(!isnull(withholding) && !send_resource(withholding, dir))
return
for(var/material in held_mats)
diff --git a/code/modules/manufactorio/machines/lathe.dm b/code/modules/manufactorio/machines/lathe.dm
index 2669e851b93..431d7af1c11 100644
--- a/code/modules/manufactorio/machines/lathe.dm
+++ b/code/modules/manufactorio/machines/lathe.dm
@@ -19,18 +19,35 @@
var/atom/movable/withheld
/obj/machinery/power/manufacturing/lathe/Initialize(mapload)
- . = ..()
print_sound = new(src, FALSE)
materials = AddComponent( \
/datum/component/material_container, \
SSmaterials.materials_by_category[MAT_CATEGORY_ITEM_MATERIAL], \
- SHEET_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, \
+ 0, \
MATCONTAINER_EXAMINE|MATCONTAINER_NO_INSERT, \
)
+ register_context()
+ . = ..()
if(!GLOB.autounlock_techwebs[/datum/techweb/autounlocking/autolathe])
GLOB.autounlock_techwebs[/datum/techweb/autounlocking/autolathe] = new /datum/techweb/autounlocking/autolathe
stored_research = GLOB.autounlock_techwebs[/datum/techweb/autounlocking/autolathe]
+/obj/machinery/power/manufacturing/lathe/add_context(atom/source, list/context, obj/item/held_item, mob/user)
+ . = NONE
+ if(isnull(held_item))
+ context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB] = "Dump all contained materials"
+ return CONTEXTUAL_SCREENTIP_SET
+
+/obj/machinery/power/manufacturing/lathe/click_ctrl_shift(mob/living/user)
+ balloon_alert_to_viewers("materials dumped")
+ materials.retrieve_all()
+
+/obj/machinery/power/manufacturing/lathe/RefreshParts()
+ . = ..()
+ var/datum/stock_part/matter_bin/bin = locate() in component_parts
+ materials.max_amount = bin.tier * (SHEET_MATERIAL_AMOUNT * MAX_STACK_SIZE)
+
+
/obj/machinery/power/manufacturing/lathe/examine(mob/user)
. = ..()
var/datum/design/design
@@ -63,7 +80,7 @@
return ..()
/obj/machinery/power/manufacturing/lathe/receive_resource(atom/movable/receiving, atom/from, receive_dir)
- if(!isstack(receiving) || receiving.resistance_flags & INDESTRUCTIBLE || receive_dir != REVERSE_DIR(dir))
+ if(!isstack(receiving) || istype(receiving, /obj/item/stack/ore) || receiving.resistance_flags & INDESTRUCTIBLE || receive_dir != REVERSE_DIR(dir))
return MANUFACTURING_FAIL
materials.insert_item(receiving)
return MANUFACTURING_SUCCESS
diff --git a/code/modules/mapping/ruins.dm b/code/modules/mapping/ruins.dm
index 4987016c5a0..d6ac3ac4f94 100644
--- a/code/modules/mapping/ruins.dm
+++ b/code/modules/mapping/ruins.dm
@@ -31,7 +31,7 @@
testing("Ruin \"[name]\" placed at ([central_turf.x], [central_turf.y], [central_turf.z])")
if(clear_below)
- var/list/static/clear_below_typecache = typecacheof(list(
+ var/static/list/clear_below_typecache = typecacheof(list(
/obj/structure/spawner,
/mob/living/simple_animal,
/obj/structure/flora
diff --git a/code/modules/mining/boulder_processing/boulder_types.dm b/code/modules/mining/boulder_processing/boulder_types.dm
index 366c5b21c42..6d0d58a1be2 100644
--- a/code/modules/mining/boulder_processing/boulder_types.dm
+++ b/code/modules/mining/boulder_processing/boulder_types.dm
@@ -38,7 +38,7 @@
. = ..()
/// Static list of all minerals to populate gulag boulders with.
- var/list/static/gulag_minerals = list(
+ var/static/list/gulag_minerals = list(
/datum/material/diamond = 1,
/datum/material/gold = 8,
/datum/material/iron = 95,
@@ -59,7 +59,7 @@
. = ..()
/// Static list of all minerals to populate gulag boulders with, but with bluespace added where safe.
- var/list/static/expanded_gulag_minerals = list(
+ var/static/list/expanded_gulag_minerals = list(
/datum/material/bluespace = 1,
/datum/material/diamond = 1,
/datum/material/gold = 8,
diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm
index cc8cba654dd..c2dffd37ee5 100644
--- a/code/modules/mining/equipment/explorer_gear.dm
+++ b/code/modules/mining/equipment/explorer_gear.dm
@@ -61,7 +61,6 @@
actions_types = list(/datum/action/item_action/adjust)
armor_type = /datum/armor/gas_explorer
resistance_flags = FIRE_PROOF
- has_fov = FALSE
/datum/armor/gas_explorer
melee = 10
diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm
index 17591d93d52..aec19662d3a 100644
--- a/code/modules/mob/dead/dead.dm
+++ b/code/modules/mob/dead/dead.dm
@@ -74,21 +74,21 @@ INITIALIZE_IMMEDIATE(/mob/dead)
if(tgui_alert(usr, "Jump to server [pick] ([addr])?", "Server Hop", list("Yes", "No")) != "Yes")
return
- var/client/C = client
- to_chat(C, span_notice("Sending you to [pick]."))
- var/atom/movable/screen/splash/S = new(null, null, C)
- S.Fade(FALSE)
+ var/client/hopper = client
+ to_chat(hopper, span_notice("Sending you to [pick]."))
+ var/atom/movable/screen/splash/fade_in = new(null, src, hopper, FALSE)
+ fade_in.Fade(FALSE)
ADD_TRAIT(src, TRAIT_NO_TRANSFORM, SERVER_HOPPER_TRAIT)
sleep(2.9 SECONDS) //let the animation play
REMOVE_TRAIT(src, TRAIT_NO_TRANSFORM, SERVER_HOPPER_TRAIT)
- if(!C)
+ if(!hopper)
return
winset(src, null, "command=.options") //other wise the user never knows if byond is downloading resources
- C << link("[addr]")
+ hopper << link("[addr]")
#undef SERVER_HOPPER_TRAIT
diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm
index 39051b29fc0..834c4fa9915 100644
--- a/code/modules/mob/dead/new_player/new_player.dm
+++ b/code/modules/mob/dead/new_player/new_player.dm
@@ -22,8 +22,8 @@
/mob/dead/new_player/Initialize(mapload)
if(client && SSticker.state == GAME_STATE_STARTUP)
- var/atom/movable/screen/splash/S = new(null, client, TRUE, TRUE)
- S.Fade(TRUE)
+ var/atom/movable/screen/splash/fade_out = new(null, null, client, TRUE)
+ fade_out.Fade(TRUE)
if(length(GLOB.newplayer_start))
forceMove(pick(GLOB.newplayer_start))
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 52505b98866..995a9d0ea34 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -1075,31 +1075,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/dead/observer/proc/tray_view()
set category = "Ghost"
- set name = "T-ray view"
- set desc = "Toggles a view of sub-floor objects"
+ set name = "T-ray scan"
+ set desc = "Perfom a scan to view sub-floor objects"
- var/static/t_ray_view = FALSE
- if(SSlag_switch.measures[DISABLE_GHOST_ZOOM_TRAY] && !client?.holder && !t_ray_view)
+ if(SSlag_switch.measures[DISABLE_GHOST_ZOOM_TRAY] && !client?.holder)
to_chat(usr, span_notice("That verb is currently globally disabled."))
return
- t_ray_view = !t_ray_view
-
- var/list/t_ray_images = list()
- var/static/list/stored_t_ray_images = list()
- for(var/obj/O in orange(client.view, src) )
- if(HAS_TRAIT(O, TRAIT_T_RAY_VISIBLE))
- var/image/I = new(loc = get_turf(O))
- var/mutable_appearance/MA = new(O)
- MA.alpha = 128
- MA.dir = O.dir
- I.appearance = MA
- t_ray_images += I
- stored_t_ray_images += t_ray_images
- if(length(t_ray_images))
- if(t_ray_view)
- client.images += t_ray_images
- else
- client.images -= stored_t_ray_images
+
+ t_ray_scan(src)
/mob/dead/observer/default_lighting_cutoff()
var/datum/preferences/prefs = client?.prefs
diff --git a/code/modules/mob/living/basic/alien/maid.dm b/code/modules/mob/living/basic/alien/maid.dm
index decfe5736ce..cf6499884e9 100644
--- a/code/modules/mob/living/basic/alien/maid.dm
+++ b/code/modules/mob/living/basic/alien/maid.dm
@@ -15,17 +15,19 @@
/mob/living/basic/alien/maid/Initialize(mapload)
. = ..()
AddElement(/datum/element/cleaning)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
///Handles the maid attacking other players, cancelling the attack to clean up instead.
-/mob/living/basic/alien/maid/proc/pre_attack(mob/living/puncher, atom/target)
- SIGNAL_HANDLER
+/mob/living/basic/alien/maid/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
+
target.wash(CLEAN_SCRUB)
if(istype(target, /obj/effect/decal/cleanable))
visible_message(span_notice("[src] cleans up \the [target]."))
else
visible_message(span_notice("[src] polishes \the [target]."))
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
/**
* Barmaid special type
diff --git a/code/modules/mob/living/basic/basic.dm b/code/modules/mob/living/basic/basic.dm
index 9501c4e21d3..22a20064370 100644
--- a/code/modules/mob/living/basic/basic.dm
+++ b/code/modules/mob/living/basic/basic.dm
@@ -216,14 +216,19 @@
. += span_deadsay("Upon closer examination, [p_they()] appear[p_s()] to be [HAS_MIND_TRAIT(user, TRAIT_NAIVE) ? "asleep" : "dead"].")
/mob/living/basic/proc/melee_attack(atom/target, list/modifiers, ignore_cooldown = FALSE)
+ if(!early_melee_attack(target, modifiers, ignore_cooldown))
+ return FALSE
+ var/result = target.attack_basic_mob(src, modifiers)
+ SEND_SIGNAL(src, COMSIG_HOSTILE_POST_ATTACKINGTARGET, target, result)
+ return result
+
+/mob/living/basic/proc/early_melee_attack(atom/target, list/modifiers, ignore_cooldown = FALSE)
face_atom(target)
- if (!ignore_cooldown)
+ if(!ignore_cooldown)
changeNext_move(melee_attack_cooldown)
if(SEND_SIGNAL(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, target, Adjacent(target), modifiers) & COMPONENT_HOSTILE_NO_ATTACK)
return FALSE //but more importantly return before attack_animal called
- var/result = target.attack_basic_mob(src, modifiers)
- SEND_SIGNAL(src, COMSIG_HOSTILE_POST_ATTACKINGTARGET, target, result)
- return result
+ return TRUE
/mob/living/basic/resolve_unarmed_attack(atom/attack_target, list/modifiers)
melee_attack(attack_target, modifiers)
diff --git a/code/modules/mob/living/basic/farm_animals/bee/_bee.dm b/code/modules/mob/living/basic/farm_animals/bee/_bee.dm
index 53f9c618c63..2eae8731059 100644
--- a/code/modules/mob/living/basic/farm_animals/bee/_bee.dm
+++ b/code/modules/mob/living/basic/farm_animals/bee/_bee.dm
@@ -70,7 +70,6 @@
AddComponent(/datum/component/swarming)
AddComponent(/datum/component/obeys_commands, pet_commands)
AddElement(/datum/element/swabable, CELL_LINE_TABLE_QUEEN_BEE, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
/mob/living/basic/bee/mob_pickup(mob/living/picker)
if(flags_1 & HOLOGRAM_1)
@@ -108,18 +107,20 @@
/mob/living/basic/bee/proc/spawn_corpse()
new /obj/item/trash/bee(loc, src)
-/mob/living/basic/bee/proc/pre_attack(mob/living/puncher, atom/target)
- SIGNAL_HANDLER
+/mob/living/basic/bee/early_melee_attack(atom/target, list/modifiers)
+ . = ..()
+ if(!.)
+ return FALSE
if(istype(target, /obj/machinery/hydroponics))
var/obj/machinery/hydroponics/hydro = target
pollinate(hydro)
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
if(istype(target, /obj/structure/beebox))
var/obj/structure/beebox/hive = target
handle_habitation(hive)
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
/mob/living/basic/bee/proc/handle_habitation(obj/structure/beebox/hive)
if(hive == beehome) //if its our home, we enter or exit it
diff --git a/code/modules/mob/living/basic/farm_animals/cow/cow_ai.dm b/code/modules/mob/living/basic/farm_animals/cow/cow_ai.dm
index e1e611a28c2..cedc39f64f3 100644
--- a/code/modules/mob/living/basic/farm_animals/cow/cow_ai.dm
+++ b/code/modules/mob/living/basic/farm_animals/cow/cow_ai.dm
@@ -1,6 +1,6 @@
/datum/ai_controller/basic_controller/cow
blackboard = list(
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
BB_BASIC_MOB_TIP_REACTING = FALSE,
BB_BASIC_MOB_TIPPER = null,
)
@@ -11,7 +11,5 @@
planning_subtrees = list(
/datum/ai_planning_subtree/tip_reaction,
/datum/ai_planning_subtree/find_food,
- //attacking the food will eat it
- /datum/ai_planning_subtree/basic_melee_attack_subtree,
/datum/ai_planning_subtree/random_speech/cow,
)
diff --git a/code/modules/mob/living/basic/farm_animals/gorilla/gorilla_ai.dm b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla_ai.dm
index 28a727fdb1b..de55865b5fa 100644
--- a/code/modules/mob/living/basic/farm_animals/gorilla/gorilla_ai.dm
+++ b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla_ai.dm
@@ -1,7 +1,7 @@
/// Pretty basic, just click people to death. Also hunt and eat bananas.
/datum/ai_controller/basic_controller/gorilla
blackboard = list(
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
BB_TARGET_MINIMUM_STAT = UNCONSCIOUS,
BB_EMOTE_KEY = "ooga",
BB_EMOTE_CHANCE = 40,
@@ -13,10 +13,10 @@
planning_subtrees = list(
/datum/ai_planning_subtree/run_emote,
- /datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/simple_find_target,
/datum/ai_planning_subtree/attack_obstacle_in_path/gorilla,
/datum/ai_planning_subtree/basic_melee_attack_subtree,
+ /datum/ai_planning_subtree/find_food,
)
/datum/ai_planning_subtree/attack_obstacle_in_path/gorilla
diff --git a/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp.dm b/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp.dm
index 43f8c61d0c8..cc6bd1c900e 100644
--- a/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp.dm
+++ b/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp.dm
@@ -45,8 +45,6 @@
AddComponent(/datum/component/basic_mob_ability_telegraph)
AddComponent(/datum/component/basic_mob_attack_telegraph, telegraph_duration = 0.6 SECONDS)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
-
var/static/list/innate_actions = list(
/datum/action/cooldown/mob_cooldown/fire_breath/ice = BB_WHELP_STRAIGHTLINE_FIRE,
/datum/action/cooldown/mob_cooldown/fire_breath/ice/cross = BB_WHELP_WIDESPREAD_FIRE,
@@ -55,22 +53,24 @@
grant_actions_by_list(innate_actions)
-/mob/living/basic/mining/ice_whelp/proc/pre_attack(mob/living/sculptor, atom/target)
- SIGNAL_HANDLER
+/mob/living/basic/mining/ice_whelp/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
if(istype(target, /obj/structure/flora/rock/icy))
- INVOKE_ASYNC(src, PROC_REF(create_sculpture), target)
- return COMPONENT_HOSTILE_NO_ATTACK
+ create_sculpture(target)
+ return FALSE
- if(!istype(target, src.type))
- return
+ if(!istype(target, type))
+ return TRUE
var/mob/living/victim = target
if(victim.stat != DEAD)
- return
+ return TRUE
- INVOKE_ASYNC(src, PROC_REF(cannibalize_victim), victim)
- return COMPONENT_HOSTILE_NO_ATTACK
+ cannibalize_victim(victim)
+ return FALSE
/// Carve a stone into a beautiful self-portrait
/mob/living/basic/mining/ice_whelp/proc/create_sculpture(atom/target)
diff --git a/code/modules/mob/living/basic/jungle/seedling/seedling.dm b/code/modules/mob/living/basic/jungle/seedling/seedling.dm
index 00db708bc32..3af0675a7f8 100644
--- a/code/modules/mob/living/basic/jungle/seedling/seedling.dm
+++ b/code/modules/mob/living/basic/jungle/seedling/seedling.dm
@@ -80,23 +80,24 @@
AddElement(/datum/element/wall_tearer, allow_reinforced = FALSE)
AddComponent(/datum/component/obeys_commands, seedling_commands)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
RegisterSignal(src, COMSIG_KB_MOB_DROPITEM_DOWN, PROC_REF(drop_can))
update_appearance()
-/mob/living/basic/seedling/proc/pre_attack(mob/living/puncher, atom/target)
- SIGNAL_HANDLER
+/mob/living/basic/seedling/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
if(istype(target, /obj/machinery/hydroponics))
treat_hydro_tray(target)
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
if(isnull(held_can))
- return
+ return TRUE
if(istype(target, /obj/structure/sink) || istype(target, /obj/structure/reagent_dispensers))
- INVOKE_ASYNC(held_can, TYPE_PROC_REF(/obj/item, melee_attack_chain), src, target)
- return COMPONENT_HOSTILE_NO_ATTACK
+ held_can.melee_attack_chain(src, target)
+ return FALSE
///seedlings can water trays, remove weeds, or remove dead plants
diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath_ai.dm b/code/modules/mob/living/basic/lavaland/goliath/goliath_ai.dm
index 86ba1e00320..3bf9d1d8f33 100644
--- a/code/modules/mob/living/basic/lavaland/goliath/goliath_ai.dm
+++ b/code/modules/mob/living/basic/lavaland/goliath/goliath_ai.dm
@@ -3,7 +3,7 @@
/datum/ai_controller/basic_controller/goliath
blackboard = list(
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
BB_TARGET_MINIMUM_STAT = HARD_CRIT,
)
diff --git a/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers.dm b/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers.dm
index 6b822d490de..e447255c867 100644
--- a/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers.dm
+++ b/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers.dm
@@ -34,7 +34,6 @@
/mob/living/basic/mining/gutlunch/Initialize(mapload)
. = ..()
GLOB.gutlunch_count++
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
if(greyscale_config)
set_greyscale(colors = list(pick(possible_colors)))
AddElement(/datum/element/ai_retaliate)
@@ -52,19 +51,18 @@
GLOB.gutlunch_count--
return ..()
-/mob/living/basic/mining/gutlunch/proc/pre_attack(mob/living/puncher, atom/target)
- SIGNAL_HANDLER
-
- if(!istype(target, /obj/structure/ore_container/food_trough/gutlunch_trough))
+/mob/living/basic/mining/gutlunch/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
return
-
+ if(!istype(target, /obj/structure/ore_container/food_trough/gutlunch_trough))
+ return TRUE
var/obj/ore_food = locate(/obj/item/stack/ore) in target
-
if(isnull(ore_food))
balloon_alert(src, "no food!")
else
melee_attack(ore_food)
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
/mob/living/basic/mining/gutlunch/proc/after_birth(mob/living/basic/mining/gutlunch/grub/baby, mob/living/partner)
var/our_color = LAZYACCESS(atom_colours, FIXED_COLOUR_PRIORITY) || COLOR_GRAY
diff --git a/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm b/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm
index 931b568e5ee..f76479dc131 100644
--- a/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm
+++ b/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm
@@ -15,7 +15,7 @@
melee_damage_lower = 0
melee_damage_upper = 0
attack_verb_continuous = "weakly tackles"
- attack_verb_simple = "weakly tackles"
+ attack_verb_simple = "weakly tackle"
speak_emote = list("telepathically cries")
attack_sound = 'sound/items/weapons/pierce.ogg'
throw_blocked_message = "passes between the bodies of the"
diff --git a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm
index de62b43e4a0..de6ca4a0cc1 100644
--- a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm
+++ b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm
@@ -7,7 +7,7 @@
/datum/ai_controller/basic_controller/lobstrosity
blackboard = list(
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends,
BB_TARGET_MINIMUM_STAT = HARD_CRIT,
BB_LOBSTROSITY_EXPLOIT_TRAITS = list(TRAIT_INCAPACITATED, TRAIT_FLOORED, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT),
@@ -45,7 +45,7 @@
///Ensure that juveline lobstrosities witll charge at things they can reach.
/datum/ai_controller/basic_controller/lobstrosity/juvenile
blackboard = list(
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends,
BB_TARGET_MINIMUM_STAT = SOFT_CRIT,
BB_LOBSTROSITY_EXPLOIT_TRAITS = list(TRAIT_INCAPACITATED, TRAIT_FLOORED, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT),
diff --git a/code/modules/mob/living/basic/lavaland/mook/mook.dm b/code/modules/mob/living/basic/lavaland/mook/mook.dm
index 88802389739..f492c83e74b 100644
--- a/code/modules/mob/living/basic/lavaland/mook/mook.dm
+++ b/code/modules/mob/living/basic/lavaland/mook/mook.dm
@@ -58,7 +58,6 @@
AddComponent(/datum/component/ai_listen_to_weather)
AddElement(/datum/element/wall_tearer, allow_reinforced = FALSE)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
RegisterSignal(src, COMSIG_KB_MOB_DROPITEM_DOWN, PROC_REF(drop_ore))
if(is_healer)
@@ -96,27 +95,28 @@
held_ore = null
update_appearance(UPDATE_OVERLAYS)
-/mob/living/basic/mining/mook/proc/pre_attack(mob/living/attacker, atom/target)
- SIGNAL_HANDLER
-
+/mob/living/basic/mining/mook/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
return attack_sequence(target)
/mob/living/basic/mining/mook/proc/attack_sequence(atom/target)
if(istype(target, /obj/item/stack/ore) && isnull(held_ore))
var/obj/item/ore_target = target
ore_target.forceMove(src)
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
if(istype(target, /obj/structure/ore_container/material_stand))
if(held_ore)
held_ore.forceMove(target)
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
if(istype(target, /obj/structure/bonfire))
var/obj/structure/bonfire/fire_target = target
if(!fire_target.burning)
fire_target.start_burning()
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
/mob/living/basic/mining/mook/proc/change_combatant_state(state)
attack_state = state
diff --git a/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm b/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm
index b7f7ffa9cf6..917c9c3c438 100644
--- a/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm
+++ b/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm
@@ -35,7 +35,7 @@ GLOBAL_LIST_EMPTY(raptor_population)
minimum_survivable_temperature = BODYTEMP_COLD_ICEBOX_SAFE
maximum_survivable_temperature = INFINITY
attack_verb_continuous = "pecks"
- attack_verb_simple = "chomps"
+ attack_verb_simple = "chomp"
attack_sound = 'sound/items/weapons/punch1.ogg'
faction = list(FACTION_RAPTOR, FACTION_NEUTRAL)
speak_emote = list("screeches")
@@ -97,7 +97,6 @@ GLOBAL_LIST_EMPTY(raptor_population)
ai_controller.set_blackboard_key(BB_BASIC_MOB_SPEAK_LINES, display_emote)
inherited_stats = new
inherit_properties()
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
var/static/list/my_food = list(/obj/item/stack/ore)
AddElement(/datum/element/basic_eating, food_types = my_food)
AddElement(/datum/element/ai_retaliate)
@@ -147,19 +146,20 @@ GLOBAL_LIST_EMPTY(raptor_population)
pixel_y = (direction & NORTH) ? -5 : 0
-/mob/living/basic/raptor/proc/pre_attack(mob/living/puncher, atom/target)
- SIGNAL_HANDLER
-
+/mob/living/basic/raptor/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
if(!istype(target, /obj/structure/ore_container/food_trough/raptor_trough))
- return
+ return TRUE
var/obj/ore_food = locate(/obj/item/stack/ore) in target
if(isnull(ore_food))
balloon_alert(src, "no food!")
else
- INVOKE_ASYNC(src, PROC_REF(melee_attack), ore_food)
- return COMPONENT_HOSTILE_NO_ATTACK
+ melee_attack(ore_food)
+ return TRUE
/mob/living/basic/raptor/melee_attack(mob/living/target, list/modifiers, ignore_cooldown)
if(!combat_mode && istype(target, /mob/living/basic/raptor/baby_raptor))
diff --git a/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_controller.dm b/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_controller.dm
index 8178df7b78c..d9bada12ee8 100644
--- a/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_controller.dm
+++ b/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_controller.dm
@@ -1,5 +1,3 @@
-#define NEXT_EAT_COOLDOWN 45 SECONDS
-
/datum/ai_controller/basic_controller/raptor
blackboard = list(
BB_INTERACTIONS_WITH_OWNER = list(
@@ -34,16 +32,9 @@
/datum/ai_planning_subtree/find_and_hunt_target/play_with_owner/raptor,
)
-/datum/ai_controller/basic_controller/raptor/TryPossessPawn(atom/new_pawn)
+/datum/ai_controller/basic_controller/raptor/on_mob_eat()
. = ..()
- if(. & AI_CONTROLLER_INCOMPATIBLE)
- return
- RegisterSignal(new_pawn, COMSIG_MOB_ATE, PROC_REF(post_eat))
-
-/datum/ai_controller/basic_controller/raptor/proc/post_eat()
- SIGNAL_HANDLER
clear_blackboard_key(BB_RAPTOR_TROUGH_TARGET)
- set_blackboard_key(BB_RAPTOR_EAT_COOLDOWN, world.time + NEXT_EAT_COOLDOWN)
/datum/ai_controller/basic_controller/baby_raptor
blackboard = list(
@@ -62,5 +53,3 @@
/datum/ai_planning_subtree/express_happiness,
/datum/ai_planning_subtree/look_for_adult,
)
-
-#undef NEXT_EAT_COOLDOWN
diff --git a/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_subtrees.dm b/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_subtrees.dm
index a8d91963ebf..2b88cc3282b 100644
--- a/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_subtrees.dm
+++ b/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_subtrees.dm
@@ -56,7 +56,7 @@
hunt_range = 9
/datum/ai_planning_subtree/find_and_hunt_target/raptor_trough/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick)
- if(world.time < controller.blackboard[BB_RAPTOR_EAT_COOLDOWN])
+ if(world.time < controller.blackboard[BB_NEXT_FOOD_EAT])
return
return ..()
diff --git a/code/modules/mob/living/basic/minebots/minebot.dm b/code/modules/mob/living/basic/minebots/minebot.dm
index bcf8071d7c2..c9edfb0471f 100644
--- a/code/modules/mob/living/basic/minebots/minebot.dm
+++ b/code/modules/mob/living/basic/minebots/minebot.dm
@@ -85,7 +85,6 @@
/datum/id_trim/job/shaft_miner,
)
AddElement(/datum/element/mob_access, accesses)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
/mob/living/basic/mining_drone/set_combat_mode(new_mode, silent = TRUE)
. = ..()
@@ -250,13 +249,15 @@
QDEL_NULL(stored_gun)
return ..()
-/mob/living/basic/mining_drone/proc/pre_attack(datum/source, atom/target)
- SIGNAL_HANDLER
+/mob/living/basic/mining_drone/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
if(!istype(target, /mob/living/basic/node_drone))
- return NONE
- INVOKE_ASYNC(src, PROC_REF(repair_node_drone), target)
- return COMPONENT_HOSTILE_NO_ATTACK
+ return TRUE
+ repair_node_drone(target)
+ return FALSE
/mob/living/basic/mining_drone/proc/repair_node_drone(mob/living/my_target)
do_sparks(5, FALSE, source = my_target)
diff --git a/code/modules/mob/living/basic/pets/cat/cat.dm b/code/modules/mob/living/basic/pets/cat/cat.dm
index 68821731ee4..3c2ab3f7c9f 100644
--- a/code/modules/mob/living/basic/pets/cat/cat.dm
+++ b/code/modules/mob/living/basic/pets/cat/cat.dm
@@ -94,29 +94,27 @@
ai_controller.set_blackboard_key(BB_HUNTABLE_PREY, typecacheof(huntable_items))
if(can_breed)
add_breeding_component()
- if(can_hold_item)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
- if(can_interact_with_stove)
- RegisterSignal(src, COMSIG_LIVING_EARLY_UNARMED_ATTACK, PROC_REF(pre_unarmed_attack))
/mob/living/basic/pet/cat/proc/add_cell_sample()
AddElement(/datum/element/swabable, CELL_LINE_TABLE_CAT, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5)
-/mob/living/basic/pet/cat/proc/pre_attack(mob/living/source, atom/movable/target)
- SIGNAL_HANDLER
- if(!is_type_in_list(target, huntable_items) || held_food)
- return
- target.forceMove(src)
+/mob/living/basic/pet/cat/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
-/mob/living/basic/pet/cat/proc/pre_unarmed_attack(mob/living/hitter, atom/target, proximity, modifiers)
- SIGNAL_HANDLER
+ if(istype(target, /obj/machinery/oven/range) && can_interact_with_stove)
+ target.attack_hand(src)
+ return FALSE
- if(!proximity || !can_unarmed_attack())
- return NONE
- if(!istype(target, /obj/machinery/oven/range))
- return NONE
- target.attack_hand(src)
- return COMPONENT_CANCEL_ATTACK_CHAIN
+ if(!can_hold_item)
+ return TRUE
+
+ if(!is_type_in_list(target, huntable_items) || held_food)
+ return TRUE
+ var/atom/movable/movable_target = target
+ movable_target.forceMove(src)
+ return FALSE
/mob/living/basic/pet/cat/Exited(atom/movable/gone, direction)
. = ..()
diff --git a/code/modules/mob/living/basic/pets/orbie/orbie.dm b/code/modules/mob/living/basic/pets/orbie/orbie.dm
index a0fbba899e3..85d82e92515 100644
--- a/code/modules/mob/living/basic/pets/orbie/orbie.dm
+++ b/code/modules/mob/living/basic/pets/orbie/orbie.dm
@@ -36,7 +36,7 @@
///overlay for our happy eyes
var/static/mutable_appearance/happy_eyes_overlay = mutable_appearance('icons/mob/simple/pets.dmi', "orbie_happy_eye_overlay")
///commands we can give orbie
- var/list/pet_commands = list(
+ var/static/list/pet_commands = list(
/datum/pet_command/idle,
/datum/pet_command/free,
/datum/pet_command/untargeted_ability/pet_lights,
@@ -52,24 +52,21 @@
AddElement(/datum/element/basic_eating, food_types = food_types)
ADD_TRAIT(src, TRAIT_SILICON_EMOTES_ALLOWED, INNATE_TRAIT)
- RegisterSignal(src, COMSIG_ATOM_CAN_BE_PULLED, PROC_REF(on_pulled))
RegisterSignal(src, COMSIG_VIRTUAL_PET_LEVEL_UP, PROC_REF(on_level_up))
- RegisterSignal(src, COMSIG_MOB_CLICKON, PROC_REF(on_click))
RegisterSignal(src, COMSIG_ATOM_UPDATE_LIGHT_ON, PROC_REF(on_lights))
ai_controller.set_blackboard_key(BB_BASIC_FOODS, typecacheof(food_types))
update_appearance()
-/mob/living/basic/orbie/proc/on_click(mob/living/basic/source, atom/target, params)
- SIGNAL_HANDLER
-
- if(!CanReach(target))
- return
-
+/mob/living/basic/orbie/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
if(src == target || happy_state || !istype(target))
- return
+ return TRUE
toggle_happy_state()
addtimer(CALLBACK(src, PROC_REF(toggle_happy_state)), 30 SECONDS)
+ return FALSE
/mob/living/basic/orbie/proc/on_lights(datum/source)
SIGNAL_HANDLER
@@ -80,10 +77,8 @@
happy_state = !happy_state
update_appearance()
-/mob/living/basic/orbie/proc/on_pulled(datum/source) //i need move resist at 0, but i also dont want him to be pulled
- SIGNAL_HANDLER
-
- return COMSIG_ATOM_CANT_PULL
+/mob/living/basic/orbie/can_be_pulled(user, grab_state, force)
+ return FALSE
/mob/living/basic/orbie/proc/on_level_up(datum/source, new_level)
SIGNAL_HANDLER
diff --git a/code/modules/mob/living/basic/pets/orbie/orbie_ai.dm b/code/modules/mob/living/basic/pets/orbie/orbie_ai.dm
index 1452dd18dee..a978b750d50 100644
--- a/code/modules/mob/living/basic/pets/orbie/orbie_ai.dm
+++ b/code/modules/mob/living/basic/pets/orbie/orbie_ai.dm
@@ -3,7 +3,7 @@
/datum/ai_controller/basic_controller/orbie
blackboard = list(
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends,
BB_TRICK_NAME = "Trick",
)
@@ -13,7 +13,6 @@
planning_subtrees = list(
/datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/find_playmates,
- /datum/ai_planning_subtree/basic_melee_attack_subtree,
/datum/ai_planning_subtree/relay_pda_message,
/datum/ai_planning_subtree/pet_planning,
)
diff --git a/code/modules/mob/living/basic/pets/parrot/_parrot.dm b/code/modules/mob/living/basic/pets/parrot/_parrot.dm
index e22948848eb..e76b9a5e83e 100644
--- a/code/modules/mob/living/basic/pets/parrot/_parrot.dm
+++ b/code/modules/mob/living/basic/pets/parrot/_parrot.dm
@@ -100,8 +100,6 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
AddComponent(/datum/component/listen_and_repeat, desired_phrases = get_static_list_of_phrases(), blackboard_key = BB_PARROT_REPEAT_STRING)
AddComponent(/datum/component/tameable, food_types = edibles, tame_chance = 100, bonus_tame_chance = 0)
AddComponent(/datum/component/obeys_commands, pet_commands)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attacking))
- RegisterSignal(src, COMSIG_MOB_CLICKON, PROC_REF(on_click))
RegisterSignal(src, COMSIG_ATOM_ATTACKBY_SECONDARY, PROC_REF(on_attacked)) // this means we could have a peaceful interaction, like getting a cracker
RegisterSignal(src, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(on_injured)) // this means we got hurt and it's go time
RegisterSignal(src, COMSIG_ANIMAL_PET, PROC_REF(on_pet))
@@ -186,12 +184,12 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
icon_state = HAS_TRAIT(src, TRAIT_PARROT_PERCHED) ? icon_sit : icon_living
/// Proc that we just use to see if we're rightclicking something for perch behavior or dropping the item we currently ahve
-/mob/living/basic/parrot/proc/on_click(mob/living/basic/source, atom/target, params)
- SIGNAL_HANDLER
- if(!LAZYACCESS(params, RIGHT_CLICK) || !CanReach(target))
- return
- if(start_perching(target) && !isnull(held_item))
+/mob/living/basic/parrot/resolve_right_click_attack(atom/target, list/modifiers)
+ if(!start_perching(target))
+ return SECONDARY_ATTACK_CALL_NORMAL
+ if(!isnull(held_item))
drop_held_item(gently = TRUE)
+ return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
/// Proc that handles sending the signal and returning a valid phrase to say. Will not do anything if we don't have a stat or if we're cliented.
/// Will return either a string or null.
@@ -275,16 +273,16 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
/// Master proc which will determine the intent of OUR attacks on an object and summon the relevant procs accordingly.
/// This is pretty much meant for players, AI will use the task-specific procs instead.
-/mob/living/basic/parrot/proc/pre_attacking(mob/living/basic/source, atom/target)
- SIGNAL_HANDLER
- if(stat != CONSCIOUS)
- return
+/mob/living/basic/parrot/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
if(isitem(target) && steal_from_ground(target))
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
if(iscarbon(target) && steal_from_mob(target))
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
/// Picks up an item from the ground and puts it in our claws. Returns TRUE if we picked it up, FALSE otherwise.
/mob/living/basic/parrot/proc/steal_from_ground(obj/item/target)
diff --git a/code/modules/mob/living/basic/ruin_defender/skeleton.dm b/code/modules/mob/living/basic/ruin_defender/skeleton.dm
index e6754a80a22..5eb8fda1523 100644
--- a/code/modules/mob/living/basic/ruin_defender/skeleton.dm
+++ b/code/modules/mob/living/basic/ruin_defender/skeleton.dm
@@ -162,7 +162,7 @@
/// Skeletons mostly just beat people to death, but they'll also find and drink milk.
/datum/ai_controller/basic_controller/skeleton
blackboard = list(
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
BB_TARGET_MINIMUM_STAT = HARD_CRIT,
BB_EMOTE_KEY = "rattles",
BB_EMOTE_CHANCE = 20,
diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp_controllers.dm b/code/modules/mob/living/basic/space_fauna/carp/carp_controllers.dm
index ae011f5b14a..93ede010eb6 100644
--- a/code/modules/mob/living/basic/space_fauna/carp/carp_controllers.dm
+++ b/code/modules/mob/living/basic/space_fauna/carp/carp_controllers.dm
@@ -10,7 +10,7 @@
/datum/ai_controller/basic_controller/carp
blackboard = list(
BB_BASIC_MOB_STOP_FLEEING = TRUE,
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends,
BB_TARGET_PRIORITY_TRAIT = TRAIT_SCARY_FISHERMAN,
BB_CARPS_FEAR_FISHERMAN = TRUE,
@@ -24,11 +24,11 @@
/datum/ai_planning_subtree/find_target_prioritize_traits,
/datum/ai_planning_subtree/make_carp_rift/panic_teleport,
/datum/ai_planning_subtree/flee_target/from_fisherman,
- /datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/attack_obstacle_in_path/carp,
/datum/ai_planning_subtree/shortcut_to_target_through_carp_rift,
/datum/ai_planning_subtree/make_carp_rift/aggressive_teleport,
/datum/ai_planning_subtree/basic_melee_attack_subtree/no_fisherman,
+ /datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/carp_migration,
)
@@ -36,7 +36,7 @@
/datum/ai_controller/basic_controller/carp/mega
blackboard = list(
BB_BASIC_MOB_STOP_FLEEING = TRUE,
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends,
BB_TARGET_PRIORITY_TRAIT = TRAIT_SCARY_FISHERMAN,
BB_CARPS_FEAR_FISHERMAN = FALSE,
@@ -46,12 +46,12 @@
/datum/ai_planning_subtree/simple_find_nearest_target_to_flee,
/datum/ai_planning_subtree/make_carp_rift/panic_teleport,
/datum/ai_planning_subtree/flee_target,
- /datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/find_target_prioritize_traits,
/datum/ai_planning_subtree/attack_obstacle_in_path/carp,
/datum/ai_planning_subtree/shortcut_to_target_through_carp_rift,
/datum/ai_planning_subtree/make_carp_rift/aggressive_teleport,
/datum/ai_planning_subtree/basic_melee_attack_subtree,
+ /datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/carp_migration,
)
/**
@@ -90,13 +90,13 @@
/datum/ai_planning_subtree/find_target_prioritize_traits,
/datum/ai_planning_subtree/make_carp_rift/panic_teleport,
/datum/ai_planning_subtree/flee_target/from_fisherman,
- /datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/find_nearest_magicarp_spell_target,
/datum/ai_planning_subtree/targeted_mob_ability/magicarp,
/datum/ai_planning_subtree/attack_obstacle_in_path/carp,
/datum/ai_planning_subtree/shortcut_to_target_through_carp_rift,
/datum/ai_planning_subtree/make_carp_rift/aggressive_teleport,
/datum/ai_planning_subtree/basic_melee_attack_subtree/magicarp,
+ /datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/carp_migration,
)
diff --git a/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm b/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm
index c036fe46169..e735067b3ed 100644
--- a/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm
+++ b/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm
@@ -60,7 +60,6 @@
AddElement(/datum/element/simple_flying)
AddComponent(/datum/component/tameable, food_types = list(/obj/item/food/grown/carrot), tame_chance = 100)
ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
on_hit_overlay = mutable_appearance(icon, "[icon_state]_crying")
/mob/living/basic/eyeball/UnarmedAttack(atom/attack_target, proximity_flag, list/modifiers)
@@ -94,21 +93,18 @@
cut_overlay(on_hit_overlay)
-/mob/living/basic/eyeball/proc/pre_attack(mob/living/eyeball, atom/target)
- SIGNAL_HANDLER
-
+/mob/living/basic/eyeball/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
if(!ishuman(target))
- return
-
+ return TRUE
var/mob/living/carbon/human_target = target
var/obj/item/organ/internal/eyes/eyes = human_target.get_organ_slot(ORGAN_SLOT_EYES)
- if(!eyes)
- return
- if(eyes.damage < 10)
- return
+ if(isnull(eyes) || eyes.damage < 10)
+ return TRUE
heal_eye_damage(human_target, eyes)
- return COMPONENT_HOSTILE_NO_ATTACK
-
+ return FALSE
/mob/living/basic/eyeball/proc/heal_eye_damage(mob/living/target, obj/item/organ/internal/eyes/eyes)
if(!COOLDOWN_FINISHED(src, eye_healing))
diff --git a/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm b/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm
index 6b72f1f0975..b29718f8810 100644
--- a/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm
+++ b/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm
@@ -96,18 +96,19 @@
/mob/living/basic/hivebot/mechanic/Initialize(mapload)
. = ..()
GRANT_ACTION(/datum/action/cooldown/spell/conjure/foam_wall)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
-/mob/living/basic/hivebot/mechanic/proc/pre_attack(mob/living/fixer, atom/target)
- SIGNAL_HANDLER
+/mob/living/basic/hivebot/mechanic/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
if(ismachinery(target))
repair_machine(target)
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
if(istype(target, /mob/living/basic/hivebot))
repair_hivebot(target)
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
/mob/living/basic/hivebot/mechanic/proc/repair_machine(obj/machinery/fixable)
if(fixable.get_integrity() >= fixable.max_integrity)
diff --git a/code/modules/mob/living/basic/space_fauna/morph.dm b/code/modules/mob/living/basic/space_fauna/morph.dm
index f1f568a261b..f205474af81 100644
--- a/code/modules/mob/living/basic/space_fauna/morph.dm
+++ b/code/modules/mob/living/basic/space_fauna/morph.dm
@@ -51,7 +51,6 @@
/mob/living/basic/morph/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
RegisterSignal(src, COMSIG_CLICK_SHIFT, PROC_REF(trigger_ability))
RegisterSignal(src, COMSIG_ACTION_DISGUISED_APPEARANCE, PROC_REF(on_disguise))
RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_DISGUISED), PROC_REF(on_undisguise))
@@ -150,28 +149,31 @@
return COMSIG_MOB_CANCEL_CLICKON
/// Handles the logic for attacking anything.
-/mob/living/basic/morph/proc/pre_attack(mob/living/basic/source, atom/target)
- SIGNAL_HANDLER
+/mob/living/basic/morph/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
if(HAS_TRAIT(src, TRAIT_DISGUISED) && (melee_damage_disguised <= 0))
balloon_alert(src, "can't attack while disguised!")
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
if(isliving(target)) //Eat Corpses to regen health
var/mob/living/living_target = target
if(living_target.stat != DEAD)
- return
+ return TRUE
- INVOKE_ASYNC(source, PROC_REF(eat), eatable = living_target, delay = 3 SECONDS, update_health = -50)
- return COMPONENT_HOSTILE_NO_ATTACK
+ eat(eatable = living_target, delay = 3 SECONDS, update_health = -50)
+ return FALSE
- if(isitem(target)) //Eat items just to be annoying
- var/obj/item/item_target = target
- if(item_target.anchored)
- return
+ if(!isitem(target)) //Eat items just to be annoying
+ return TRUE
- INVOKE_ASYNC(source, PROC_REF(eat), eatable = item_target, delay = 2 SECONDS)
- return COMPONENT_HOSTILE_NO_ATTACK
+ var/obj/item/item_target = target
+ if(item_target.anchored)
+ return TRUE
+ eat(eatable = item_target, delay = 2 SECONDS)
+ return FALSE
/// Eat stuff. Delicious. Return TRUE if we ate something, FALSE otherwise.
/// Required: `eatable` is the thing (item or mob) that we are going to eat.
diff --git a/code/modules/mob/living/basic/space_fauna/mushroom.dm b/code/modules/mob/living/basic/space_fauna/mushroom.dm
index de501eaea2e..28f8fa46013 100644
--- a/code/modules/mob/living/basic/space_fauna/mushroom.dm
+++ b/code/modules/mob/living/basic/space_fauna/mushroom.dm
@@ -53,7 +53,6 @@
health = maxHealth
AddElement(/datum/element/swabable, CELL_LINE_TABLE_WALKING_MUSHROOM, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5)
ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
- RegisterSignal(src, COMSIG_HOSTILE_POST_ATTACKINGTARGET, PROC_REF(on_attacked_target))
/datum/ai_controller/basic_controller/mushroom
blackboard = list(
@@ -94,20 +93,17 @@
recover(attack_target)
return TRUE
-/mob/living/basic/mushroom/proc/on_attacked_target(mob/living/basic/attacker, atom/target)
- SIGNAL_HANDLER
-
- if(!istype(target, /mob/living/basic/mushroom))
- return
- var/mob/living/basic/mushroom/victim = target
- if(victim.stat != DEAD)
+/mob/living/basic/mushroom/melee_attack(mob/living/basic/mushroom/target, list/modifiers, ignore_cooldown = FALSE)
+ . = ..()
+ if(!.)
+ return FALSE
+ if(!istype(target) || target.stat != DEAD)
return
- if(victim.faint_ticker >= 3)
- consume_mushroom(victim)
+ if(target.faint_ticker >= 3)
+ consume_mushroom(target)
return
-
- victim.faint_ticker++
- visible_message(span_notice("[src] chews a bit on [victim]."))
+ target.faint_ticker++
+ visible_message(span_notice("[src] chews a bit on [target]."))
/mob/living/basic/mushroom/proc/consume_mushroom(mob/living/basic/mushroom/consumed)
visible_message(span_warning("[src] devours [consumed]!"))
diff --git a/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.dm b/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.dm
index 9f9598b11ae..eae137787ed 100644
--- a/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.dm
+++ b/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.dm
@@ -49,7 +49,6 @@
. = ..()
ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack))
RegisterSignal(src, COMSIG_MOB_LOGIN, PROC_REF(on_login))
AddElementTrait(TRAIT_WADDLING, INNATE_TRAIT, /datum/element/waddling)
@@ -169,21 +168,22 @@
special_moniker = "You better not screw with [p_their()] [selected_kingdom]... How do you become a [selected_title] of that anyways?"
/// Checks if we are able to attack this object, as well as send out the signal to see if we get any special regal rat interactions.
-/mob/living/basic/regal_rat/proc/pre_attack(mob/living/source, atom/target)
- SIGNAL_HANDLER
+/mob/living/basic/regal_rat/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
if(DOING_INTERACTION(src, REGALRAT_INTERACTION) || !allowed_to_attack(target))
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
if(SEND_SIGNAL(target, COMSIG_RAT_INTERACT, src) & COMPONENT_RAT_INTERACTED)
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
- if(isnull(mind))
- return
+ if(isnull(mind) || !combat_mode)
+ return TRUE
- if(!combat_mode)
- INVOKE_ASYNC(src, PROC_REF(poison_target), target)
- return COMPONENT_HOSTILE_NO_ATTACK
+ poison_target(target)
+ return TRUE
/// Checks if we are allowed to attack this mob. Will return TRUE if we are potentially allowed to attack, but if we end up in a case where we should NOT attack, return FALSE.
/mob/living/basic/regal_rat/proc/allowed_to_attack(atom/the_target)
diff --git a/code/modules/mob/living/basic/space_fauna/snake/snake.dm b/code/modules/mob/living/basic/space_fauna/snake/snake.dm
index 78f7d86e0db..3125ae9d323 100644
--- a/code/modules/mob/living/basic/space_fauna/snake/snake.dm
+++ b/code/modules/mob/living/basic/space_fauna/snake/snake.dm
@@ -73,7 +73,7 @@
/// Snakes are primarily concerned with getting those tasty, tasty mice, but aren't afraid to strike back at those who attack them
/datum/ai_controller/basic_controller/snake
blackboard = list(
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends,
)
ai_traits = STOP_MOVING_WHEN_PULLED
@@ -82,7 +82,7 @@
planning_subtrees = list(
/datum/ai_planning_subtree/target_retaliate,
- /datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/basic_melee_attack_subtree,
+ /datum/ai_planning_subtree/find_food,
/datum/ai_planning_subtree/random_speech/snake,
)
diff --git a/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm b/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm
index a094e20ec35..8c879045a36 100644
--- a/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm
+++ b/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm
@@ -44,11 +44,11 @@
AddElement(/datum/element/ai_retaliate)
AddElement(/datum/element/footstep, FOOTSTEP_MOB_CLAW)
- RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(on_attack))
-
/// Proc that we call on attacking something to dust 'em.
-/mob/living/basic/supermatter_spider/proc/on_attack(mob/living/basic/source, atom/target)
- SIGNAL_HANDLER
+/mob/living/basic/supermatter_spider/early_melee_attack(atom/target, list/modifiers, ignore_cooldown)
+ . = ..()
+ if(!.)
+ return FALSE
if(isliving(target))
var/mob/living/victim = target
@@ -57,14 +57,14 @@
victim.dust()
if(single_use)
death()
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
if(!isturf(target))
dust_feedback(target)
qdel(target)
if(single_use)
death()
- return COMPONENT_HOSTILE_NO_ATTACK
+ return FALSE
/// Simple proc that plays the supermatter dusting sound and sends a visible message.
/mob/living/basic/supermatter_spider/proc/dust_feedback(atom/target)
diff --git a/code/modules/mob/living/basic/vermin/lizard.dm b/code/modules/mob/living/basic/vermin/lizard.dm
index c1c21850ee6..5e3a07094a9 100644
--- a/code/modules/mob/living/basic/vermin/lizard.dm
+++ b/code/modules/mob/living/basic/vermin/lizard.dm
@@ -64,7 +64,7 @@
/datum/ai_controller/basic_controller/lizard
blackboard = list(
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
)
ai_traits = STOP_MOVING_WHEN_PULLED
@@ -72,7 +72,6 @@
idle_behavior = /datum/idle_behavior/idle_random_walk
planning_subtrees = list(
/datum/ai_planning_subtree/find_food,
- /datum/ai_planning_subtree/basic_melee_attack_subtree,
/datum/ai_planning_subtree/random_speech/lizard,
)
diff --git a/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm b/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm
index bed72a98239..c9e8558ec5c 100644
--- a/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm
+++ b/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm
@@ -1,10 +1,9 @@
-#define MOTHROACH_EAT_TIMER 1 MINUTES
-
/datum/ai_controller/basic_controller/mothroach
blackboard = list(
BB_FLEE_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends,
- BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items,
+ BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
+ BB_EAT_FOOD_COOLDOWN = 1 MINUTES,
)
ai_traits = STOP_MOVING_WHEN_PULLED
@@ -15,28 +14,12 @@
/datum/ai_planning_subtree/find_food/mothroach,
/datum/ai_planning_subtree/target_retaliate/to_flee,
/datum/ai_planning_subtree/flee_target/from_flee_key,
- /datum/ai_planning_subtree/basic_melee_attack_subtree,
/datum/ai_planning_subtree/random_speech/mothroach,
)
-/datum/ai_controller/basic_controller/mothroach/TryPossessPawn(atom/new_pawn)
- . = ..()
- if(. & AI_CONTROLLER_INCOMPATIBLE)
- return
- RegisterSignal(new_pawn, COMSIG_MOB_ATE, PROC_REF(on_eaten))
-
-/datum/ai_controller/basic_controller/mothroach/proc/on_eaten(datum/source)
- SIGNAL_HANDLER
- set_blackboard_key(BB_MOTHROACH_NEXT_EAT, world.time + MOTHROACH_EAT_TIMER)
-
/datum/ai_planning_subtree/find_food/mothroach
finding_behavior = /datum/ai_behavior/find_and_set/in_list/mothroach_food
-/datum/ai_planning_subtree/find_food/mothroach/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick)
- if(world.time < controller.blackboard[BB_MOTHROACH_NEXT_EAT])
- return
- return ..()
-
/datum/ai_behavior/find_and_set/in_list/mothroach_food
/datum/ai_behavior/find_and_set/in_list/mothroach_food/search_tactic(datum/ai_controller/controller, locate_paths, search_range)
@@ -45,5 +28,3 @@
found -= living_pawn.loc
if(length(found))
return pick(found)
-
-#undef MOTHROACH_EAT_TIMER
diff --git a/code/modules/mob/living/carbon/alien/adult/adult.dm b/code/modules/mob/living/carbon/alien/adult/adult.dm
index ce95c0e6ce5..8c8acf793f5 100644
--- a/code/modules/mob/living/carbon/alien/adult/adult.dm
+++ b/code/modules/mob/living/carbon/alien/adult/adult.dm
@@ -135,7 +135,7 @@ GLOBAL_LIST_INIT(strippable_alien_humanoid_items, create_strippable_list(list(
lucky_winner.audible_message(span_danger("You hear a deep groan, and a harsh snap like a mantrap."))
lucky_winner.visible_message(span_danger("[src] devours [lucky_winner]!"), \
- span_userdanger("[lucky_winner] devours you!"))
+ span_userdanger("[src] devours you!"))
log_combat(src, lucky_winner, "devoured")
melting_pot.consume_thing(lucky_winner)
return TRUE
diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm
index 3f2be475ab5..f075b3b2e68 100644
--- a/code/modules/mob/living/carbon/emote.dm
+++ b/code/modules/mob/living/carbon/emote.dm
@@ -24,7 +24,6 @@
message = "claps."
hands_use_check = TRUE
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
- audio_cooldown = 5 SECONDS
vary = TRUE
/datum/emote/living/carbon/clap/get_sound(mob/living/user)
@@ -57,7 +56,6 @@
key_third_person = "cries"
message = "cries."
message_mime = "sobs silently."
- audio_cooldown = 5 SECONDS
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
vary = TRUE
stat_allowed = SOFT_CRIT
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index d1d4e1875e7..b2c316ec292 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -63,7 +63,7 @@
message = "screams!"
message_mime = "acts out a scream!"
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
- audio_cooldown = 5 SECONDS
+ specific_emote_audio_cooldown = 10 SECONDS
vary = TRUE
sound_wall_ignore = TRUE //NOVA EDIT ADDITION
diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm
index 10af8d53c80..b60c9dedb3a 100644
--- a/code/modules/mob/living/carbon/inventory.dm
+++ b/code/modules/mob/living/carbon/inventory.dm
@@ -441,6 +441,7 @@
if(offered_item.on_offered(src)) // see if the item interrupts with its own behavior
return
+ balloon_alert_to_viewers("offers something")
visible_message(span_notice("[src] is offering [offered ? "[offered] " : ""][offered_item]."), \
span_notice("You offer [offered ? "[offered] " : ""][offered_item]."), null, 2)
diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm
index 7fc50561f90..7962c5bfc12 100644
--- a/code/modules/mob/living/emote.dm
+++ b/code/modules/mob/living/emote.dm
@@ -262,7 +262,7 @@
message = "laughs."
message_mime = "laughs silently!"
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
- audio_cooldown = 5 SECONDS
+ specific_emote_audio_cooldown = 8 SECONDS
vary = TRUE
/datum/emote/living/laugh/can_run_emote(mob/living/user, status_check = TRUE , intentional, params)
@@ -311,7 +311,6 @@
message = "sneezes."
message_mime = "acts out an exaggerated silent sneeze."
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
- audio_cooldown = 5 SECONDS
vary = TRUE
/datum/emote/living/sneeze/get_sound(mob/living/carbon/human/user)
@@ -325,7 +324,6 @@
message = "coughs!"
message_mime = "acts out an exaggerated cough!"
vary = TRUE
- audio_cooldown = 5 SECONDS
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE | EMOTE_RUNECHAT
/datum/emote/living/cough/can_run_emote(mob/user, status_check = TRUE , intentional, params)
@@ -743,7 +741,6 @@
key_third_person = "whistles"
message = "whistles."
message_mime = "whistles silently!"
- audio_cooldown = 5 SECONDS
vary = TRUE
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm
index 55a00a6ffc0..3730ca05d0f 100644
--- a/code/modules/mob/living/silicon/ai/ai_defense.dm
+++ b/code/modules/mob/living/silicon/ai/ai_defense.dm
@@ -152,3 +152,9 @@
var/atom/ai_structure = ai_mob_to_structure()
ai_structure.balloon_alert(user, "disconnected neural network")
return ITEM_INTERACT_SUCCESS
+
+/mob/living/silicon/ai/attack_effects(damage_done, hit_zone, armor_block, obj/item/attacking_item, mob/living/attacker)
+ if(damage_done > 0 && attacking_item.damtype != STAMINA && stat != DEAD)
+ spark_system.start()
+ . = TRUE
+ return ..() || .
diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm
index 6deab5f08e0..d9caad42292 100644
--- a/code/modules/mob/living/silicon/robot/robot_defense.dm
+++ b/code/modules/mob/living/silicon/robot/robot_defense.dm
@@ -477,8 +477,8 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
return
spark_system.start()
-/mob/living/silicon/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
- . = ..()
- if (. || AM.throwforce < CYBORG_THROW_SLOWDOWN_THRESHOLD)
- return
- apply_status_effect(/datum/status_effect/borg_throw_slow)
+/mob/living/silicon/robot/attack_effects(damage_done, hit_zone, armor_block, obj/item/attacking_item, mob/living/attacker)
+ if(damage_done > 0 && attacking_item.damtype != STAMINA && stat != DEAD)
+ spark_system.start()
+ . = TRUE
+ return ..() || .
diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm
index 54d673d466b..baa2e9565a1 100644
--- a/code/modules/mob/living/silicon/silicon_defense.dm
+++ b/code/modules/mob/living/silicon/silicon_defense.dm
@@ -143,3 +143,20 @@
/mob/living/silicon/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /atom/movable/screen/fullscreen/flash/static, length = 25)
if(affect_silicon)
return ..()
+
+/// If an item does this or more throwing damage it will slow a borg down on hit
+#define CYBORG_SLOWDOWN_THRESHOLD 10
+
+/mob/living/silicon/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
+ . = ..()
+ if(. || AM.throwforce < CYBORG_SLOWDOWN_THRESHOLD) // can cyborgs even catch things?
+ return
+ apply_status_effect(/datum/status_effect/borg_slow, AM.throwforce / 20)
+
+/mob/living/silicon/attack_effects(damage_done, hit_zone, armor_block, obj/item/attacking_item, mob/living/attacker)
+ . = ..()
+ if(damage_done < CYBORG_SLOWDOWN_THRESHOLD)
+ return
+ apply_status_effect(/datum/status_effect/borg_slow, damage_done / 60)
+
+#undef CYBORG_SLOWDOWN_THRESHOLD
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm
index 350a1a68fd8..8c32b2a3c47 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm
@@ -16,7 +16,7 @@ Difficulty: Extremely Hard
icon_living = "demonic_miner"
icon = 'icons/mob/simple/icemoon/icemoon_monsters.dmi'
attack_verb_continuous = "pummels"
- attack_verb_simple = "pummels"
+ attack_verb_simple = "pummel"
attack_sound = 'sound/items/weapons/sonic_jackhammer.ogg'
mob_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_SPECIAL
light_color = COLOR_LIGHT_GRAYISH_RED
diff --git a/code/modules/mod/modules/modules_maint.dm b/code/modules/mod/modules/modules_maint.dm
index f59076fa4b5..d2f1ceaef74 100644
--- a/code/modules/mod/modules/modules_maint.dm
+++ b/code/modules/mod/modules/modules_maint.dm
@@ -11,6 +11,9 @@
complexity = 3 // it is inside every part of your suit, so
incompatible_modules = list(/obj/item/mod/module/springlock)
var/set_off = FALSE
+ var/static/list/gas_connections = list(
+ COMSIG_TURF_EXPOSE = PROC_REF(on_wearer_exposed_gas),
+ )
/obj/item/mod/module/springlock/on_install()
mod.activation_step_time *= 0.5
@@ -20,22 +23,40 @@
/obj/item/mod/module/springlock/on_suit_activation()
RegisterSignal(mod.wearer, COMSIG_ATOM_EXPOSE_REAGENTS, PROC_REF(on_wearer_exposed))
+ AddComponent(/datum/component/connect_loc_behalf, mod.wearer, gas_connections)
/obj/item/mod/module/springlock/on_suit_deactivation(deleting = FALSE)
UnregisterSignal(mod.wearer, COMSIG_ATOM_EXPOSE_REAGENTS)
+ qdel(GetComponent(/datum/component/connect_loc_behalf))
-///Signal fired when wearer is exposed to reagents
-/obj/item/mod/module/springlock/proc/on_wearer_exposed(atom/source, list/reagents, datum/reagents/source_reagents, methods, volume_modifier, show_message)
- SIGNAL_HANDLER
-
- if(!(methods & (VAPOR|PATCH|TOUCH)) || set_off || mod.wearer.stat == DEAD)
- return //remove non-touch reagent exposure
+///Registers the signal COMSIG_MOD_ACTIVATE and calls the proc snap_shut() after a timer
+/obj/item/mod/module/springlock/proc/snap_signal()
+ if(set_off || mod.wearer.stat == DEAD)
+ return
to_chat(mod.wearer, span_danger("[src] makes an ominous click sound..."))
playsound(src, 'sound/items/modsuit/springlock.ogg', 75, TRUE)
addtimer(CALLBACK(src, PROC_REF(snap_shut)), rand(3 SECONDS, 5 SECONDS))
RegisterSignal(mod, COMSIG_MOD_ACTIVATE, PROC_REF(on_activate_spring_block))
set_off = TRUE
+///Calls snap_signal() when exposed to a reagent via VAPOR, PATCH or TOUCH
+/obj/item/mod/module/springlock/proc/on_wearer_exposed(atom/source, list/reagents, datum/reagents/source_reagents, methods, volume_modifier, show_message)
+ SIGNAL_HANDLER
+
+ if(!(methods & (VAPOR|PATCH|TOUCH)))
+ return //remove non-touch reagent exposure
+ snap_signal()
+
+///Calls snap_signal() when exposed to water vapor
+/obj/item/mod/module/springlock/proc/on_wearer_exposed_gas()
+ SIGNAL_HANDLER
+
+ var/turf/wearer_turf = get_turf(src)
+ var/datum/gas_mixture/air = wearer_turf.return_air()
+ if(!(air.gases[/datum/gas/water_vapor] && (air.gases[/datum/gas/water_vapor][MOLES]) >= 5))
+ return //return if there aren't more than 5 Moles of Water Vapor in the air
+ snap_signal()
+
///Signal fired when wearer attempts to activate/deactivate suits
/obj/item/mod/module/springlock/proc/on_activate_spring_block(datum/source, user)
SIGNAL_HANDLER
diff --git a/code/modules/movespeed/modifiers/mobs.dm b/code/modules/movespeed/modifiers/mobs.dm
index aa6b9ac3a34..55ee105d56c 100644
--- a/code/modules/movespeed/modifiers/mobs.dm
+++ b/code/modules/movespeed/modifiers/mobs.dm
@@ -176,16 +176,7 @@
/datum/movespeed_modifier/magic_ties
multiplicative_slowdown = 0.5
-///movespeed modifier that makes you go faster when wet and lying on the floor once past the fish organ set threshold.
-/datum/movespeed_modifier/fish_flopping
- blacklisted_movetypes = MOVETYPES_NOT_TOUCHING_GROUND
- multiplicative_slowdown = - (CRAWLING_ADD_SLOWDOWN * 0.71)
-
///speed bonus given by the fish tail organ when inside water.
/datum/movespeed_modifier/fish_on_water
blacklisted_movetypes = MOVETYPES_NOT_TOUCHING_GROUND
multiplicative_slowdown = - /turf/open/water::slowdown
-
-///speed malus given by the fish organ set when dry
-/datum/movespeed_modifier/fish_waterless
- multiplicative_slowdown = 0.36
diff --git a/code/modules/movespeed/modifiers/status_effects.dm b/code/modules/movespeed/modifiers/status_effects.dm
index 8f4e59d6555..3b32aea7748 100644
--- a/code/modules/movespeed/modifiers/status_effects.dm
+++ b/code/modules/movespeed/modifiers/status_effects.dm
@@ -59,3 +59,12 @@
/datum/movespeed_modifier/status_effect/guardian_shield
multiplicative_slowdown = 1
+
+///movespeed modifier that makes you go faster when wet and lying on the floor once past the fish organ set threshold.
+/datum/movespeed_modifier/fish_flopping
+ blacklisted_movetypes = MOVETYPES_NOT_TOUCHING_GROUND
+ multiplicative_slowdown = - (CRAWLING_ADD_SLOWDOWN * 0.65)
+
+///speed malus given by the fish organ set when dry
+/datum/movespeed_modifier/fish_waterless
+ multiplicative_slowdown = 0.36
diff --git a/code/modules/projectiles/projectile/bullets/special.dm b/code/modules/projectiles/projectile/bullets/special.dm
index 2af0fe7b9cb..34f6c1e0718 100644
--- a/code/modules/projectiles/projectile/bullets/special.dm
+++ b/code/modules/projectiles/projectile/bullets/special.dm
@@ -196,7 +196,7 @@
if(possible_victims.len)
return pick(possible_victims)
- var/list/static/prioritized_targets = list(/obj/structure/reagent_dispensers, /obj/item/grenade, /obj/structure/window)
+ var/static/list/prioritized_targets = list(/obj/structure/reagent_dispensers, /obj/item/grenade, /obj/structure/window)
for(var/iter_type in prioritized_targets)
for(var/already_coined_tries in 1 to 3)
var/atom/iter_type_check = locate(iter_type) in valid_targets
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index 9f05026ba76..0c04f7af836 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -301,6 +301,8 @@
exposed_mob.incapacitate(1) // startles the felinid, canceling any do_after
exposed_mob.add_mood_event("watersprayed", /datum/mood_event/watersprayed)
+ if((methods & INGEST) && HAS_TRAIT(exposed_mob, TRAIT_WATER_ADAPTATION) && reac_volume >= 4)
+ exposed_mob.adjust_wet_stacks(0.15 * reac_volume)
#undef WATER_TO_WET_STACKS_FACTOR_TOUCH
#undef WATER_TO_WET_STACKS_FACTOR_VAPOR
@@ -316,9 +318,9 @@
affected_mob.adjust_drunk_effect(drunkness_restored * REM * seconds_per_tick) // and even sobers you up slowly!!
if(water_adaptation)
var/need_mob_update = FALSE
- need_mob_update = affected_mob.adjustToxLoss(-0.2 * REM * seconds_per_tick, updating_health = FALSE, required_biotype = affected_biotype)
- need_mob_update += affected_mob.adjustFireLoss(-0.2 * REM * seconds_per_tick, updating_health = FALSE, required_bodytype = affected_bodytype)
- need_mob_update += affected_mob.adjustBruteLoss(-0.2 * REM * seconds_per_tick, updating_health = FALSE, required_bodytype = affected_bodytype)
+ need_mob_update = affected_mob.adjustToxLoss(-0.25 * REM * seconds_per_tick, updating_health = FALSE, required_biotype = affected_biotype)
+ need_mob_update += affected_mob.adjustFireLoss(-0.25 * REM * seconds_per_tick, updating_health = FALSE, required_bodytype = affected_bodytype)
+ need_mob_update += affected_mob.adjustBruteLoss(-0.25 * REM * seconds_per_tick, updating_health = FALSE, required_bodytype = affected_bodytype)
return need_mob_update ? UPDATE_MOB_HEALTH : .
// For weird backwards situations where water manages to get added to trays nutrients, as opposed to being snowflaked away like usual.
diff --git a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm
index fa3a53434bb..a4f902ff5f3 100644
--- a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm
+++ b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm
@@ -36,7 +36,8 @@
/obj/item/reagent_containers/cup/glass/drinkingglass/on_reagent_change(datum/reagents/holder, ...)
. = ..()
if(!length(reagents.reagent_list))
- REMOVE_TRAIT(src, TRAIT_WAS_RENAMED, RENAMING_TOOL_LABEL_TRAIT) //so new drinks can rename the glass
+ qdel(GetComponent(/datum/component/rename))
+ REMOVE_TRAIT(src, TRAIT_WAS_RENAMED, SHAKER_LABEL_TRAIT) //so new drinks can rename the glass
// Having our icon state change removes fill thresholds
/obj/item/reagent_containers/cup/glass/drinkingglass/on_cup_change(datum/glass_style/style)
@@ -58,8 +59,8 @@
if(!HAS_TRAIT(src, TRAIT_WAS_RENAMED))
return
+ qdel(GetComponent(/datum/component/rename))
REMOVE_TRAIT(src, TRAIT_WAS_RENAMED, SHAKER_LABEL_TRAIT)
- REMOVE_TRAIT(src, TRAIT_WAS_RENAMED, RENAMING_TOOL_LABEL_TRAIT)
name = initial(name)
desc = initial(desc)
update_appearance(UPDATE_NAME | UPDATE_DESC)
diff --git a/code/modules/religion/rites.dm b/code/modules/religion/rites.dm
index d7d0fa81844..b54c4e09b29 100644
--- a/code/modules/religion/rites.dm
+++ b/code/modules/religion/rites.dm
@@ -150,7 +150,8 @@
) = 9,
// Brain / Head
list(
- /obj/item/organ/internal/cyberimp/brain/anti_drop = 100,
+ /obj/item/organ/internal/cyberimp/brain/anti_drop = 50,
+ /obj/item/organ/internal/cyberimp/brain/connector = 50,
/obj/item/organ/internal/cyberimp/brain/anti_stun = 10,
) = 10,
// Misc
diff --git a/code/modules/research/designs/autolathe/service_designs.dm b/code/modules/research/designs/autolathe/service_designs.dm
index 94772421b69..29523bf5820 100644
--- a/code/modules/research/designs/autolathe/service_designs.dm
+++ b/code/modules/research/designs/autolathe/service_designs.dm
@@ -537,7 +537,7 @@
RND_CATEGORY_INITIAL,
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_SERVICE,
)
- departmental_flags = DEPARTMENT_BITFLAG_SERVICE
+ departmental_flags = DEPARTMENT_BITFLAG_SERVICE | DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE
/datum/design/fish_case
name = "Stasis Fish Case"
@@ -549,7 +549,7 @@
RND_CATEGORY_INITIAL,
RND_CATEGORY_EQUIPMENT + RND_SUBCATEGORY_EQUIPMENT_SERVICE,
)
- departmental_flags = DEPARTMENT_BITFLAG_SERVICE
+ departmental_flags = DEPARTMENT_BITFLAG_SERVICE | DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE
/datum/design/ticket_machine
name = "Ticket Machine Frame"
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index 5daf9361190..c34411fff61 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -592,6 +592,23 @@
)
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
+/datum/design/cyberimp_connector
+ name = "CNS Skillchip Connector Implant"
+ desc = "This cybernetic adds a port to the back of your head, where you can remove or add skillchips at will."
+ id = "ci-connector"
+ build_type = PROTOLATHE | AWAY_LATHE | MECHFAB
+ construction_time = 6 SECONDS
+ materials = list(
+ /datum/material/iron = SMALL_MATERIAL_AMOUNT*6,
+ /datum/material/glass = SMALL_MATERIAL_AMOUNT*6,
+ /datum/material/titanium = SMALL_MATERIAL_AMOUNT*3,
+ )
+ build_path = /obj/item/organ/internal/cyberimp/brain/connector
+ category = list(
+ RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_IMPLANTS_MISC
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
+
/datum/design/cyberimp_nutriment
name = "Nutriment Pump Implant"
desc = "This implant will synthesize and pump into your bloodstream a small amount of nutriment when you are starving."
diff --git a/code/modules/research/techweb/nodes/cyborg_nodes.dm b/code/modules/research/techweb/nodes/cyborg_nodes.dm
index eeeed268be5..580b5380bb1 100644
--- a/code/modules/research/techweb/nodes/cyborg_nodes.dm
+++ b/code/modules/research/techweb/nodes/cyborg_nodes.dm
@@ -162,6 +162,7 @@
"ci-nutriment",
"ci-thrusters",
"ci-herculean",
+ "ci-connector",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
announce_channels = list(RADIO_CHANNEL_SCIENCE, RADIO_CHANNEL_MEDICAL)
diff --git a/code/modules/spells/spell_types/conjure/simian.dm b/code/modules/spells/spell_types/conjure/simian.dm
index b64a34f847e..1f1074cb981 100644
--- a/code/modules/spells/spell_types/conjure/simian.dm
+++ b/code/modules/spells/spell_types/conjure/simian.dm
@@ -98,7 +98,7 @@
weapon.attack_self(summoned_monkey)
// Fashionable ape wear, organised by tier
- var/list/static/monky_hats = list(
+ var/static/list/monky_hats = list(
null, // nothin here
/obj/item/clothing/head/costume/garland,
/obj/item/clothing/head/helmet/durathread,
diff --git a/code/modules/spells/spell_types/touch/_touch.dm b/code/modules/spells/spell_types/touch/_touch.dm
index 24eefe04d10..49d1f24e39c 100644
--- a/code/modules/spells/spell_types/touch/_touch.dm
+++ b/code/modules/spells/spell_types/touch/_touch.dm
@@ -153,6 +153,10 @@
return ..() | SPELL_NO_FEEDBACK | SPELL_NO_IMMEDIATE_COOLDOWN
/datum/action/cooldown/spell/touch/cast(mob/living/carbon/cast_on)
+ if(SEND_SIGNAL(cast_on, COMSIG_TOUCH_HANDLESS_CAST) & COMPONENT_CAST_HANDLESS)
+ StartCooldown()
+ return ..()
+
if(!QDELETED(attached_hand) && (attached_hand in cast_on.held_items))
remove_hand(cast_on, reset_cooldown_after = TRUE)
return
diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm
index eddcc45e653..7c03311eff8 100644
--- a/code/modules/surgery/bodyparts/_bodyparts.dm
+++ b/code/modules/surgery/bodyparts/_bodyparts.dm
@@ -107,8 +107,8 @@
var/species_color = ""
///Limbs need this information as a back-up incase they are generated outside of a carbon (limbgrower)
var/should_draw_greyscale = TRUE
- ///An "override" color that can be applied to ANY limb, greyscale or not.
- var/variable_color = ""
+ /// An assoc list of priority (as a string because byond) -> color, used to override draw_color.
+ var/list/color_overrides
var/px_x = 0
var/px_y = 0
@@ -950,12 +950,7 @@
is_husked = FALSE
is_invisible = FALSE
- if(variable_color)
- draw_color = variable_color
- else if(should_draw_greyscale)
- draw_color = species_color || (skin_tone ? skintone2hex(skin_tone) : null)
- else
- draw_color = null
+ update_draw_color()
if(!is_creating || !owner)
return
@@ -978,9 +973,7 @@
skin_tone = ""
species_color = ""
- draw_color = variable_color
- if(should_draw_greyscale) //Should the limb be colored?
- draw_color ||= species_color || (skin_tone ? skintone2hex(skin_tone) : null)
+ update_draw_color()
// NOVA EDIT ADDITION
var/datum/species/owner_species = human_owner.dna.species
@@ -997,6 +990,24 @@
recolor_external_organs()
return TRUE
+/obj/item/bodypart/proc/update_draw_color()
+ draw_color = null
+ if(LAZYLEN(color_overrides))
+ var/priority
+ for (var/override_priority in color_overrides)
+ if (text2num(override_priority) > priority)
+ priority = text2num(override_priority)
+ draw_color = color_overrides[override_priority]
+ return
+ if(should_draw_greyscale)
+ draw_color = species_color || (skin_tone ? skintone2hex(skin_tone) : null)
+
+/obj/item/bodypart/proc/add_color_override(new_color, color_priority)
+ LAZYSET(color_overrides, "[color_priority]", new_color)
+
+/obj/item/bodypart/proc/remove_color_override(color_priority)
+ LAZYREMOVE(color_overrides, "[color_priority]")
+
//to update the bodypart's icon when not attached to a mob
/obj/item/bodypart/proc/update_icon_dropped()
SHOULD_CALL_PARENT(TRUE)
@@ -1057,9 +1068,8 @@
if(aux_zone) //Hand shit
aux = image(limb.icon, "[limb_id]_[aux_zone]", -aux_layer, image_dir)
. += aux
- draw_color = variable_color
- if(should_draw_greyscale) //Should the limb be colored outside of a forced color?
- draw_color ||= (species_color) || (skin_tone && skintone2hex(skin_tone))
+
+ update_draw_color()
if(is_husked)
huskify_image(thing_to_husk = limb)
diff --git a/code/modules/surgery/organs/internal/appendix/_appendix.dm b/code/modules/surgery/organs/internal/appendix/_appendix.dm
index f4fb4e3e49e..4a6d3ddaa8b 100644
--- a/code/modules/surgery/organs/internal/appendix/_appendix.dm
+++ b/code/modules/surgery/organs/internal/appendix/_appendix.dm
@@ -37,7 +37,7 @@
owner.adjustToxLoss(2 * seconds_per_tick, forced = TRUE)
else if(inflamation_stage)
inflamation(seconds_per_tick)
- else if(SPT_PROB(APPENDICITIS_PROB, seconds_per_tick))
+ else if(SPT_PROB(APPENDICITIS_PROB, seconds_per_tick) && !HAS_TRAIT(owner, TRAIT_TEMPORARY_BODY))
become_inflamed()
/obj/item/organ/internal/appendix/proc/become_inflamed()
diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm b/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm
index f71e29631b3..e9f3a88f481 100644
--- a/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm
+++ b/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm
@@ -40,7 +40,7 @@
icon_state = "brain_implant_antidrop"
var/active = FALSE
var/list/stored_items = list()
- slot = ORGAN_SLOT_BRAIN_ANTIDROP
+ slot = ORGAN_SLOT_BRAIN_CEREBELLUM
actions_types = list(/datum/action/item_action/organ_action/toggle)
/obj/item/organ/internal/cyberimp/brain/anti_drop/ui_action_click()
@@ -100,7 +100,7 @@
name = "CNS rebooter implant"
desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned."
icon_state = "brain_implant_rebooter"
- slot = ORGAN_SLOT_BRAIN_ANTISTUN
+ slot = ORGAN_SLOT_BRAIN_CNS
var/static/list/signalCache = list(
COMSIG_LIVING_STATUS_STUN,
@@ -179,6 +179,107 @@
organ_flags &= ~ORGAN_FAILING
implant_ready()
+/obj/item/organ/internal/cyberimp/brain/connector
+ name = "CNS skillchip connector implant"
+ desc = "This cybernetic adds a port to the back of your head, where you can remove or add skillchips at will."
+ icon_state = "brain_implant_connector"
+ slot = ORGAN_SLOT_BRAIN_CNS
+ actions_types = list(/datum/action/item_action/organ_action/use)
+
+/obj/item/organ/internal/cyberimp/brain/connector/ui_action_click()
+
+ to_chat(owner, span_warning("You start fiddling around with [src]..."))
+ playsound(owner, 'sound/items/taperecorder/tape_flip.ogg', 20, vary = TRUE) // asmr
+
+ if(!do_after(owner, 1.5 SECONDS, owner)) // othwerwise it doesnt appear
+ to_chat(owner, span_warning("You were interrupted!"))
+ return
+
+ if(organ_flags & ORGAN_FAILING)
+ var/holy_shit_my_brain = remove_brain()
+ if(holy_shit_my_brain)
+ to_chat(owner, span_warning("You take [holy_shit_my_brain] out of [src]. You stare at it for a moment in confusion."))
+ return
+
+ var/obj/item/skillchip/skillchip = owner.get_active_held_item()
+ if(skillchip)
+ if(istype(skillchip, /obj/item/skillchip))
+ insert_skillchip(skillchip)
+ else
+ to_chat(owner, span_warning("You try to insert [owner.get_active_held_item()] into [src], but it won't fit!")) // make it kill you if you shove a crayon inside or something
+ else // no inhand item, assume removal
+ var/obj/item/organ/internal/brain/chippy_brain = owner.get_organ_by_type(/obj/item/organ/internal/brain)
+ if(!chippy_brain)
+ CRASH("we using a brain implant wit no brain")
+ remove_skillchip(chippy_brain)
+
+/obj/item/organ/internal/cyberimp/brain/connector/proc/insert_skillchip(obj/item/skillchip/skillchip)
+ var/fail_string = owner.implant_skillchip(skillchip, force = FALSE)
+ if(fail_string)
+ to_chat(owner, span_warning(fail_string))
+ playsound(owner, 'sound/machines/buzz/buzz-sigh.ogg', 10, vary = TRUE)
+ return
+
+ var/refail_string = skillchip.try_activate_skillchip(silent = FALSE, force = FALSE)
+ if(refail_string)
+ to_chat(owner, span_warning(fail_string))
+ playsound(owner, 'sound/machines/buzz/buzz-two.ogg', 10, vary = TRUE)
+ return
+
+ // success!
+ playsound(owner, 'sound/machines/chime.ogg', 10, vary = TRUE)
+
+/obj/item/organ/internal/cyberimp/brain/connector/proc/remove_skillchip(obj/item/organ/internal/brain/chippy_brain)
+ var/obj/item/skillchip/skillchip = show_radial_menu(owner, owner, chippy_brain.skillchips)
+ if(skillchip)
+ owner.remove_skillchip(skillchip, silent = FALSE)
+ skillchip.forceMove(owner.drop_location())
+ owner.put_in_hands(skillchip, del_on_fail = FALSE)
+ playsound(owner, 'sound/machines/click.ogg', 10, vary = TRUE)
+ to_chat(owner, span_warning("You take [skillchip] out of [src]."))
+ return
+
+ to_chat(owner, span_warning("Your brain is empty!")) // heh
+
+/obj/item/organ/internal/cyberimp/brain/connector/emp_act(severity)
+ . = ..()
+ if((organ_flags & ORGAN_FAILING) || . & EMP_PROTECT_SELF)
+ return
+ organ_flags |= ORGAN_FAILING
+ var/loops = 1
+ if(severity != EMP_LIGHT)
+ loops = 2
+ for(var/i in 1 to loops)
+ // you either lose a chip or a bit of your brain
+ owner.visible_message(span_warning("Something falls to the ground from behind [owner]'s head."),\
+ span_boldwarning("You feel something fall off from behind your head."))
+ var/obj/item/organ/internal/brain/chippy_brain = owner.get_organ_by_type(ORGAN_SLOT_BRAIN)
+ var/obj/item/skillchip/skillchip = chippy_brain?.skillchips[1]
+ if(skillchip)
+ owner.remove_skillchip(skillchip, silent = TRUE)
+ skillchip.forceMove(owner.drop_location())
+ playsound(owner, 'sound/machines/terminal/terminal_eject.ogg', 25, TRUE)
+ else
+ remove_brain()
+ addtimer(CALLBACK(src, PROC_REF(reboot)), 90 / severity)
+
+/obj/item/organ/internal/cyberimp/brain/connector/proc/remove_brain(obj/item/organ/internal/brain/chippy_brain, severity = 1)
+ playsound(owner, 'sound/effects/meatslap.ogg', 25, TRUE)
+ if(!chippy_brain)
+ return
+ chippy_brain.apply_organ_damage(20 * severity)
+ chippy_brain.maxHealth -= 15 * severity // a bit of your brain fell off. again.
+ if(chippy_brain.damage >= chippy_brain.maxHealth)
+ chippy_brain.forceMove(owner.drop_location())
+ owner.visible_message(span_userdanger("[owner]'s brain falls off the back of [owner.p_their()] head!!!"), span_boldwarning("You feel like you're missing something."))
+ return chippy_brain
+
+ new /obj/effect/decal/cleanable/blood/gibs/up(get_turf(owner))
+ return FALSE
+
+/obj/item/organ/internal/cyberimp/brain/connector/proc/reboot()
+ organ_flags &= ~ORGAN_FAILING
+
//[[[[MOUTH]]]]
/obj/item/organ/internal/cyberimp/mouth
zone = BODY_ZONE_PRECISE_MOUTH
diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm
index 172a3b64181..820956a21a1 100644
--- a/code/modules/unit_tests/_unit_tests.dm
+++ b/code/modules/unit_tests/_unit_tests.dm
@@ -135,6 +135,7 @@
#include "dcs_get_id_from_elements.dm"
#include "designs.dm"
#include "dismemberment.dm"
+#include "dna_infusion.dm"
#include "door_access.dm"
#include "dragon_expiration.dm"
#include "drink_icons.dm"
@@ -211,7 +212,6 @@
#include "operating_table.dm"
#include "orderable_items.dm"
#include "organ_bodypart_shuffle.dm"
-#include "organ_set_bonus.dm"
#include "organs.dm"
#include "orphaned_genturf.dm"
#include "outfit_sanity.dm"
diff --git a/code/modules/unit_tests/organ_set_bonus.dm b/code/modules/unit_tests/dna_infusion.dm
similarity index 87%
rename from code/modules/unit_tests/organ_set_bonus.dm
rename to code/modules/unit_tests/dna_infusion.dm
index 67a88250665..fe545b3e29c 100644
--- a/code/modules/unit_tests/organ_set_bonus.dm
+++ b/code/modules/unit_tests/dna_infusion.dm
@@ -1,3 +1,16 @@
+///Check that input types that aren't living mobs have the TRAIT_VALID_DNA_INFUSION trait
+/datum/unit_test/valid_dna_infusion
+
+/datum/unit_test/valid_dna_infusion/Run()
+ for(var/datum/infuser_entry/infuser_entry as anything in flatten_list(GLOB.infuser_entries))
+ for(var/input_type as anything in infuser_entry.input_obj_or_mob)
+ if(ispath(input_type, /mob/living))
+ continue
+ var/atom/movable/movable = allocate(input_type)
+ if(!HAS_TRAIT(movable, TRAIT_VALID_DNA_INFUSION))
+ //TEST_FAIL() doesn't early return the unit test so we can keep checking.
+ TEST_FAIL("[input_type] is in the 'input_obj_or_mob' list for [infuser_entry.type] but doesn't have TRAIT_VALID_DNA_INFUSION.")
+
/// Checks that all "organ_set_bonus" status effects have unique "id" vars.
/// Required to ensure that the status effects are treated as "unique".
/datum/unit_test/organ_set_bonus_id
diff --git a/code/modules/unit_tests/fish_unit_tests.dm b/code/modules/unit_tests/fish_unit_tests.dm
index 1bda9875c26..8ed2b999e7f 100644
--- a/code/modules/unit_tests/fish_unit_tests.dm
+++ b/code/modules/unit_tests/fish_unit_tests.dm
@@ -360,7 +360,7 @@
/obj/structure/aquarium/crab/Initialize(mapload)
. = ..()
crabbie = new(src)
- crabbie.name = "Crabbie"
+ crabbie.AddComponent(/datum/component/rename, "Crabbie", crabbie.desc)
crabbie.last_feeding = world.time
crabbie.AddComponent(/datum/component/fish_growth, crabbie.lob_type, 1 SECONDS)
diff --git a/code/modules/uplink/uplink_items/job.dm b/code/modules/uplink/uplink_items/job.dm
index e786e7cd3a7..c9290ddd662 100644
--- a/code/modules/uplink/uplink_items/job.dm
+++ b/code/modules/uplink/uplink_items/job.dm
@@ -18,7 +18,10 @@
/datum/uplink_item/role_restricted/mail_counterfeit_kit
name = "GLA Brand Mail Counterfeit Kit"
- desc = "A box of five (5) counterfeit devices. Each single-use device can hold one normal sized object, and impersonate an ordinary postal envelope addressed to whoever you choose. Optionally, can be rigged to activate held items - great for if you want to surprise someone with a primed grenade!"
+ desc = "A box containing five devices capable of counterfeiting NT's mail. Can be used to store items within as an easy means of smuggling contraband. \
+ Additionally, you may choose to \"arm\" the item inside, causing the item to be used the moment the mail is opened as if the person had just used it in hand. \
+ The most common usage of this feature is with grenades, as it forces the grenade to prime. Bonus points if the grenade is set to instantly detonate. \
+ Comes with an integrated micro-computer for configuration purposes."
item = /obj/item/storage/box/syndie_kit/mail_counterfeit
cost = 2
uplink_item_flags = SYNDIE_TRIPS_CONTRABAND
diff --git a/code/modules/uplink/uplink_items/stealthy_tools.dm b/code/modules/uplink/uplink_items/stealthy_tools.dm
index 40e5df8febd..e3402ec3c72 100644
--- a/code/modules/uplink/uplink_items/stealthy_tools.dm
+++ b/code/modules/uplink/uplink_items/stealthy_tools.dm
@@ -95,7 +95,10 @@
/datum/uplink_item/stealthy_tools/mail_counterfeit
name = "GLA Brand Mail Counterfeit Device"
- desc = "Device that actually able to counterfeit NT's mail. This device also able to place a trap inside of mail for malicious actions. Trap will \"activate\" any item inside of mail. Also it might be used for contraband purposes. Integrated micro-computer will give you great configuration optionality for your needs."
+ desc = "A device capable of counterfeiting NT's mail. Can be used to store items within as an easy means of smuggling contraband. \
+ Additionally, you may choose to \"arm\" the item inside, causing the item to be used the moment the mail is opened as if the person had just used it in hand. \
+ The most common usage of this feature is with grenades, as it forces the grenade to prime. Bonus points if the grenade is set to instantly detonate. \
+ Comes with an integrated micro-computer for configuration purposes."
item = /obj/item/storage/mail_counterfeit_device
cost = 1
surplus = 30
diff --git a/code/modules/vehicles/mecha/mecha_movement.dm b/code/modules/vehicles/mecha/mecha_movement.dm
index dcd6f47c4fc..a4b21190a1e 100644
--- a/code/modules/vehicles/mecha/mecha_movement.dm
+++ b/code/modules/vehicles/mecha/mecha_movement.dm
@@ -29,6 +29,11 @@
/obj/vehicle/sealed/mecha/proc/play_stepsound()
if(mecha_flags & QUIET_STEPS)
return
+
+ // if we are on the second step of the diagonal movement, don't play step sound
+ if(src.moving_diagonally == SECOND_DIAG_STEP)
+ return
+
playsound(src, stepsound, 40, TRUE)
// Do whatever you do to mobs to these fuckers too
@@ -131,9 +136,8 @@
break
//if we're not facing the way we're going rotate us
+ // if we're not strafing or if we are forced to rotate or if we are holding down the key
if(dir != direction && (!strafe || forcerotate || keyheld))
- if(dir != direction && !(mecha_flags & QUIET_TURNS) && !step_silent)
- playsound(src,turnsound,40,TRUE)
setDir(direction)
if(keyheld || !pivot_step) //If we pivot step, we don't return here so we don't just come to a stop
return TRUE
@@ -141,6 +145,11 @@
set_glide_size(DELAY_TO_GLIDE_SIZE(movedelay))
//Otherwise just walk normally
. = try_step_multiz(direction)
+
+ //dir and olddir are the current direction of the sprite and the old direction of the sprite respectively
+ if (dir != olddir && !(mecha_flags & QUIET_TURNS))
+ playsound(src, turnsound, 40, TRUE)
+
if(phasing)
use_energy(phasing_energy_drain)
if(strafe)
diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm
index 98a77c7f40c..ce51c196746 100644
--- a/code/modules/vending/games.dm
+++ b/code/modules/vending/games.dm
@@ -45,7 +45,7 @@
/obj/item/stack/pipe_cleaner_coil/random = 10,
),
),
- list(
+ list(
"name" = "Fishing",
"icon" = "fish",
"products" = list(
@@ -54,6 +54,7 @@
/obj/item/storage/box/fishing_lines = 2,
/obj/item/storage/box/fishing_lures = 2,
/obj/item/book/manual/fish_catalog = 5,
+ /obj/item/fish_feed = 4,
/obj/item/fish_analyzer = 2,
/obj/item/fishing_rod/telescopic = 1,
),
@@ -96,6 +97,7 @@
/obj/item/clothing/shoes/wheelys/skishoes = 4,
/obj/item/instrument/musicalmoth = 1,
/obj/item/gun/ballistic/revolver/russian = 1, //the most dangerous game
+ /obj/item/skillchip/acrobatics = 1,
)
premium = list(
/obj/item/disk/holodisk = 5,
diff --git a/html/changelogs/AutoChangeLog-pr-86765.yml b/html/changelogs/AutoChangeLog-pr-86765.yml
new file mode 100644
index 00000000000..226ba9eeaaf
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-86765.yml
@@ -0,0 +1,4 @@
+author: "ninjanomnom"
+delete-after: True
+changes:
+ - bugfix: "Byond membership lookup should now warn you when it fails due to a connection failure."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-86827.yml b/html/changelogs/AutoChangeLog-pr-86827.yml
new file mode 100644
index 00000000000..238195d82bc
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-86827.yml
@@ -0,0 +1,8 @@
+author: "Xackii"
+delete-after: True
+changes:
+ - rscadd: "Manipulator now shows what objects he is dragging."
+ - rscadd: "Manipulator now can take more then just items."
+ - rscadd: "Manipulator now have 3 modes to choice: drop/use/throw."
+ - rscadd: "Manipulator now have priorities."
+ - rscadd: "Manipulator now can be emaged."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-86957.yml b/html/changelogs/AutoChangeLog-pr-86957.yml
new file mode 100644
index 00000000000..ff9344ab87c
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-86957.yml
@@ -0,0 +1,4 @@
+author: "GremlinSeeker"
+delete-after: True
+changes:
+ - map: "New Icebox Ruin \"Syndicate Biodome\" added."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87082.yml b/html/changelogs/AutoChangeLog-pr-87082.yml
new file mode 100644
index 00000000000..355d06d0880
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87082.yml
@@ -0,0 +1,7 @@
+author: "carlarctg"
+delete-after: True
+changes:
+ - rscadd: "Added the FOSBURY skillchip, found in hacked toy vendors. This skillchip allows you to bypass the emote cooldown when flipping or spinning. However, if used too often, it will lower the chip's integrity and cause malfunctions."
+ - rscadd: "Added the Chipped quirk. It allows you to spawn with one base skillchip. (not the one above)"
+ - rscadd: "Added the Chip Connector quirk. It contains a new implant, the chip connector, which allows you to install and take out skillchips at any time."
+ - code_imp: "Renamed the organ slots for brain implants and made the connector implant take the CNS slot."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87102.yml b/html/changelogs/AutoChangeLog-pr-87102.yml
new file mode 100644
index 00000000000..e4e89d68206
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87102.yml
@@ -0,0 +1,4 @@
+author: "Striders13"
+delete-after: True
+changes:
+ - balance: "replaced gas mask fov with pepperspray applying tint to gas masks, making the wearer blind until washed off."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87110.yml b/html/changelogs/AutoChangeLog-pr-87110.yml
new file mode 100644
index 00000000000..6db52e7bde4
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87110.yml
@@ -0,0 +1,5 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - rscadd: "You can buy a fishing rod pre-equipped with a rescue hook from the mining order console."
+ - balance: "Paramedics can get a rescue fishing hook as a heirloom."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87119.yml b/html/changelogs/AutoChangeLog-pr-87119.yml
new file mode 100644
index 00000000000..658e3930214
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87119.yml
@@ -0,0 +1,4 @@
+author: "Melbert"
+delete-after: True
+changes:
+ - balance: "Cyborgs are now slowed down when hit with any melee weapons, rather than ONLY when they are hit by THROWN melee weapons. The stronger the weapon, the stronger the slowdown. Thrown weapons are still more effective at slowing than just hitting them directly, however."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87122.yml b/html/changelogs/AutoChangeLog-pr-87122.yml
new file mode 100644
index 00000000000..c09a7ca4308
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87122.yml
@@ -0,0 +1,4 @@
+author: "junkgle01"
+delete-after: True
+changes:
+ - bugfix: "fixed up Metastation's cargo delivery office."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87143.yml b/html/changelogs/AutoChangeLog-pr-87143.yml
new file mode 100644
index 00000000000..10696da59b6
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87143.yml
@@ -0,0 +1,5 @@
+author: "Jewelry-x"
+delete-after: True
+changes:
+ - bugfix: "the ghost \"t-ray view\" no longer requires a double press to activate a second time."
+ - qol: "renamed \"t-ray view\" to \"t-ray scan\" for clarity."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87144.yml b/html/changelogs/AutoChangeLog-pr-87144.yml
new file mode 100644
index 00000000000..b98c0d1c189
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87144.yml
@@ -0,0 +1,5 @@
+author: "necromanceranne"
+delete-after: True
+changes:
+ - bugfix: "Pyrokinesis/Cryokinesis cast range matches its projectile range."
+ - code_imp: "Pyrokinesis and Cindikinesis are now their own types and not subtypes of Cryokinesis and Geladikinesis. This allows you to not have to mutate yourself in a specific order to not lock yourself out of the other mutation."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87145.yml b/html/changelogs/AutoChangeLog-pr-87145.yml
new file mode 100644
index 00000000000..70afb26c785
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87145.yml
@@ -0,0 +1,4 @@
+author: "grungussuss"
+delete-after: True
+changes:
+ - balance: "all chainsaws can now behead people"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87154.yml b/html/changelogs/AutoChangeLog-pr-87154.yml
new file mode 100644
index 00000000000..00abf6ba498
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87154.yml
@@ -0,0 +1,4 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - bugfix: "Fish like slimefish, unmarine bonemass and deepfryer fish can now be used for DNA infusions."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87157.yml b/html/changelogs/AutoChangeLog-pr-87157.yml
new file mode 100644
index 00000000000..bad3d118fd4
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87157.yml
@@ -0,0 +1,4 @@
+author: "hyperjll"
+delete-after: True
+changes:
+ - qol: "The GLA Brand Mail Counterfeit Device's description has been updated by a native english speaker and has been made more descriptive."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87159.yml b/html/changelogs/AutoChangeLog-pr-87159.yml
new file mode 100644
index 00000000000..b9b7e795532
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87159.yml
@@ -0,0 +1,5 @@
+author: "junkgle01"
+delete-after: True
+changes:
+ - rscadd: "the Honkmother has decided to bless Her children with a new form!"
+ - image: "resprited the optional clown mask styles"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87165.yml b/html/changelogs/AutoChangeLog-pr-87165.yml
new file mode 100644
index 00000000000..a6926fda74a
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87165.yml
@@ -0,0 +1,5 @@
+author: "grungussuss"
+delete-after: True
+changes:
+ - sound: "helmets and their visors make sounds now"
+ - code_imp: "cleaned up laser tag helmet code a bit"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87166.yml b/html/changelogs/AutoChangeLog-pr-87166.yml
new file mode 100644
index 00000000000..e3faa3745a5
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87166.yml
@@ -0,0 +1,4 @@
+author: "Ben10Omintrix"
+delete-after: True
+changes:
+ - code_imp: "animals' food hunting behavior has been refactored, please report any bugs"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87167.yml b/html/changelogs/AutoChangeLog-pr-87167.yml
new file mode 100644
index 00000000000..24a662bb58d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87167.yml
@@ -0,0 +1,13 @@
+author: "EnterTheJake"
+delete-after: True
+changes:
+ - balance: "Sundered Blades now require 1 Titanium or Silver bar to craft and their capacity has been reduced to 4."
+ - balance: "Realignment pulls you out of stuns a bit faster and grants baton resist while active."
+ - balance: "Blade Heretic dual wielding now let's you infuse Your Dark Blades with a weaker mansus grasp and grants an increase in demolition modifier."
+ - bugfix: "Malestrom of Silver grants the ring of protective blades once again."
+ - balance: "Mawed Crucible requires 3 organs to brew one potion, passively refills overtime and can be used to refill the Eldritch Flask"
+ - balance: "Brew of Crucible soul effect bumped to 40 seconds and can be ended early."
+ - balance: "Brew Of Dusk and Dawn effect bumped to 3 minutes."
+ - balance: "Brew of the wounded soldier now offers a very minor passive heal and fully heals your wounds and limbs upon expiring."
+ - balance: "Cursed Curio shield now recharges faster."
+ - balance: "Lionhunter's rifle has been reworked, it now fits on the eldritch robes vest slots, it's cheaper to craft it and its ammunition and works as an initiation tool."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87169.yml b/html/changelogs/AutoChangeLog-pr-87169.yml
new file mode 100644
index 00000000000..c18f14e2f29
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87169.yml
@@ -0,0 +1,4 @@
+author: "Soupfgc"
+delete-after: True
+changes:
+ - bugfix: "Springlock MOD module properly interacts with Water Vapor"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87170.yml b/html/changelogs/AutoChangeLog-pr-87170.yml
new file mode 100644
index 00000000000..71d30e1eaea
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87170.yml
@@ -0,0 +1,4 @@
+author: "DATA-xPUNGED"
+delete-after: True
+changes:
+ - bugfix: "ACTUALLY fixes server hop fade in"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87174.yml b/html/changelogs/AutoChangeLog-pr-87174.yml
new file mode 100644
index 00000000000..859787ef775
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87174.yml
@@ -0,0 +1,4 @@
+author: "grungussuss"
+delete-after: True
+changes:
+ - qol: "offering an item displays a balloon alert"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87180.yml b/html/changelogs/AutoChangeLog-pr-87180.yml
new file mode 100644
index 00000000000..16b585c3120
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87180.yml
@@ -0,0 +1,4 @@
+author: "Y0SH1M4S73R"
+delete-after: True
+changes:
+ - bugfix: "Syndicate Sleeper Agents can once again forge custom objectives"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87184.yml b/html/changelogs/AutoChangeLog-pr-87184.yml
new file mode 100644
index 00000000000..a48f9591b21
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87184.yml
@@ -0,0 +1,5 @@
+author: "Jewelry-x"
+delete-after: True
+changes:
+ - bugfix: "fixed mech step sound playing twice diagonally"
+ - bugfix: "fixed turn sound playing every time you move diagonally, now only plays when the sprite turns"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87185.yml b/html/changelogs/AutoChangeLog-pr-87185.yml
new file mode 100644
index 00000000000..81c0acb5f0e
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87185.yml
@@ -0,0 +1,4 @@
+author: "SmArtKar"
+delete-after: True
+changes:
+ - spellcheck: "Fixed a typo in multiple lives component"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87190.yml b/html/changelogs/AutoChangeLog-pr-87190.yml
new file mode 100644
index 00000000000..820b128f4fa
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87190.yml
@@ -0,0 +1,4 @@
+author: "grungussuss"
+delete-after: True
+changes:
+ - sound: "gas analyzer now has handling sounds"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87193.yml b/html/changelogs/AutoChangeLog-pr-87193.yml
new file mode 100644
index 00000000000..36688beb146
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87193.yml
@@ -0,0 +1,4 @@
+author: "grungussuss"
+delete-after: True
+changes:
+ - sound: "cards have new handling sounds"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87194.yml b/html/changelogs/AutoChangeLog-pr-87194.yml
new file mode 100644
index 00000000000..66f4fc00b48
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87194.yml
@@ -0,0 +1,4 @@
+author: "SmArtKar"
+delete-after: True
+changes:
+ - bugfix: "Ghosts can no longer cut people's tethers"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87195.yml b/html/changelogs/AutoChangeLog-pr-87195.yml
new file mode 100644
index 00000000000..b4bbda75eda
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87195.yml
@@ -0,0 +1,4 @@
+author: "Hardly3D"
+delete-after: True
+changes:
+ - spellcheck: "fixes a small error in text when adjusting kitsune masks"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87198.yml b/html/changelogs/AutoChangeLog-pr-87198.yml
new file mode 100644
index 00000000000..90e21393f98
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87198.yml
@@ -0,0 +1,5 @@
+author: "SmArtKar"
+delete-after: True
+changes:
+ - bugfix: "Chainsaws can now be sharpened"
+ - code_imp: "Chainsaws have received a minor code refactor"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87199.yml b/html/changelogs/AutoChangeLog-pr-87199.yml
new file mode 100644
index 00000000000..0c40ab3efda
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87199.yml
@@ -0,0 +1,5 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - bugfix: "Fixed gills not managing to breathe water vapor through internals."
+ - bugfix: "Fixed some inconsistencies with examining fishing spots with the appropriate level and fishing rod."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87201.yml b/html/changelogs/AutoChangeLog-pr-87201.yml
new file mode 100644
index 00000000000..03a14d7407a
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87201.yml
@@ -0,0 +1,10 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - map: "Added a premapped fishing portal generator to every map."
+ - balance: "Lowered the requirements for fish scanning experiment. Swapped the rewards of the second and third experiments."
+ - balance: "Buffed fishing difficulty modifiers for several items and chairs."
+ - balance: "Fishing skill now affects completion speed of the minigame more actively."
+ - balance: "Mild fish infusion tweaks. Crawling is a smidge slower, but healing from showers and drank water is a bit better."
+ - qol: "Fishing rods and fish cases can now be printed by cargo and science lathes."
+ - rscadd: "Gills now give the fish puns speech modifier."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87204.yml b/html/changelogs/AutoChangeLog-pr-87204.yml
new file mode 100644
index 00000000000..a94eb3b7373
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87204.yml
@@ -0,0 +1,4 @@
+author: "carlarctg"
+delete-after: True
+changes:
+ - rscadd: "you can use lizards to get lizard organs in the dna infuser"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87207.yml b/html/changelogs/AutoChangeLog-pr-87207.yml
new file mode 100644
index 00000000000..4ee7a40193d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87207.yml
@@ -0,0 +1,4 @@
+author: "vinylspiders"
+delete-after: True
+changes:
+ - bugfix: "fixes a bunch of improper static list declarations"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87208.yml b/html/changelogs/AutoChangeLog-pr-87208.yml
new file mode 100644
index 00000000000..3224087239d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87208.yml
@@ -0,0 +1,4 @@
+author: "grungussuss"
+delete-after: True
+changes:
+ - sound: "medical, jani, soulstone, grenade belts got sounds"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87210.yml b/html/changelogs/AutoChangeLog-pr-87210.yml
new file mode 100644
index 00000000000..0e333cddb5d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87210.yml
@@ -0,0 +1,4 @@
+author: "grungussuss"
+delete-after: True
+changes:
+ - sound: "along with the shared emote cooldown, specific emote audio cooldown has returned."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87212.yml b/html/changelogs/AutoChangeLog-pr-87212.yml
new file mode 100644
index 00000000000..dd5a17bbc93
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87212.yml
@@ -0,0 +1,4 @@
+author: "mc-oofert"
+delete-after: True
+changes:
+ - bugfix: "you may no longer roll appendicitis in deathmatch or as a bitrunner avatar"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87216.yml b/html/changelogs/AutoChangeLog-pr-87216.yml
new file mode 100644
index 00000000000..063a3271056
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87216.yml
@@ -0,0 +1,4 @@
+author: "SmArtKar"
+delete-after: True
+changes:
+ - bugfix: "Losing hulk after becoming a carp no longer turns you black"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87218.yml b/html/changelogs/AutoChangeLog-pr-87218.yml
new file mode 100644
index 00000000000..d6b17a11a45
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87218.yml
@@ -0,0 +1,4 @@
+author: "ZephyrTFA"
+delete-after: True
+changes:
+ - qol: "map votes are now winner take all instead of weighted."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87219.yml b/html/changelogs/AutoChangeLog-pr-87219.yml
new file mode 100644
index 00000000000..5ed4f2e947c
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87219.yml
@@ -0,0 +1,4 @@
+author: "kittysmooch"
+delete-after: True
+changes:
+ - bugfix: "fixed east facing female human heads having an extra neck pixel\n:cl:"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87226.yml b/html/changelogs/AutoChangeLog-pr-87226.yml
new file mode 100644
index 00000000000..683f94d690b
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87226.yml
@@ -0,0 +1,5 @@
+author: "larentoun"
+delete-after: True
+changes:
+ - spellcheck: "Correct message is shown when YOU get devoured by an alien"
+ - spellcheck: "Fixed a few typos on some simple attack verbs being continuous"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87230.yml b/html/changelogs/AutoChangeLog-pr-87230.yml
new file mode 100644
index 00000000000..1feb2c158ed
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87230.yml
@@ -0,0 +1,5 @@
+author: "Mamaii"
+delete-after: True
+changes:
+ - rscadd: "shower will give felinids negative mood effect"
+ - bugfix: "fixed shower hater status effect alert not showing"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87243.yml b/html/changelogs/AutoChangeLog-pr-87243.yml
new file mode 100644
index 00000000000..366eaca3667
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87243.yml
@@ -0,0 +1,4 @@
+author: "Pickle-Coding"
+delete-after: True
+changes:
+ - bugfix: "Fixes canisters and portable pumps from not considering decimals when transferring input to setting release pressure."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87244.yml b/html/changelogs/AutoChangeLog-pr-87244.yml
new file mode 100644
index 00000000000..48ae3f6f59b
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87244.yml
@@ -0,0 +1,7 @@
+author: "mc-oofert"
+delete-after: True
+changes:
+ - bugfix: "input output overlays for manufacturing machines actually update properly when rotated"
+ - qol: "you may dump materials of a manulathe via CTRL SHIFT LMB"
+ - balance: "manulathes may not receive ore (not intentional)"
+ - balance: "manulathes now use a matter bin in their construction, which now affects their material holding capacity: 50 sheets per tier"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87247.yml b/html/changelogs/AutoChangeLog-pr-87247.yml
new file mode 100644
index 00000000000..48873ff33dc
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87247.yml
@@ -0,0 +1,4 @@
+author: "mc-oofert"
+delete-after: True
+changes:
+ - code_imp: "Movement Subsystem no longer is a background subsystem. This means that you should no longer get stuck after slipping on oil during instances of high usage."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87249.yml b/html/changelogs/AutoChangeLog-pr-87249.yml
new file mode 100644
index 00000000000..799b711b9a2
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87249.yml
@@ -0,0 +1,4 @@
+author: "san7890"
+delete-after: True
+changes:
+ - admin: "Logging of Bombanana Peel explosions should be far better now."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87250.yml b/html/changelogs/AutoChangeLog-pr-87250.yml
new file mode 100644
index 00000000000..9a5d347bf75
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87250.yml
@@ -0,0 +1,4 @@
+author: "Hatterhat"
+delete-after: True
+changes:
+ - bugfix: "Portable SMESes should no longer turn invisible when unscrewed."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87251.yml b/html/changelogs/AutoChangeLog-pr-87251.yml
new file mode 100644
index 00000000000..9e17d2c2330
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87251.yml
@@ -0,0 +1,4 @@
+author: "SmArtKar"
+delete-after: True
+changes:
+ - bugfix: "Hotswapping tanks in pumps and scrubbers now properly plays both sounds instead of runtiming"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-87254.yml b/html/changelogs/AutoChangeLog-pr-87254.yml
new file mode 100644
index 00000000000..4464e914dc7
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-87254.yml
@@ -0,0 +1,4 @@
+author: "Melbert"
+delete-after: True
+changes:
+ - bugfix: "Fixed digitigrade pants sprite not updating in accordance to some leg updates"
\ No newline at end of file
diff --git a/icons/mob/clothing/mask.dmi b/icons/mob/clothing/mask.dmi
index 117511dd874..89e01e574af 100644
Binary files a/icons/mob/clothing/mask.dmi and b/icons/mob/clothing/mask.dmi differ
diff --git a/icons/mob/human/bodyparts_greyscale.dmi b/icons/mob/human/bodyparts_greyscale.dmi
index b87182b258b..1fa4f751b3b 100644
Binary files a/icons/mob/human/bodyparts_greyscale.dmi and b/icons/mob/human/bodyparts_greyscale.dmi differ
diff --git a/icons/mob/inhands/64x64_lefthand.dmi b/icons/mob/inhands/64x64_lefthand.dmi
index 4ef1c071abf..e5dc6226045 100644
Binary files a/icons/mob/inhands/64x64_lefthand.dmi and b/icons/mob/inhands/64x64_lefthand.dmi differ
diff --git a/icons/mob/inhands/64x64_righthand.dmi b/icons/mob/inhands/64x64_righthand.dmi
index 5d087c0b36f..5f153cece74 100644
Binary files a/icons/mob/inhands/64x64_righthand.dmi and b/icons/mob/inhands/64x64_righthand.dmi differ
diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi
index 59589317735..62c1fa68740 100644
Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ
diff --git a/icons/obj/machines/engine/other.dmi b/icons/obj/machines/engine/other.dmi
index 7fb5ac6e765..15390eb537c 100644
Binary files a/icons/obj/machines/engine/other.dmi and b/icons/obj/machines/engine/other.dmi differ
diff --git a/icons/obj/medical/organs/organs.dmi b/icons/obj/medical/organs/organs.dmi
index a9366894d7b..06ed0e7058d 100644
Binary files a/icons/obj/medical/organs/organs.dmi and b/icons/obj/medical/organs/organs.dmi differ
diff --git a/icons/obj/weapons/chainsaw.dmi b/icons/obj/weapons/chainsaw.dmi
index 1d48b63e459..b2a0385e70b 100644
Binary files a/icons/obj/weapons/chainsaw.dmi and b/icons/obj/weapons/chainsaw.dmi differ
diff --git a/icons/obj/weapons/khopesh.dmi b/icons/obj/weapons/khopesh.dmi
index 7c0d54a7140..20b084396aa 100644
Binary files a/icons/obj/weapons/khopesh.dmi and b/icons/obj/weapons/khopesh.dmi differ
diff --git a/modular_nova/master_files/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm b/modular_nova/master_files/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm
index 130d1277e45..08492344885 100644
--- a/modular_nova/master_files/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm
+++ b/modular_nova/master_files/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm
@@ -34,12 +34,13 @@
/datum/bodypart_overlay/mutant/proc/set_appearance_from_dna(datum/dna/dna, accessory_name, feature_key)
if(isnull(feature_key)) // if not explicitly set, just use the feature_key of the bodypart_overlay
feature_key = src.feature_key
- if(!dna.mutant_bodyparts[feature_key])
+ var/list/mutantparts_list = dna.mutant_bodyparts[feature_key] ? dna.mutant_bodyparts : dna.species.mutant_bodyparts
+ if(!mutantparts_list[feature_key])
return FALSE
- sprite_datum = fetch_sprite_datum_from_name(accessory_name ? accessory_name : dna.mutant_bodyparts[feature_key][MUTANT_INDEX_NAME])
+ sprite_datum = fetch_sprite_datum_from_name(accessory_name ? accessory_name : mutantparts_list[feature_key][MUTANT_INDEX_NAME])
modsuit_affected = sprite_datum.use_custom_mod_icon
- draw_color = dna.mutant_bodyparts[feature_key][MUTANT_INDEX_COLOR_LIST]
- build_emissive_eligibility(dna.mutant_bodyparts[feature_key][MUTANT_INDEX_EMISSIVE_LIST])
+ draw_color = mutantparts_list[feature_key][MUTANT_INDEX_COLOR_LIST]
+ build_emissive_eligibility(mutantparts_list[feature_key][MUTANT_INDEX_EMISSIVE_LIST])
cache_key = jointext(generate_icon_cache(), "_")
return TRUE
diff --git a/modular_nova/master_files/code/game/objects/items/kirby_plants.dm b/modular_nova/master_files/code/game/objects/items/kirby_plants.dm
new file mode 100644
index 00000000000..06aa42a08f5
--- /dev/null
+++ b/modular_nova/master_files/code/game/objects/items/kirby_plants.dm
@@ -0,0 +1,3 @@
+/obj/item/kirbyplants
+ /// Maximum icon state number - KEEP THIS UP TO DATE
+ var/random_state_cap = 43 // NOVA EDIT ADDITION
diff --git a/modular_nova/master_files/code/modules/clothing/head/hardhat.dm b/modular_nova/master_files/code/modules/clothing/head/hardhat.dm
index 9872a107260..7a9fec0cb51 100644
--- a/modular_nova/master_files/code/modules/clothing/head/hardhat.dm
+++ b/modular_nova/master_files/code/modules/clothing/head/hardhat.dm
@@ -10,3 +10,7 @@
visor_sprite_path = 'modular_nova/master_files/icons/mob/clothing/head_muzzled.dmi'
else
visor_sprite_path = 'icons/mob/clothing/head/utility.dmi'
+
+// Make it so pumpkin heads can be used in the neck, so that synths can cosplay as a dullahan for hallowen
+/obj/item/clothing/head/utility/hardhat/pumpkinhead
+ slot_flags = ITEM_SLOT_HEAD | ITEM_SLOT_NECK
diff --git a/modular_nova/master_files/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm b/modular_nova/master_files/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm
index ee6676d0103..675db4c055a 100644
--- a/modular_nova/master_files/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm
+++ b/modular_nova/master_files/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm
@@ -1,6 +1,6 @@
// GHOST HOTEL UPDATE
/obj/item/hilbertshotel
- var/list/static/hotel_maps = list("Generic", "Apartment", "Beach Condo")
+ var/static/list/hotel_maps = list("Generic", "Apartment", "Beach Condo")
//standard - hilbert's hotel room
//apartment - see /datum/map_template/ghost_cafe_rooms
var/datum/map_template/ghost_cafe_rooms/apartment/ghost_cafe_rooms_apartment
diff --git a/modular_nova/modules/ashwalkers/code/items/ash_seedmesh.dm b/modular_nova/modules/ashwalkers/code/items/ash_seedmesh.dm
index 0c3b264f10f..1d34fbe9613 100644
--- a/modular_nova/modules/ashwalkers/code/items/ash_seedmesh.dm
+++ b/modular_nova/modules/ashwalkers/code/items/ash_seedmesh.dm
@@ -3,7 +3,7 @@
desc = "A little mesh that, when paired with sand, has the possibility of filtering out large seeds."
icon = 'modular_nova/modules/ashwalkers/icons/misc_tools.dmi'
icon_state = "mesh"
- var/list/static/seeds_blacklist = list(
+ var/static/list/seeds_blacklist = list(
/obj/item/seeds/lavaland,
/obj/item/seeds/gatfruit,
/obj/item/seeds/seedling/evil,
diff --git a/modular_nova/modules/customization/modules/clothing/masks/gasmask.dm b/modular_nova/modules/customization/modules/clothing/masks/gasmask.dm
index 3ee77992e0d..58024b8b8a1 100644
--- a/modular_nova/modules/customization/modules/clothing/masks/gasmask.dm
+++ b/modular_nova/modules/customization/modules/clothing/masks/gasmask.dm
@@ -55,7 +55,6 @@
clothing_flags = MASKINTERNALS
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE
- has_fov = FALSE
greyscale_config = /datum/greyscale_config/clown_mask
greyscale_config_worn = /datum/greyscale_config/clown_mask/worn
greyscale_colors = "#FFFFFF#F20018#0000FF#00CC00"
@@ -80,7 +79,6 @@
icon_state = "respirator"
inhand_icon_state = "sechailer"
w_class = WEIGHT_CLASS_SMALL
- has_fov = FALSE
clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
flags_inv = HIDEFACIALHAIR|HIDESNOUT
flags_cover = MASKCOVERSMOUTH
diff --git a/modular_nova/modules/disable_worn_fov/code/worn_items.dm b/modular_nova/modules/disable_worn_fov/code/worn_items.dm
index 4739ecec29b..eeacbe869cd 100644
--- a/modular_nova/modules/disable_worn_fov/code/worn_items.dm
+++ b/modular_nova/modules/disable_worn_fov/code/worn_items.dm
@@ -1,6 +1,3 @@
/obj/item/clothing/head/bio_hood/Initialize(mapload)
. = ..()
qdel(GetComponent(/datum/component/clothing_fov_visor))
-
-/obj/item/clothing/mask/gas/
- has_fov = FALSE
diff --git a/modular_nova/modules/emotes/code/emotes.dm b/modular_nova/modules/emotes/code/emotes.dm
index fa233c986ac..6a695dfa740 100644
--- a/modular_nova/modules/emotes/code/emotes.dm
+++ b/modular_nova/modules/emotes/code/emotes.dm
@@ -277,7 +277,6 @@
message = "claps."
hands_use_check = TRUE
emote_type = EMOTE_AUDIBLE
- audio_cooldown = 5 SECONDS
vary = TRUE
mob_type_allowed_typecache = list(/mob/living/carbon, /mob/living/silicon/pai)
diff --git a/modular_nova/modules/implants/code/augments_head.dm b/modular_nova/modules/implants/code/augments_head.dm
index c516035c0a1..42038a9911b 100644
--- a/modular_nova/modules/implants/code/augments_head.dm
+++ b/modular_nova/modules/implants/code/augments_head.dm
@@ -12,7 +12,7 @@
systems that heavily influence the user's nervous system, like the central nervous system rebooter."
icon = 'modular_nova/modules/implants/icons/implants.dmi'
icon_state = "sandy"
- slot = ORGAN_SLOT_BRAIN_ANTISTUN
+ slot = ORGAN_SLOT_BRAIN_CNS
zone = BODY_ZONE_HEAD
implant_overlay = null
implant_color = null
@@ -130,7 +130,7 @@
hacking for you. Due to their complexity, the system does not appear to work on cyborgs."
icon = 'modular_nova/modules/implants/icons/implants.dmi'
icon_state = "hackerman"
- slot = ORGAN_SLOT_BRAIN_ANTISTUN
+ slot = ORGAN_SLOT_BRAIN_CNS
zone = BODY_ZONE_HEAD
implant_overlay = null
implant_color = null
diff --git a/modular_nova/modules/implants/code/augments_internal.dm b/modular_nova/modules/implants/code/augments_internal.dm
index ea4158bfc23..1d52cedeacf 100644
--- a/modular_nova/modules/implants/code/augments_internal.dm
+++ b/modular_nova/modules/implants/code/augments_internal.dm
@@ -3,7 +3,7 @@
desc = "This implant will automatically attempt to jolt you awake when it detects you have fallen unconscious outside of REM sleeping cycles. Has a short cooldown. Conflicts with the CNS Rebooter, making them incompatible with eachother."
icon_state = "brain_implant_rebooter"
implant_color = "#0356fc"
- slot = ORGAN_SLOT_BRAIN_ANTISTUN //One or the other, not both.
+ slot = ORGAN_SLOT_BRAIN_CNS //One or the other, not both.
var/cooldown
/obj/item/organ/internal/cyberimp/brain/anti_sleep/on_life(seconds_per_tick, times_fired)
diff --git a/modular_nova/modules/synths/code/bodyparts/brain.dm b/modular_nova/modules/synths/code/bodyparts/brain.dm
index 2cd7d6be159..953b2bad433 100644
--- a/modular_nova/modules/synths/code/bodyparts/brain.dm
+++ b/modular_nova/modules/synths/code/bodyparts/brain.dm
@@ -38,7 +38,7 @@
to_chat(owner, span_warning("Alert: Electromagnetic damage taken in central processing unit. Error Code: 401-YT"))
apply_organ_damage(SYNTH_ORGAN_LIGHT_EMP_DAMAGE, SYNTH_EMP_BRAIN_DAMAGE_MAXIMUM, required_organ_flag = ORGAN_ROBOTIC)
-/obj/item/organ/internal/brain/synth/apply_organ_damage(damage_amount, maximumm, required_organ_flag)
+/obj/item/organ/internal/brain/synth/apply_organ_damage(damage_amount, maximum, required_organ_flag)
. = ..()
if(owner && damage > 0 && (world.time - last_message_time) > SYNTH_BRAIN_DAMAGE_MESSAGE_INTERVAL)
diff --git a/modular_nova/modules/synths/code/species/synthetic.dm b/modular_nova/modules/synths/code/species/synthetic.dm
index 063e59d2932..0c989ccf6ef 100644
--- a/modular_nova/modules/synths/code/species/synthetic.dm
+++ b/modular_nova/modules/synths/code/species/synthetic.dm
@@ -128,12 +128,12 @@
if(limb.body_zone == BODY_ZONE_HEAD)
if(head_of_choice.color_src && head[MUTANT_INDEX_COLOR_LIST] && length(head[MUTANT_INDEX_COLOR_LIST]))
- limb.variable_color = head[MUTANT_INDEX_COLOR_LIST][1]
+ limb.add_color_override(head[MUTANT_INDEX_COLOR_LIST][1], LIMB_COLOR_SYNTH)
limb.change_appearance(head_of_choice.icon, head_of_choice.icon_state, !!head_of_choice.color_src, head_of_choice.dimorphic)
continue
if(chassis_of_choice.color_src && chassis[MUTANT_INDEX_COLOR_LIST] && length(chassis[MUTANT_INDEX_COLOR_LIST]))
- limb.variable_color = chassis[MUTANT_INDEX_COLOR_LIST][1]
+ limb.add_color_override(chassis[MUTANT_INDEX_COLOR_LIST][1], LIMB_COLOR_SYNTH)
limb.change_appearance(chassis_of_choice.icon, chassis_of_choice.icon_state, !!chassis_of_choice.color_src, limb.body_part == CHEST && chassis_of_choice.dimorphic)
limb.name = "\improper[chassis_of_choice.name] [parse_zone(limb.body_zone)]"
diff --git a/sound/items/handling/gas_analyzer/attribution.txt b/sound/items/handling/gas_analyzer/attribution.txt
new file mode 100644
index 00000000000..a2960bacfbb
--- /dev/null
+++ b/sound/items/handling/gas_analyzer/attribution.txt
@@ -0,0 +1,2 @@
+gas_analyzer handling sounds made by sadboysuss
+license: CC-BY-SA
\ No newline at end of file
diff --git a/sound/items/handling/gas_analyzer/gas_analyzer_drop.ogg b/sound/items/handling/gas_analyzer/gas_analyzer_drop.ogg
new file mode 100644
index 00000000000..779a600dee9
Binary files /dev/null and b/sound/items/handling/gas_analyzer/gas_analyzer_drop.ogg differ
diff --git a/sound/items/handling/gas_analyzer/gas_analyzer_pickup.ogg b/sound/items/handling/gas_analyzer/gas_analyzer_pickup.ogg
new file mode 100644
index 00000000000..dc3f5988ae8
Binary files /dev/null and b/sound/items/handling/gas_analyzer/gas_analyzer_pickup.ogg differ
diff --git a/sound/items/handling/helmet/attribution.txt b/sound/items/handling/helmet/attribution.txt
new file mode 100644
index 00000000000..78383b32fa3
--- /dev/null
+++ b/sound/items/handling/helmet/attribution.txt
@@ -0,0 +1,8 @@
+visor_up and visor_down are:
+Bike helmet visor.wav by Didi0508 -- https://freesound.org/s/541921/ -- License: Attribution NonCommercial 4.0
+
+helmet drop and equip:
+helmet motorbike put on a head by cupido-1 -- https://freesound.org/s/614199/ -- License: Creative Commons 0
+
+helmet pickup:
+helmet_grabbing_and_handling_sound by Artninja -- https://freesound.org/s/725314/ -- License: Attribution 4.0
diff --git a/sound/items/handling/helmet/helmet_drop1.ogg b/sound/items/handling/helmet/helmet_drop1.ogg
new file mode 100644
index 00000000000..8892e120e03
Binary files /dev/null and b/sound/items/handling/helmet/helmet_drop1.ogg differ
diff --git a/sound/items/handling/helmet/helmet_equip1.ogg b/sound/items/handling/helmet/helmet_equip1.ogg
new file mode 100644
index 00000000000..379ad6ce866
Binary files /dev/null and b/sound/items/handling/helmet/helmet_equip1.ogg differ
diff --git a/sound/items/handling/helmet/helmet_pickup1.ogg b/sound/items/handling/helmet/helmet_pickup1.ogg
new file mode 100644
index 00000000000..b28def3a51e
Binary files /dev/null and b/sound/items/handling/helmet/helmet_pickup1.ogg differ
diff --git a/sound/items/handling/helmet/visor_down1.ogg b/sound/items/handling/helmet/visor_down1.ogg
new file mode 100644
index 00000000000..df93db6b7cf
Binary files /dev/null and b/sound/items/handling/helmet/visor_down1.ogg differ
diff --git a/sound/items/handling/helmet/visor_down2.ogg b/sound/items/handling/helmet/visor_down2.ogg
new file mode 100644
index 00000000000..1662f7cfbfe
Binary files /dev/null and b/sound/items/handling/helmet/visor_down2.ogg differ
diff --git a/sound/items/handling/helmet/visor_down3.ogg b/sound/items/handling/helmet/visor_down3.ogg
new file mode 100644
index 00000000000..7d2d2b2a6ae
Binary files /dev/null and b/sound/items/handling/helmet/visor_down3.ogg differ
diff --git a/sound/items/handling/helmet/visor_up1.ogg b/sound/items/handling/helmet/visor_up1.ogg
new file mode 100644
index 00000000000..bb498d6d663
Binary files /dev/null and b/sound/items/handling/helmet/visor_up1.ogg differ
diff --git a/sound/items/handling/helmet/visor_up2.ogg b/sound/items/handling/helmet/visor_up2.ogg
new file mode 100644
index 00000000000..ffa485833e3
Binary files /dev/null and b/sound/items/handling/helmet/visor_up2.ogg differ
diff --git a/sound/items/handling/id_card/attribution.txt b/sound/items/handling/id_card/attribution.txt
new file mode 100644
index 00000000000..1bb71cf8f7e
--- /dev/null
+++ b/sound/items/handling/id_card/attribution.txt
@@ -0,0 +1,2 @@
+id_card handling sounds made by sadboysuss
+license: CC-BY-SA
\ No newline at end of file
diff --git a/sound/items/handling/id_card/id_card_drop1.ogg b/sound/items/handling/id_card/id_card_drop1.ogg
new file mode 100644
index 00000000000..81cfbb50e43
Binary files /dev/null and b/sound/items/handling/id_card/id_card_drop1.ogg differ
diff --git a/sound/items/handling/id_card/id_card_pickup1.ogg b/sound/items/handling/id_card/id_card_pickup1.ogg
new file mode 100644
index 00000000000..cbd01a1189f
Binary files /dev/null and b/sound/items/handling/id_card/id_card_pickup1.ogg differ
diff --git a/sound/creatures/cat/attribution.txt b/sound/mobs/non-humanoids/cat/attribution.txt
similarity index 100%
rename from sound/creatures/cat/attribution.txt
rename to sound/mobs/non-humanoids/cat/attribution.txt
diff --git a/sound/creatures/cat/cat_meow1.ogg b/sound/mobs/non-humanoids/cat/cat_meow1.ogg
similarity index 100%
rename from sound/creatures/cat/cat_meow1.ogg
rename to sound/mobs/non-humanoids/cat/cat_meow1.ogg
diff --git a/sound/creatures/cat/cat_meow2.ogg b/sound/mobs/non-humanoids/cat/cat_meow2.ogg
similarity index 100%
rename from sound/creatures/cat/cat_meow2.ogg
rename to sound/mobs/non-humanoids/cat/cat_meow2.ogg
diff --git a/sound/creatures/cat/cat_meow3.ogg b/sound/mobs/non-humanoids/cat/cat_meow3.ogg
similarity index 100%
rename from sound/creatures/cat/cat_meow3.ogg
rename to sound/mobs/non-humanoids/cat/cat_meow3.ogg
diff --git a/sound/creatures/cat/cat_purr1.ogg b/sound/mobs/non-humanoids/cat/cat_purr1.ogg
similarity index 100%
rename from sound/creatures/cat/cat_purr1.ogg
rename to sound/mobs/non-humanoids/cat/cat_purr1.ogg
diff --git a/sound/creatures/cat/cat_purr2.ogg b/sound/mobs/non-humanoids/cat/cat_purr2.ogg
similarity index 100%
rename from sound/creatures/cat/cat_purr2.ogg
rename to sound/mobs/non-humanoids/cat/cat_purr2.ogg
diff --git a/sound/creatures/cat/cat_purr3.ogg b/sound/mobs/non-humanoids/cat/cat_purr3.ogg
similarity index 100%
rename from sound/creatures/cat/cat_purr3.ogg
rename to sound/mobs/non-humanoids/cat/cat_purr3.ogg
diff --git a/sound/creatures/cat/cat_purr4.ogg b/sound/mobs/non-humanoids/cat/cat_purr4.ogg
similarity index 100%
rename from sound/creatures/cat/cat_purr4.ogg
rename to sound/mobs/non-humanoids/cat/cat_purr4.ogg
diff --git a/sound/creatures/cat/oranges_meow1.ogg b/sound/mobs/non-humanoids/cat/oranges_meow1.ogg
similarity index 100%
rename from sound/creatures/cat/oranges_meow1.ogg
rename to sound/mobs/non-humanoids/cat/oranges_meow1.ogg
diff --git a/tgstation.dme b/tgstation.dme
index 0d0b62a9975..bf7268c086c 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1009,6 +1009,7 @@
#include "code\datums\ai\basic_mobs\basic_ai_behaviors\climb_tree.dm"
#include "code\datums\ai\basic_mobs\basic_ai_behaviors\emote_with_target.dm"
#include "code\datums\ai\basic_mobs\basic_ai_behaviors\find_parent.dm"
+#include "code\datums\ai\basic_mobs\basic_ai_behaviors\interact_with_target.dm"
#include "code\datums\ai\basic_mobs\basic_ai_behaviors\nearest_targeting.dm"
#include "code\datums\ai\basic_mobs\basic_ai_behaviors\pick_up_item.dm"
#include "code\datums\ai\basic_mobs\basic_ai_behaviors\pull_target.dm"
@@ -1182,6 +1183,7 @@
#include "code\datums\components\chuunibyou.dm"
#include "code\datums\components\cleaner.dm"
#include "code\datums\components\clickbox.dm"
+#include "code\datums\components\clothing_dirt.dm"
#include "code\datums\components\clothing_fov_visor.dm"
#include "code\datums\components\codeword_hearing.dm"
#include "code\datums\components\combo_attacks.dm"
@@ -1907,6 +1909,8 @@
#include "code\datums\quirks\positive_quirks\alcohol_tolerance.dm"
#include "code\datums\quirks\positive_quirks\apathetic.dm"
#include "code\datums\quirks\positive_quirks\bilingual.dm"
+#include "code\datums\quirks\positive_quirks\chip_connector.dm"
+#include "code\datums\quirks\positive_quirks\chipped.dm"
#include "code\datums\quirks\positive_quirks\clown_enjoyer.dm"
#include "code\datums\quirks\positive_quirks\drunk_healing.dm"
#include "code\datums\quirks\positive_quirks\empath.dm"
@@ -2019,6 +2023,7 @@
#include "code\datums\status_effects\debuffs\stamcrit.dm"
#include "code\datums\status_effects\debuffs\static_vision.dm"
#include "code\datums\status_effects\debuffs\strandling.dm"
+#include "code\datums\status_effects\debuffs\temperature_over_time.dm"
#include "code\datums\status_effects\debuffs\terrified.dm"
#include "code\datums\status_effects\debuffs\tower_of_babel.dm"
#include "code\datums\status_effects\debuffs\tox_vomit.dm"
@@ -3888,6 +3893,7 @@
#include "code\modules\client\preferences\blindfold_color.dm"
#include "code\modules\client\preferences\body_type.dm"
#include "code\modules\client\preferences\broadcast_login_logout.dm"
+#include "code\modules\client\preferences\chipped.dm"
#include "code\modules\client\preferences\clothing.dm"
#include "code\modules\client\preferences\darkened_flash.dm"
#include "code\modules\client\preferences\food_allergy.dm"
@@ -4623,6 +4629,7 @@
#include "code\modules\library\random_books.dm"
#include "code\modules\library\skill_learning\skill_station.dm"
#include "code\modules\library\skill_learning\skillchip.dm"
+#include "code\modules\library\skill_learning\generic_skillchips\acrobatics.dm"
#include "code\modules\library\skill_learning\generic_skillchips\matrix_taunt.dm"
#include "code\modules\library\skill_learning\generic_skillchips\misc.dm"
#include "code\modules\library\skill_learning\generic_skillchips\musical.dm"
@@ -6646,6 +6653,7 @@
#include "modular_nova\master_files\code\game\objects\items\emags.dm"
#include "modular_nova\master_files\code\game\objects\items\hhmirror.dm"
#include "modular_nova\master_files\code\game\objects\items\holy_weapons.dm"
+#include "modular_nova\master_files\code\game\objects\items\kirby_plants.dm"
#include "modular_nova\master_files\code\game\objects\items\oxygen_candle.dm"
#include "modular_nova\master_files\code\game\objects\items\RCD.dm"
#include "modular_nova\master_files\code\game\objects\items\religion.dm"
diff --git a/tgui/packages/tgui/interfaces/BigManipulator.tsx b/tgui/packages/tgui/interfaces/BigManipulator.tsx
index 6a5501b5664..c1419daa3bd 100644
--- a/tgui/packages/tgui/interfaces/BigManipulator.tsx
+++ b/tgui/packages/tgui/interfaces/BigManipulator.tsx
@@ -1,29 +1,123 @@
import { BooleanLike } from 'common/react';
import { useBackend } from '../backend';
-import { Button, Section, Stack } from '../components';
+import { Button, Section, Stack, Table } from '../components';
import { Window } from '../layouts';
type ManipulatorData = {
active: BooleanLike;
+ drop_after_use: BooleanLike;
+ highest_priority: BooleanLike;
+ manipulate_mode: string;
+ settings_list: PrioritySettings[];
+ throw_range: number;
+ item_as_filter: string;
+ selected_type: string;
+};
+
+type PrioritySettings = {
+ name: string;
+ priority_width: number;
};
export const BigManipulator = (props) => {
const { data, act } = useBackend();
- const { active } = data;
+ const {
+ active,
+ manipulate_mode,
+ settings_list,
+ drop_after_use,
+ highest_priority,
+ throw_range,
+ item_as_filter,
+ selected_type,
+ } = data;
return (
-
+
-
-
+
+ }
+ >
+
+
+
+ act('add_filter')}
+ />
+ {manipulate_mode === 'Use' && (
+ act('drop_use_change')}
+ />
+ )}
+ {manipulate_mode === 'Throw' && (
+ act('change_throw_range')}
+ />
+ )}
+
+ {settings_list.length >= 2 && (
+
+ {settings_list.length >= 2 && (
+ act('highest_priority_change')}
+ />
+ )}
+
+ {settings_list.map((setting) => (
+
+
+ {setting.name} {` [priority: ${setting.priority_width}]`}
+ {setting.priority_width >= 2 && (
+
+ act('change_priority', {
+ priority: setting.priority_width,
+ })
+ }
+ />
+ )}
+
+
+ ))}
+
+
+ )}
);
diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/chipped.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/chipped.tsx
new file mode 100644
index 00000000000..ed61233251c
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/chipped.tsx
@@ -0,0 +1,6 @@
+import { FeatureIconnedDropdownInput, FeatureWithIcons } from '../dropdowns';
+
+export const chipped: FeatureWithIcons = {
+ name: 'Chipped',
+ component: FeatureIconnedDropdownInput,
+};
diff --git a/tgui/packages/tgui/interfaces/Uplink/calculateDangerLevel.tsx b/tgui/packages/tgui/interfaces/Uplink/calculateDangerLevel.tsx
index d67dd37391e..2b9dfb98f44 100644
--- a/tgui/packages/tgui/interfaces/Uplink/calculateDangerLevel.tsx
+++ b/tgui/packages/tgui/interfaces/Uplink/calculateDangerLevel.tsx
@@ -70,8 +70,6 @@ export const ranks: Rank[] = [
},
];
-export const dangerDefault = 50 * 600;
-
let lastMinutesThan = -1;
export const dangerLevelsTooltip = (
diff --git a/tgui/packages/tgui/interfaces/Uplink/index.tsx b/tgui/packages/tgui/interfaces/Uplink/index.tsx
index 3ed7d34a214..124d6f3d505 100644
--- a/tgui/packages/tgui/interfaces/Uplink/index.tsx
+++ b/tgui/packages/tgui/interfaces/Uplink/index.tsx
@@ -18,7 +18,6 @@ import { Window } from '../../layouts';
import {
calculateDangerLevel,
calculateProgression,
- dangerDefault,
dangerLevelsTooltip,
} from './calculateDangerLevel';
import { GenericUplink, Item } from './GenericUplink';
@@ -285,101 +284,93 @@ export class Uplink extends Component<{}, UplinkState> {
- {!!has_progression && (
-
-
-
+
+
+
+ {!!has_progression && (
-
- Your current level of threat. Threat
- determines
- {has_objectives
- ? ' the severity of secondary objectives you get and '
- : ' '}
- what items you can purchase.
+ Your current level of threat. Threat
+ determines
+ {has_objectives
+ ? ' the severity of secondary objectives you get and '
+ : ' '}
+ what items you can purchase.
+
+ {/* A minute in deciseconds */}
+ Threat passively increases by{' '}
+
+ {calculateProgression(
+ current_progression_scaling,
+ )}
+
+ every minute
+
+ {Math.abs(progressionPercentage) > 0 && (
- {/* A minute in deciseconds */}
- Threat passively increases by{' '}
-
- {calculateProgression(
- current_progression_scaling,
- )}
+ Because your threat level is
+ {progressionPercentage < 0
+ ? ' ahead '
+ : ' behind '}
+ of where it should be, you are getting
+
+ {progressionPercentage}%
- every minute
+ {progressionPercentage < 0 ? 'less' : 'more'}{' '}
+ threat every minute
- {Math.abs(progressionPercentage) > 0 && (
-
- Because your threat level is
- {progressionPercentage < 0
- ? ' ahead '
- : ' behind '}
- of where it should be, you are getting
-
- {progressionPercentage}%
-
- {progressionPercentage < 0
- ? 'less'
- : 'more'}{' '}
- threat every minute
-
- )}
- {dangerLevelsTooltip}
-
+ )}
+ {dangerLevelsTooltip}
- )) ||
- "Your current threat level. You are a killing machine and don't need to improve your threat level."
+
}
>
- {/* If we have no progression,
- just give them a generic title */}
- {has_progression
- ? calculateDangerLevel(progression_points, false)
- : calculateDangerLevel(dangerDefault, false)}
+ {calculateDangerLevel(progression_points, false)}
-
+ )}
+ {(primary_objectives || has_objectives) && (
+ {primary_objectives && (
+ this.setState({ currentTab: 0 })}
+ >
+ Primary Objectives
+
+ )}
{!!has_objectives && (
- <>
- this.setState({ currentTab: 0 })}
- >
- Primary Objectives
-
- this.setState({ currentTab: 1 })}
- >
- Secondary Objectives
-
- >
+ this.setState({ currentTab: 1 })}
+ >
+ Secondary Objectives
+
)}
{
textOverflow: 'ellipsis',
}}
icon="store"
- selected={currentTab === 2 || !has_objectives}
+ selected={currentTab === 2}
onClick={() => this.setState({ currentTab: 2 })}
>
Market
+ )}
- {!!lockable && (
-
- act('lock')}
- >
- Lock
-
-
- )}
-
-
-
- )}
+ {!!lockable && (
+
+ act('lock')}
+ >
+ Lock
+
+
+ )}
+
+
+
- {(currentTab === 0 && has_objectives && (
+ {(currentTab === 0 && primary_objectives && (
+ /// An that forwards to another .
+ ///
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The value of .
+ sealed class DiscordForwardingResponder(IDiscordResponders targetResponder) : IDiscordResponders
+ {
+ ///
+ /// The to forward the event to.
+ ///
+ readonly IDiscordResponders targetResponder = targetResponder ?? throw new ArgumentNullException(nameof(targetResponder));
+
+ ///
+ public Task RespondAsync(IReady gatewayEvent, CancellationToken ct) => targetResponder.RespondAsync(gatewayEvent, ct);
+ }
+}
diff --git a/tools/Tgstation.DiscordDiscussions/IDiscordResponders.cs b/tools/Tgstation.DiscordDiscussions/IDiscordResponders.cs
new file mode 100644
index 00000000000..41f22d5b6f3
--- /dev/null
+++ b/tools/Tgstation.DiscordDiscussions/IDiscordResponders.cs
@@ -0,0 +1,9 @@
+using Remora.Discord.API.Abstractions.Gateway.Events;
+using Remora.Discord.Gateway.Responders;
+
+namespace Tgstation.DiscordDiscussions
+{
+ internal interface IDiscordResponders : IResponder
+ {
+ }
+}
diff --git a/tools/Tgstation.DiscordDiscussions/Program.cs b/tools/Tgstation.DiscordDiscussions/Program.cs
new file mode 100644
index 00000000000..1989ef61450
--- /dev/null
+++ b/tools/Tgstation.DiscordDiscussions/Program.cs
@@ -0,0 +1,307 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading;
+using System.Threading.Tasks;
+
+using Microsoft.Extensions.DependencyInjection;
+
+using Octokit;
+
+using Remora.Discord.API.Abstractions.Gateway.Events;
+using Remora.Discord.API.Abstractions.Objects;
+using Remora.Discord.API.Abstractions.Rest;
+using Remora.Discord.API.Objects;
+using Remora.Discord.Gateway;
+using Remora.Discord.Gateway.Extensions;
+using Remora.Rest.Core;
+using Remora.Rest.Results;
+using Remora.Results;
+
+namespace Tgstation.DiscordDiscussions
+{
+ public sealed partial class Program : IDiscordResponders
+ {
+ const bool LockPullRequest = true;
+ const int InitSlowModeSeconds = 60;
+
+ [GeneratedRegex(@"https://discord.com/channels/[0-9]+/([0-9]+)")]
+ private static partial Regex ChannelLinkRegex();
+
+ readonly TaskCompletionSource gatewayReadyTcs;
+
+ public static Task Main(string[] args)
+ => new Program().RunAsync(args);
+
+ ///
+ /// Converts a given into a log entry .
+ ///
+ /// The to convert.
+ /// Used internally for nesting.
+ /// The formatted .
+ static string LogFormat(IResult result, uint level = 0)
+ {
+ ArgumentNullException.ThrowIfNull(result);
+
+ if (result.IsSuccess)
+ return "SUCCESS?";
+
+ var stringBuilder = new StringBuilder();
+ if (result.Error != null)
+ {
+ stringBuilder.Append(result.Error.Message);
+ if (result.Error is RestResultError restError)
+ {
+ stringBuilder.Append(" (");
+ if (restError.Error != null)
+ {
+ stringBuilder.Append(restError.Error.Code);
+ stringBuilder.Append(": ");
+ stringBuilder.Append(restError.Error.Message);
+ stringBuilder.Append('|');
+ }
+
+ stringBuilder.Append(restError.Message);
+ if ((restError.Error?.Errors.HasValue ?? false) && restError.Error.Errors.Value.Count > 0)
+ {
+ stringBuilder.Append(" (");
+ foreach (var error in restError.Error.Errors.Value)
+ {
+ stringBuilder.Append(error.Key);
+ stringBuilder.Append(':');
+ if (error.Value.IsT0)
+ {
+ FormatErrorDetails(error.Value.AsT0, stringBuilder);
+ }
+ else
+ FormatErrorDetails(error.Value.AsT1, stringBuilder);
+ stringBuilder.Append(',');
+ }
+
+ stringBuilder.Remove(stringBuilder.Length - 1, 1);
+ }
+
+ stringBuilder.Append(')');
+ }
+ }
+
+ if (result.Inner != null)
+ {
+ stringBuilder.Append(Environment.NewLine);
+ ++level;
+ for (var i = 0; i < level; ++i)
+ stringBuilder.Append('\t');
+ stringBuilder.Append(LogFormat(result.Inner, level));
+ }
+
+ return stringBuilder.ToString();
+ }
+
+ ///
+ /// Formats given into a given .
+ ///
+ /// The .
+ /// The to mutate.
+ static void FormatErrorDetails(IPropertyErrorDetails propertyErrorDetails, StringBuilder stringBuilder)
+ {
+ if (propertyErrorDetails == null)
+ return;
+
+ FormatErrorDetails(propertyErrorDetails.Errors, stringBuilder);
+
+ if (propertyErrorDetails.Errors != null && propertyErrorDetails.MemberErrors != null)
+ {
+ stringBuilder.Append(',');
+ }
+
+ if (propertyErrorDetails.MemberErrors != null)
+ {
+ stringBuilder.Append('{');
+ foreach (var error in propertyErrorDetails.MemberErrors)
+ {
+ stringBuilder.Append(error.Key);
+ stringBuilder.Append(':');
+ FormatErrorDetails(error.Value, stringBuilder);
+ stringBuilder.Append(',');
+ }
+
+ stringBuilder.Remove(stringBuilder.Length - 1, 1);
+ stringBuilder.Append('}');
+ }
+ }
+
+ ///
+ /// Formats given into a given .
+ ///
+ /// The of .
+ /// The to mutate.
+ static void FormatErrorDetails(IEnumerable? errorDetails, StringBuilder stringBuilder)
+ {
+ if (errorDetails == null)
+ return;
+
+ stringBuilder.Append('[');
+ foreach (var error in errorDetails)
+ {
+ stringBuilder.Append(error.Code);
+ stringBuilder.Append(':');
+ stringBuilder.Append(error.Message);
+ stringBuilder.Append(',');
+ }
+
+ stringBuilder.Remove(stringBuilder.Length - 1, 1);
+ stringBuilder.Append(']');
+ }
+
+ Program()
+ {
+ gatewayReadyTcs = new TaskCompletionSource();
+ }
+
+ async Task RunAsync(string[] args)
+ {
+ try
+ {
+ var gitHubToken = args[0];
+ var repoOwner = args[1];
+ var repoName = args[2];
+ var prNumber = Int32.Parse(args[3]);
+ var state = Enum.Parse(args[4]);
+ var discordToken = args[5];
+ var discussionsChannelId = UInt64.Parse(args[6]);
+ var isReopen = Boolean.Parse(args[7]);
+ var joinLink = args.Length > 8 ? args[8] : null;
+
+ var prTitle = Environment.GetEnvironmentVariable("GITHUB_PULL_REQUEST_TITLE");
+
+ var gitHubClient = new GitHubClient(new ProductHeaderValue("Tgstation.DiscordDiscussions"))
+ {
+ Credentials = new Credentials(gitHubToken),
+ };
+
+ const string GitHubCommentPrefix = "Maintainers have requested non-technical related discussion regarding this pull request be moved to the Discord.";
+
+ async ValueTask FindThreadID()
+ {
+ var comments = await gitHubClient.Issue.Comment.GetAllForIssue(repoOwner, repoName, prNumber);
+
+ var commentInQuestion = comments.FirstOrDefault(comment => comment.Body.StartsWith(GitHubCommentPrefix));
+ if (commentInQuestion == null)
+ return null;
+
+ // https://discord.com/channels//
+ var threadId = UInt64.Parse(ChannelLinkRegex().Match(commentInQuestion.Body).Groups[1].Value);
+ return threadId;
+ }
+
+ var threadIdTask = FindThreadID();
+
+ await using var serviceProvider = new ServiceCollection()
+ .AddDiscordGateway(serviceProvider => discordToken)
+ .AddSingleton(serviceProvider => (IDiscordResponders)this)
+ .AddResponder()
+ .BuildServiceProvider();
+
+ var gatewayClient = serviceProvider.GetRequiredService();
+ using var gatewayCts = new CancellationTokenSource();
+ var localGatewayTask = gatewayClient.RunAsync(gatewayCts.Token);
+ try
+ {
+ await gatewayReadyTcs.Task.WaitAsync(TimeSpan.FromMinutes(5));
+
+ var prLink = $"https://github.com/{repoOwner}/{repoName}/pull/{prNumber}";
+ var messageContent = $"#{prNumber} - {prTitle}";
+
+ var channelsClient = serviceProvider.GetRequiredService();
+
+ var channelId = new Snowflake(discussionsChannelId);
+
+ var threadId = await threadIdTask;
+ Snowflake messageId;
+ if (!threadId.HasValue)
+ {
+ var channel = await channelsClient.GetChannelAsync(channelId);
+ if (!channel.IsSuccess)
+ throw new Exception(LogFormat(channel));
+
+ var threadMessage = await channelsClient.StartThreadInForumChannelAsync(channelId, messageContent, AutoArchiveDuration.Week, InitSlowModeSeconds, $"Maintainers have requested that discussion for [this pull request]({prLink}) be moved here.");
+ if (!threadMessage.IsSuccess)
+ throw new Exception(LogFormat(threadMessage));
+
+ messageId = threadMessage.Entity.ID;
+
+ var gitHubComment = $"{GitHubCommentPrefix}\nClick [here](https://discord.com/channels/{channel.Entity.GuildID.Value}/{messageId.Value}) to view the discussion.";
+ if (joinLink != null)
+ gitHubComment += $"\nClick [here]({joinLink}) to join the Discord!";
+
+ await gitHubClient.Issue.Comment.Create(repoOwner, repoName, prNumber, gitHubComment);
+ }
+ else
+ {
+ messageId = new Snowflake(threadId.Value);
+
+ // open/close thread
+ if (state != PullRequestState.open)
+ {
+ var archiveMessage = await channelsClient.CreateMessageAsync(messageId, $"The associated pull request for this thread has been {state.ToString().ToLowerInvariant()}. This thread will now be archived.");
+ if (!archiveMessage.IsSuccess)
+ throw new Exception(LogFormat(archiveMessage));
+
+ var archiveAction = await channelsClient.ModifyThreadChannelAsync(messageId, messageContent, autoArchiveDuration: AutoArchiveDuration.Hour, isArchived: true);
+ if (!archiveAction.IsSuccess)
+ throw new Exception(LogFormat(archiveAction));
+ }
+ else if (isReopen)
+ {
+ var unarchiveMessage = await channelsClient.CreateMessageAsync(messageId, "The associated pull request for this thread has been reopened. This thread will now be reopened.");
+ if (!unarchiveMessage.IsSuccess)
+ throw new Exception(LogFormat(unarchiveMessage));
+
+ var unarchiveAction = await channelsClient.ModifyThreadChannelAsync(messageId, messageContent, autoArchiveDuration: AutoArchiveDuration.Week, isArchived: false);
+ if (!unarchiveMessage.IsSuccess)
+ throw new Exception(LogFormat(unarchiveMessage));
+ }
+ else
+ {
+ var response = await channelsClient.ModifyThreadChannelAsync(messageId, messageContent);
+ if (!response.IsSuccess)
+ throw new Exception(LogFormat(response));
+ }
+ }
+
+ // ensure the PR is locked
+ if (LockPullRequest)
+ {
+ await gitHubClient.PullRequest.LockUnlock.Lock(repoOwner, repoName, prNumber);
+ }
+
+ return 0;
+ }
+ finally
+ {
+ gatewayCts.Cancel();
+ try
+ {
+ await localGatewayTask.WaitAsync(TimeSpan.FromSeconds(10));
+ }
+ catch (OperationCanceledException)
+ {
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine(ex.ToString());
+ return 1;
+ }
+ }
+
+ public Task RespondAsync(IReady gatewayEvent, CancellationToken ct = default)
+ {
+ gatewayReadyTcs.TrySetResult();
+ return Task.FromResult(Result.FromSuccess());
+ }
+ }
+}
diff --git a/tools/Tgstation.DiscordDiscussions/PullRequestState.cs b/tools/Tgstation.DiscordDiscussions/PullRequestState.cs
new file mode 100644
index 00000000000..1420d3a4e9f
--- /dev/null
+++ b/tools/Tgstation.DiscordDiscussions/PullRequestState.cs
@@ -0,0 +1,9 @@
+namespace Tgstation.DiscordDiscussions
+{
+ enum PullRequestState
+ {
+ closed,
+ open,
+ merged
+ }
+}
diff --git a/tools/Tgstation.DiscordDiscussions/Tgstation.DiscordDiscussions.csproj b/tools/Tgstation.DiscordDiscussions/Tgstation.DiscordDiscussions.csproj
new file mode 100644
index 00000000000..8f8fa8d2f58
--- /dev/null
+++ b/tools/Tgstation.DiscordDiscussions/Tgstation.DiscordDiscussions.csproj
@@ -0,0 +1,14 @@
+
+
+
+ Exe
+ net8.0
+ enable
+
+
+
+
+
+
+
+
diff --git a/tools/Tgstation.DiscordDiscussions/Tgstation.DiscordDiscussions.sln b/tools/Tgstation.DiscordDiscussions/Tgstation.DiscordDiscussions.sln
new file mode 100644
index 00000000000..978f2901c3c
--- /dev/null
+++ b/tools/Tgstation.DiscordDiscussions/Tgstation.DiscordDiscussions.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.9.34728.123
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tgstation.DiscordDiscussions", "Tgstation.DiscordDiscussions.csproj", "{345EAB82-40E0-4F20-A4A6-8052CB8D1A01}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {345EAB82-40E0-4F20-A4A6-8052CB8D1A01}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {345EAB82-40E0-4F20-A4A6-8052CB8D1A01}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {345EAB82-40E0-4F20-A4A6-8052CB8D1A01}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {345EAB82-40E0-4F20-A4A6-8052CB8D1A01}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {CBA935A0-8BBA-40CB-BC53-C339683858F4}
+ EndGlobalSection
+EndGlobal
diff --git a/tools/WebhookProcessor/github_webhook_processor.php b/tools/WebhookProcessor/github_webhook_processor.php
index 716000a6cca..b2a530066ed 100644
--- a/tools/WebhookProcessor/github_webhook_processor.php
+++ b/tools/WebhookProcessor/github_webhook_processor.php
@@ -396,13 +396,13 @@ function handle_pr($payload) {
$repo_name = $payload['repository']['name'];
- if (in_array($repo_name, $game_announce_whitelist)) {
- game_announce($action, $payload, $pr_flags);
- }
-
if (!is_blacklisted($discord_announce_blacklist, $repo_name)) {
discord_announce($action, $payload, $pr_flags);
}
+
+ if (in_array($repo_name, $game_announce_whitelist)) {
+ game_announce($action, $payload, $pr_flags);
+ }
}
function filter_announce_targets($targets, $owner, $repo, $action, $pr_flags) {
@@ -491,10 +491,15 @@ function game_announce($action, $payload, $pr_flags) {
$msg = '?announce='.urlencode($msg).'&payload='.urlencode(json_encode($game_payload));
foreach ($game_servers as $serverid => $server) {
- $server_message = $msg;
- if (isset($server['comskey']))
- $server_message .= '&key='.urlencode($server['comskey']);
- game_server_send($server['address'], $server['port'], $server_message);
+ try {
+ $server_message = $msg;
+ if (isset($server['comskey']))
+ $server_message .= '&key='.urlencode($server['comskey']);
+ game_server_send($server['address'], $server['port'], $server_message);
+ } catch (exception $e) {
+ log_error('Error on line ' . $e->getLine() . ': ' . $e->getMessage());
+ continue;
+ }
}
}
diff --git a/tools/ci/check_grep.sh b/tools/ci/check_grep.sh
index 8a2b715502f..05718cfccd8 100644
--- a/tools/ci/check_grep.sh
+++ b/tools/ci/check_grep.sh
@@ -140,6 +140,13 @@ if $grep '^/[\w/]\S+\(.*(var/|, ?var/.*).*\)' $code_files; then
st=1
fi;
+part "improperly pathed static lists"
+if $grep -i 'var/list/static/.*' $code_files; then
+ echo
+ echo -e "${RED}ERROR: Found incorrect static list definition 'var/list/static/', it should be 'var/static/list/' instead.${NC}"
+ st=1
+fi;
+
part "can_perform_action argument check"
if $grep 'can_perform_action\(\s*\)' $code_files; then
echo