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('on')} /> - + } + > + +
+ {settings_list.length >= 2 && ( +
+ {settings_list.length >= 2 && ( +
+ )} ); 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 && ( - - - - )} - -
-
- )} + {!!lockable && ( + + + + )} +
+
+
- {(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